当前位置: 首页 > wzjs >正文

大酒店网站源代码常见软件开发模型有哪些

大酒店网站源代码,常见软件开发模型有哪些,稳定的网站制作需要多少钱,做本地网站卖在软件开发领域,加壳保护是一种常见的安全手段,用于防止程序被逆向分析。然而,当程序崩溃时,开发人员需要定位原始错误位置,这就与加壳保护产生了天然的矛盾。本文将从加壳原理出发,为大家介绍兼容调试的解…

在软件开发领域,加壳保护是一种常见的安全手段,用于防止程序被逆向分析。然而,当程序崩溃时,开发人员需要定位原始错误位置,这就与加壳保护产生了天然的矛盾。本文将从加壳原理出发,为大家介绍兼容调试的解决方案。

一、加壳的基本功能

1. 加密 / 压缩

加壳最常见的功能就是对程序的整个代码段和数据段进行压缩或加密。这样做的目的是防止静态反编译,但在程序运行过程中,代码段和数据段是明文状态,所以不会对调试造成影响。

2. 混淆和虚拟化

与加密不同,混淆和虚拟化会对程序代码进行不可逆的变换。在程序运行时,不会存在原始的机器指令。如果程序在运行过程中崩溃的位置恰好是在混淆或虚拟化后的指令处,就无法直接定位到具体的代码位置。不过,混淆和虚拟化后的指令一般不会影响栈回溯,通过栈回溯可以得到上游函数的调用点,再配合调试信息就能获取基本的函数信息。

3. 反调试

反调试功能可以在程序运行过程中检测调试器的状态。如果对进程附加调试,会受到该功能的影响,但它并不影响内存转储(dump/core 文件的生成)。

二、程序的调试信息

为了方便排查运行时错误,操作系统和编译器都设计了相应的内存转储机制和对应的程序调试信息,不同操作系统的情况如下:

需要注意的是,程序对外发布时,应剥离调试信息,否则会存在安全性问题。将调试信息保留在开发环境中,便于后续的错误排除工作。

三、程序加壳后如何生成调试信息

1. Windows 程序处理方案

对于 Windows 程序(PE 格式),调试信息位于单独的 pdb 文件 中。加壳后,程序中的函数入口不会受到影响,pdb 文件仍然有效,无需再做额外处理。

2. Linux/Android 程序处理方案

对于 Linux/Android 程序(ELF 格式),调试信息位于 ELF Section 中,可以按照以下步骤处理:

#加壳保护,并保留调试信息
virboxprotector_con <file_path> <options..> --strip-dbginfo=0 -o <protected_file_with_dbginfo>#对加壳保护后带有调试信息的文件 strip
virboxprotector_con -strip <protected_file_with_dbginfo> -o <protected_file>

按照以上命令操作,可以得到 <protected_file> 用于发布,将 <protected_file_with_dbginfo> 保留用作调试。

3. macOS/iOS 程序处理方案

调试信息位于 dSYM 文件

如果 macOS 程序(Mach - O 格式)的调试信息位于 dSYM 文件中,需要将 dSYM 与原程序放在一起,并按如下方式处理:

# 直接对程序保护,在输出目录会生成新的 dSYM 文件。
virboxprotector_con <file_path> -o <protected_file>
调试信息位于符号表

若调试信息位于符号表,需按如下步骤处理:

#加壳保护,并保留调试信息
virboxprotector_con <file_path> <options...> --strip-dbginfo=0 -o <protected_file_with_dbginfo>#对加壳保护后带有调试信息的文件 strip
virboxprotector_con -strip <protected_file_with_dbginfo> -o <protected_file>#使用dsymutil 进一步生成 dSYM(可选)
dsymutil <protected_file_with_dbginfo> -o <dsym_file>

同样,将生成的 <protected_file> 用于发布, <protected_file_with_dbginfo>dSYM 文件 保留用作调试。

通过以上方法,开发人员可以在为程序提供加壳保护的同时,也能方便地进行调试工作,有效平衡了程序的安全性和可调试性。


文章转载自:

http://ut5Y5hQ0.pfggj.cn
http://5eqgenVT.pfggj.cn
http://XgcQBsjU.pfggj.cn
http://Iev9MeFG.pfggj.cn
http://FNWwJCQN.pfggj.cn
http://BeLsTez3.pfggj.cn
http://n7ChIK7F.pfggj.cn
http://Cp6cu4bl.pfggj.cn
http://8vk7LBd0.pfggj.cn
http://JuWvp5pt.pfggj.cn
http://uv2iQO7B.pfggj.cn
http://4voZdCoC.pfggj.cn
http://JFCoGBS4.pfggj.cn
http://QtuEeg4s.pfggj.cn
http://EhfVmgS3.pfggj.cn
http://ildJD73m.pfggj.cn
http://NKfcf7Nt.pfggj.cn
http://wX0Ku8VG.pfggj.cn
http://lD4Tjjkk.pfggj.cn
http://FfeKC7zO.pfggj.cn
http://gCJz15cM.pfggj.cn
http://KvNchKgo.pfggj.cn
http://8ToT82hJ.pfggj.cn
http://nTcCrS1W.pfggj.cn
http://cRC6fbgR.pfggj.cn
http://ryhbfuxq.pfggj.cn
http://zhT4wCKM.pfggj.cn
http://DKdnuAUs.pfggj.cn
http://VnZQainp.pfggj.cn
http://sBZG2EBy.pfggj.cn
http://www.dtcms.com/wzjs/670541.html

相关文章:

  • 黄石本地做网站的集团公司网站源码php
  • 域名注册网站查询闵行网站开发
  • 英文旅游网站建设wordpress首页不显示
  • 个人主页网站视频网站 阿里云
  • dede网站模板页在什么文件夹宁波网站制作公司哪家好
  • 五合一营销型网站找外包做网站不给代码
  • 佛山 做网站公司网站备案 上线
  • 南充免费推广网站wordpress问答模块
  • joomla 网站建设做网站公司的介绍
  • 168网站建设成都电商网站制作
  • 网站在百度无法验证码怎么办智能建站公司
  • 河南高端网站建设公司aws wordpress ssl
  • 做酒店网站设计常见的微信营销方式有哪些
  • 钢材销售网站建设四川新正路桥建设工程有限公司网站
  • 跨境自建站模板做设计一般在那个网站找图
  • 齐河专业企业网站建设网站按钮特效
  • 做网站服务器 自己电脑还是租简述建设一个网站的具体步骤
  • 上传网站数据库吗腰膝酸软乏力是肾阴虚还是肾阳虚
  • 深圳市做物流网站网站建设工作自查报告
  • 公司网站建设包括wordpress文章编辑页面
  • 微信公众号网站开发语言php网站内容管理系统
  • 牡丹江做网站如何利用div做网站
  • 凡科建站怎样建站中站怎么设计网站页面
  • 网站备案 备注汉庭酒店网站建设方案
  • 网站品牌建设功能网页图片尺寸多大合适
  • 安卓网站建站系统营口网站seo
  • 镇江房产网站建设做企业网站服务商
  • 广州网站备案要求win7 建设网站服务器
  • 特价网站建设价格低云服务器搭建wordpress
  • 哪些网站是php深圳公司注册地址