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

HarmonyOS SDK使能美团高效开发,打造优质创新应用体验

泊仁烟汾壳的定义

“壳”的具象理解就类似花生壳,用来保护里面的花生仁。人想吃到里面果实,就需要将其剥掉。

软件也存在这样类似的东西,这种东西我们也称之为“壳”,两者的目标都是一样的,都是用来保护,而“壳”用来保护可执行程序资源,避免被其他人窥探和篡改,但是壳又不会改变或影响原程序的功能。

壳根据加密和非加密的技术手段来作分类,一般分为两类:

压缩壳(非加密)

加密壳

无论哪种技术手段,加壳的流程都是大致是相同的。我们给自身软件加壳后,就会产生出一个新程序,新程序是由壳和原程序两部分组成。

系统在执行这个新程序的时候,先去执行壳程序,由壳对原程序进行解压(或解密)并还原到内存中去,系统将正常执行原来的程序。

由此,了解的壳的定义:

新程序(已加壳) = 壳程序 + 加壳流程 + 原程序

加壳原理

开发人员对原程序加壳的工作流程(加壳原理):

压缩/加密:对原始程序的代码段、数据段等关键部分进行压缩或加密,使其变成一堆“乱码”。

植入外壳:生成一个外壳程序,并将加密/压缩后的原始程序数据作为一部分附加在这个外壳程序后面。

修改入口点:修改生成的可执行文件的“程序入口点”(OEP, Original Entry Point),使其指向外壳程序的代码,而不是原始程序的代码。

image

加壳后的程序,在系统里的执行流程:

用户双击启动加壳后的程序。

操作系统加载器将程序读入内存。此时,内存中的代码是外壳的代码,原始程序部分仍是加密/压缩状态。

CPU 开始执行外壳代码。

外壳程序开始工作:

检查自身是否被调试。

解密 或 解压缩 内存中的原始程序数据。

进行必要的环境修复(如重建导入表)。

外壳程序将 CPU 的执行流跳转到原始程序的真正入口点(OEP)。

至此,原始程序开始正常运行,和执行原程序一样效果。

脱壳原理

理解了加壳后,脱壳就很好理解了,就是逆回来操作一次。

什么是脱壳?

摘掉壳程序,将加密/压缩后可执行文件还原出来。

脱壳的基本原理:

脱壳的核心思想是 “内存转储”。因为无论外壳多么复杂(加密多完好),它最终都必须在内存中将原始程序完整地、可执行地还原出来。 脱壳就是要抓住这个瞬间。

脱壳的方法:

image

对抗与演进

加壳与脱壳就像是一场永无休止的“军备竞赛”。

壳的进化:出现了 VMProtect、Themida 等“强壳”。它们使用虚拟机保护技术,将原始代码翻译成自定义的指令集,极大地增加了分析和脱壳的难度。

脱壳技术的进化:出现了自动脱壳机、脚本、以及更高级的动态和静态分析技术,专门研究反虚拟机保护技术的人员。

http://www.dtcms.com/a/598375.html

相关文章:

  • 河北公司网站建设效果网站整合discuz论坛
  • 沈阳网站建设哪里的公司比较好厦门市建设工程造价网
  • 插值——拉格朗日插值
  • 马鞍山集团网站设计国外免费ip地址和密码
  • ps做汽车网站下载长沙圭塘网站建设公司
  • AJAX和Promise
  • 直播网站建设费用腾讯云域名控制台
  • 山东兴润建设集团网站ps设计网站步骤
  • 广州网站 制作信科便宜seo就业
  • 基于ENAS与YOLOv8的草莓成熟度自动检测系统:原理、实现与性能优化(含详细代码)
  • 内网横向靶场——记录一次横向渗透(三)
  • 兰州电商平台网站建设设备外观设计效果图
  • 【XR开发系列】Unity下载与安装详细教程(UnityHub、Unity)
  • 深度学习——参数优化
  • 网站排名优化外包公司有限公司怎么纳税
  • Simulink 基础模块使用
  • 叫人做网站多少钱怎么根据视频链接找到网址
  • [论文阅读] 生成式人工智能嵌入对公众职业安全感冲击的影响机理及防范对策
  • 双桥区网站制作页面升访请广大狼
  • 余弦退火策略
  • Linux 网络:邻居子系统
  • 招聘网站开发成本揭阳网站设计公司
  • 网站建设三网合一指的是什么意思军队营房基础建设网站
  • Python教学基础:用Python和openpyxl结合Word模板域写入数据-由Deepseek产生
  • 保姆级CHARLS数据库使用教程
  • 光辉网站建设公司河南郑州建设网站
  • 如何使用 Gitblit 内置的 GitLFS 存储大文件
  • 网站开发公司 商业计划书信息流投放平台
  • [论文阅读] 软件工程 | 解决Java项目痛点:DepUpdater如何平衡依赖升级的“快”与“稳”
  • 建设一个网站需要多少钱青岛做网站eoe