软件脱壳

本文深入探讨了软件加壳与脱壳的过程,包括如何使用侦壳软件识别加壳,选择合适的脱壳工具,解析汇编代码,以及通过修改指令实现破解。重点介绍了PEExplorer、W32Dasm等实用工具在软件逆向工程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件为了保护自身的一些著作信息版权什么的,进行加密 或者压缩都算是软件加壳

软件脱壳就是软件加壳的逆过程。

1、侦察软件是否加壳。需要下载侦壳的软件,比如language。exe侦壳软件,得出用的是什么软件加壳的,然后用脱壳软件进行脱壳

2、运行脱壳之后的软件,进行注册,输入错误的注册吗之后记录下相关的提示信息,然后对脱壳后的软件进行反汇编。比如W32Dasm反汇编软件。

3、在反汇编软件中进行串式参考,找到注册错误的提示信息中文对应的汇编代码。

4、对这段汇编代码进行分析,采用比如如下的思路:

     1.修改为jmp
                 je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
     2.修改为nop
                  je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。

5、记录相应需要修改的地址,然后在十六进制编辑器中进行修改,uitraledit或者winhex编辑器。应用程序的逻辑地址修改后,保存程序,然后运行,注册则成功。那么表示破解成功。



这里介绍下:
PE Explorer是一个强大的程序资源编辑工具,可以直接查看、修改软件的资源,包括菜单、对话框、字符串表等;另外,还具备有 W32DASM 软件的反编译能力和 PEditor 软件的PE文件头编辑功能;该软件支持插件,你可以通过不断的增加插件加强该软件的功能,还有很多实用的功能。 PE Explorer可以汉化软件!!!!!
一.脱壳机名字的由来 skylly's CoolDumpper,借用了看雪论坛里高人某个让人流口水的工具的名字 界面也是盗版的CoolDumpper,不过本人盗版技术不高,做成了个四不像~~ 二.脱壳机的原理 由以下几大要部分组成, 1.功能. 完全拷贝自看雪论坛“任平生”的代码 2.Dummpper(进程转存) 初期,完全拷贝自lenus的lenus's Dummper代码, 现在为了适应脱壳的需要,发现原来的代码对非标准格式的PE文件的处理有些小问题, 所以代码基本都重写过了,但是基本处理步骤还是一致的,外表上看不出来 3.cooldebugger plugin(调试插件) 完全自主开发的插件,说是调试器其实没有用调试,而是注入,然后进行一些最简单的内存操作,没有 什么技术含量,可以完美躲过调试器检测的,对于内存检验比较强的可能不是很好用。 4.真正意义上的调试器 用最简单的调试API做的一个具有基本功能的调试器,目前还不能用于脱壳,只是一个玩具,为了将来扩展用的。 但是hook api始终不是很妥当,总会让有机可乘,以后可能会考虑加入驱动,驱动最让我不放心的是它的稳定性。 三,关于源码 由于还在开发中,暂不开源(主要是怕被人拿去篡改,反而让人以为他是正宗,我是盗版) 等到我不再开发时,会开放全部源代码,技术这东西,共享才是王道。 四。使用说明。 我想不用说太多了吧,选择目标文件后(支持拖放),再选择对应的插件,再点击脱壳按钮就可以了。可以说是接近傻瓜化了... 几个子功能说明: 详细日志:是调试器用的 PE标准化:是对某些被改得乱七八糟的(如upack)进行简单的PE修复 移除自校验:这个功能可以说是没有设计好,不同的自检验的地方不一样, 所以处理也应该不一样,可按照现有的工作模式又不可能把它做到plugin(插件)里面去, 但是,总之我会加进去的。 第x次调用API中断:这个功能是从CoolDumpper那儿抄袭界面遗留下来的,光有界面,未实现功能,将来如果有自动脱壳搞不定 的时,可能可以把这个地方扩展成手动脱壳。 OEP输入框和IAT输入框:功能已经弱化,由脱壳插件自动完成。 纠正映象大小:功能已经弱化,已经由dumpper自动完成。 五。关于private版本. 由于种种原因,不再发布public版本,仅作为私下交流之用。 所谓私下交流,可以算一种"精华"门槛吧. 1.看雪论坛或者一蓑烟雨,30精以上的朋友(高手)或者500帖以上的朋友(超级水牛),或者30贴以内且精华率在1/3以上的(超级高手)随时可以向我索要最新版。不过我相信高手们只会把我这个东西当玩具玩玩而已。 2.在使用这个脱壳机过程中遇到比较严重的问题或者不能脱的,可以来E-mail和我交流,欢迎技术交流,谢绝任何形式的脱壳请求, 因为我只是个菜鸟。对于有价值的来信,我会酌情回复最新版脱壳机。 得到这个脱壳机的人,任由其处置。 六。开发目标 开发常见压缩和加密的插件并实现自动脱壳。 压缩插件做十个左右,加密插件做二十个左右。 压缩插件: upx, upack, aspack, nspack, mew, hmimys, pecompact, expressor, fsg, kbys, packman, PEncrypt (已经基本完成。) 加密插件:(还没想好,暂定, 刚刚开始开发) pe-armor, armadillo, aspr, acpr, telcok, execrypt, pelock, pc-guard, morphine, safedisc, themida, enigma, obsidium, starforce, yoda_s_cryptor, epe, pespin, svkp, sdp.............. 预估主程序最终版本版本号:2.0 预估所有插件最终版本号:0.3 已知bug: 1.由于修复输入表是用的ImpRec.dll这个动态链接库,我没有源码,它在处理某些IAT不连续的程序时,获取的IAT的大小有问题,所以暂时还没 有解决方案来对付,等我复习好输入表结构,以后脱壳机就自己来重建输入表了,呵呵。 2.无法对付多层. 3.处理自校验有问题,请不要随便选中,否则后果自负 现在发布的这个版本仅仅代表了一个脱壳机的起步阶段,当玩具吧。
一款通用的软件脱壳,工具。 UPX 是一款先进的可执行程序文件压缩器 压缩过的可执行文件体积缩小50%-70% 这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过 UPX 压缩过的程序和程序库完全没有功能损失 和压缩之前一样可正常地运行 对于支持的大多数格式没有运行时间或内存的不利后果。 UPX 支持许多不同的可执行文件格式 包含 Windows 95/98/ME/NT/2000/XP/CE 程序和动态链接库、 DOS 程序、 Linux 可执行文件和核心。 upx.exe.eng 为原版的文件 upx.exe 为汉化过的文件。 另:添加了我自己写的 UPXShell, 使用 Visual FoxPRO 6 写的(没办法, 谁叫我只会用它?!) 功能有限, 希望大家... (紧张地看了一下四周, 害怕砖块如暴雨梨花针般地飞至, 赶紧逃得无影无踪...回声中: ) 多多支持和包涵...... 安装说明: 直接解压到任意目录即可使用,注意保持文件的完整性 如果系统目录已经有 VFP6 的运行库, 可以将解压缩出来的 VFP6R.DLL 和 VFP6CHS.DLL 删除掉, 如果系统目录没有, 可以将其移动至系统目录. 备忘说明: 对原版的主程序使用其本身的副本进行脱壳 使用 CXA 11.8 对英文字符串进行提取、翻译、写回 完成之后的主程序用其本身的副本加, 但大小比原来的大一些, 但不影响整体运行. UPX 核心每压缩和解压缩(或解压缩和重新压缩)之后的MD5都不同, 而在 WINRAR 3.6 B4 CHS 主程序却没有发生过这种情况 但这不是我汉化的问题, 原版核心也有此"问题". 其它程序的情况没有测试过.
很多的应用程序制作者为了程序本身更加安全或者是不被破解给程序添加了一层安全,但有的朋友可能就喜欢玩破解或者是给程序脱壳,如果你也喜欢那么么你可以试试小编给你带来的这款万能脱壳工具,它拥有强大的查脱壳功能,支持PE文件编辑、导入表抓取、进程内存查看/DUMP等多种实用功能,有需要的朋友可以下载使用哦! 功能介绍 一、查功能: 支持文件拖拽,目录拖拽,可设置右键对文件和目录的查功能,除了FFI自带库unpack.avd外,还可以使用扩展库(必须命名为userdb.txt,此库格式兼容PEID库格式,可以把自己收集的userdb.txt放入增强检测功能)。 注:如果是使用扩展库里特征查出的,在信息后面会有 * 标志。 二、脱壳功能: 如果在查后,Unpack按钮可用,则表示可以对当前处理文件进行脱壳处理,采用虚拟机脱壳技术,您不必担心当前处理文件可能危害系统。 三、PE编辑功能: 本程序主界面可显示被检查的程序的入口点/入口点物理偏移,区段等信息,并且提供强大的编辑功能。 四、附加数据检测: 可扫描应用程序是否包含附件数据,并提供了附加数据详细的起始位置和大小,可以用Del Overlay按钮和Save Overlay按钮进行相应的处理。 五、支持PEid插件 点Options按钮选择Load Plugins就可以使用PEid的插件功能,无需重启FFI,插件必须放plugins目录下,然后点Plugin>>就可看到相应插件信息。 六、ReBuild PE 功能: 本功能主要是用来对脱壳后的PE文件进行修复,一般可用来解决脱壳后无法重新加等问题,使用ReguildPE按钮即可完成此功能。 七、第三方工具支持: 在Options按钮中,点Manage Tools按钮,可以用右键菜单添加/删除IDA/OllyDBG等第三方工具,这样就可以直接在FFI里启动OllyDBG、IDA这些工具来打开当前文件进行反汇编。 八、进程DUMP: TaskView按钮后,可以进行进程的终止,进程中模块内存的dump,目前支持三种dump方式:Dump Full、Dump Partial和Dump Region,还支持自动修正主模块内存镜像大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值