|
用工具软件为软件脱“壳”
根据前面的内容侦测了一个软件的“壳”后,接下来我们就需要把它的“壳”脱去了,以便还原软件的本来面目。注意:若侦测出它根本没加“壳”,可省掉这步。不过,现在没加“壳”的软件已经很少了。
根据“壳”的流行程度,常用的脱“壳”软件主要有3个:AspackDie、UPX、unpecompact,分别针对前面提到的3个加壳软件。下面介绍它们的使用方法:
1. AspackDie能脱ASPack的“壳”,是傻瓜式软件, 使用方法类似language2000,运行后选取待脱壳的软件即可轻松完成。
2.UPX脱UPX“壳”,UPX自身具备加壳、脱壳功能。其方法为:让待脱“壳”的软件(如xx.exe)和upx.exe位于同一目录下,执行Windows开始菜单的“运行”,键入“upx -d xx.exe”即可。
3.unpecompact 脱的是Pecompact的“壳”。
傻瓜式软件,使用方法类似AspackDie,运行后选取待脱壳的软件即可。
破解基础知识和16进制编辑器
1.机器码,又称机械码。当你用16进制编辑器打开、编辑EXE等可执行文件时,你会看到许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码就是机器码。修改程序时必须通过修改机器码来修改EXE等可执行文件。
2. 16进制编辑器。16进制编辑器是编辑、修改EXE等可执行文件的软件。常用的有UltraEdit、WinHex等。由于这两款软件非常有名,网上有很多介绍它们使用的文章,限于篇幅,不再赘述。
3. 破解时常用的汇编指令如下,汇编较弱者可先强行背住,以后就可慢慢理解了。
cmp a,b //比较a与b
mov a,b //把b的值送给a,使a=b
ret //返回主程序
nop //无作用,英文"no operation"的简写,意思是"do nothing"(机器码90) (解释:ultraedit打开编辑exe文件时看到90,等同于汇编语句nop)
call //调用子程序,子程序以ret结尾
je 或jz //若相等则跳(机器码74 或
jne或jnz //若不相等则跳(机器码75或
jmp //无条件跳(机器码EB)
jb //若小于则跳
ja //若大于则跳
jg //若大于则跳
jge //若大于等于则跳
jl //若小于则跳
jle //若小于等于则跳
pop xx //xx出栈
push xx //xx压栈
更为详细的指令请查阅汇编书籍。
4.破解常见修改,参看表1。
|
汇编指令修改 |
相应的机器码修改(通过16进制编辑器实现) |
|
jnz/jne->nop |
75->90 |
|
jnz/jne -> jmp |
75-> EB |
|
jz/je->nop |
74->90 |
|
jz/je -> jmp |
74-> EB |
|
jnz -> jz |
75->74 或 |
|
jz -> jnz |
74->75 或 |
|
jnz -> jz |
75->74 或 |
|
je-> jne |
74->75 或 |
表1 破解常见修改
5.两种不同情况的不同修改方法
为了破解软件的注册和功能限制,归根结底其方法就是在两种不同情况下对程序所进行的修改,具体总结如下。
| 手把手教你破解灰鸽子成为会员!! | 10-05 |
| 手把手教你手脱灰鸽子2007 Beta | 08-14 |
| 零基础制作《武林外传》外挂 (VB | 07-11 |
| 壳,加壳,脱壳,介绍壳的一些基本 | 07-07 |
| 给新手引路-浓缩汇编基础 | 06-29 |
| 妙解破解的原理 | 05-10 |
| 教菜鸟写注册机 | 04-16 |
| 软件破解新手进化篇 | 04-16 |
| [软件破解]破解原理 | 04-14 |
| [软件破解]常见保护的攻击:序列号 | 04-14 |
| 用OllyDbg手脱RLPack V1.17加壳的 | 04-04 |
| PELock v1.0x 脱壳之完美风暴 | 03-28 |