ASPack脱壳用法介绍(手工脱壳之AsPack压缩脱壳)

一、ASPack概述

ASPack是一种代码压缩工具,其可将PE文件进行压缩并加入解压部分,以方便在网络上传输和保护代码。

ASPack压缩后的文件大小通常可以缩小30%~70%,这极大地方便了软件的发布和传输。

ASPack脱壳是一种对加壳程序进行逆向分析的过程,我们通过该过程可以还原加密后的程序。

二、ASPack脱壳原理

ASPack脱壳的基本原理是,利用反汇编调试工具,寻找ASPack添加的代码,以及还原应用程序中的代码和数据。

ASPack在生成的压缩文件中,会添加部分代码,其中包括解压器,压缩算法等信息,这些信息可以通过反汇编工具查看。

利用反汇编工具还原原始程序需要对代码进行反汇编、分析、转换、重组等操作,可以通过手动脱壳或使用脱壳程序完成。

三、ASPack脱壳工具

ASPack脱壳工具分为手动脱壳和自动脱壳两种方式。

1、手动脱壳

手动脱壳是利用调试器反汇编、分析原始程序和去除ASPack添加信息的过程。

手动脱壳步骤如下:

1. 打开ASPack压缩文件,启动调试器;
2. 解压缩程序,找到ASPack的代码和挂起程序;
3. 列举程序运行状态,确定解压缩代码地址;
4. 通过调试器打开ASPack代码,查找解压代码;
5. 修改程序,去掉ASPack添加的执行代码;
6. 保存程序并测试。

2、自动脱壳

自动脱壳是利用编写的脱壳程序,通过分析ASPack添加信息并去除,以达到还原原始程序的过程。

常见的ASPack自动脱壳工具有如下。

1. UnASPack

UnASPack是一款免费的ASPack脱壳工具,其使用很简单,只需要打开要脱壳的ASPack程序,然后选择脱壳选项,选择保存路径即可。

使用 UnASPack 进行脱壳时,需要注意以下几点:

  • 程序解压后,需要手动对其进行调试或反汇编操作。
  • UnASPack 脱壳时需要根据不同的 PE 文件类型进行调整选项,才能够正确还原。
  • 某些修改过 PE 格式的文件,可能无法被 UnASPack 处理。

2. ASPack Die

ASPack Die 是一款基于 OllyDBG 的插件,支持反编译和脱壳 ASPack 压缩的程序。

ASPack Die 可以实现自动脱壳,但对于某些复杂的程序需要进行手动调试。

四、ASPack反调试与反脱壳技术

ASPack为防止逆向分析,会对程序进行反调试和反脱壳处理。

1、反调试处理

ASPack反调试技术主要是通过以下方法实现:

  • 检查系统调试器的存在
  • 判断IDA等反汇编工具的存在
  • 禁止程序被附加到进程中

2、反脱壳处理

ASPack反脱壳技术主要是通过以下方法实现:

  • 隐藏程序解压缩代码
  • 使用多种压缩算法
  • 在代码中使用反反汇编技术,加大反向工程难度

五、小结

ASPack虽然可以简化软件的发布和传输,但同时也给软件加壳、脱壳过程增加了难度。通过本文的介绍,我们可以更好地了解ASPack及其脱壳过程,同时应该学会对抗ASPack反调试与反脱壳技术。在使用ASPack时应保持谨慎,以免给程序留下后门。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平