前言
这段时间室友突然又开始了阿拉德大陆搬砖之旅,整天宿舍回响着“这是充满希望的一天”。虽然他充钱买了什么春节套,但装备什么的还都比较渣,任务关卡根本打不过,所以盯上了Q群里的收费辅助。这些辅助基本都是易语言写的,加一些网络验证,这次碰到的是E盾类的,所以把中间的破解过程记录下来。
准备工作
-
E盾类辅助
-
Ollydbg:反编译工具
-
Exeinfo PE:查壳工具
-
UPXEasyGUI:脱壳工具
-
虚拟机:非必须,有时候你无法保证这类东西的安全性,建议用上。
从此代码开始往上,如果看到retn的话,retn下一行就是这段代码的段首,retn则是上段代码的段尾。
脱壳
将程序拖入 Exeinfo PE,如果显示 UPX1 说明是有壳的,用 UPXEasyGUI 解压缩就行了。壳可能有很多层,一直脱到没有就行了。
然后提取 DLL文件,用 Ollydbg 加载 DLL,没有壳的话可以直接加载 exe 主程序。
祛暗桩
暗桩一类的情况一般是蓝屏、崩溃、关机等。
下面贴一些特征码:
- 蓝屏:
55 8B EC 81 EC 2C 00 00 00 C7 45 FC 00 00 00 00 68 0C 00 00 00
- 崩溃:
55 8B EC 81 EC 2C 00 00 00
在 Ollydbg 内使用快捷键 Ctrl+B 搜索二进制字符串,也就是上面的特征码。
直接到了标注的地方,可以在下方看到哪些 CALL 调用了它。
ebp=0018FF94 本地调用来自 0040DA96, 00419CFE 右键转到第一个0040DA96。(调用0040DA96的地方改完后,还要回来把调用00419CFE的也改了) ***
我们来到这段代码的段首,发现有五个地方调用了这段代码。
ebp=0018FF94
本地调用来自 0040BF13, 0040BF62, 0040C03B, 004113FA, 004115A5(可以看到这几处挨的很近,所以可能在一个方法里面,这种情况应该只改段首就可以了)
继续右键转到第一个CALL 0040BF13
我们找到上面的跳转语句,je开头这个,按空格键把je改为jne。改完之后je会变成jnz。
把段首也改为
0040BEB7 C9 leave
0040BEB8 C3 retn
0040BEB9 90 nop
0040BEBA 90 nop
0040BEBB 90 nop
0040BEBC 90 nop
0040BEBD 90 nop
0040BEBE 90 nop
0040BEBF 90 nop
重要提示:如果段首就在上面上面不远的话,一定要改掉,不然暗桩祛除不完整,会导致双击打开辅助没反应或者是蓝屏自动关机。 这样一个CALL就改完了,把上面其他的全改了。
破解登录
CTRL+G搜索401000进到入口。(exe是401000,DLL是10001000) 点击顶部菜单-插件-中文搜索引擎-智能搜索。 进去后到最上面找到“账号或密码错误!”的字段并双击它。 我们来到它的段首,改为 004116E3 B8 [01000000] mov eax,0x1 004116E8 C2 1000 retn 0x10 004116EB 90 nop 004116EC 90 nop 004116ED 90 nop 004116EE 90 nop 004116EF 90 nop 004116F0 90 nop 004116F1 90 nop 004116F2 90 nop
合法验证
Ctrl+S输入sub esp,84 可能有多处,自己找找,保险起见我都改了。 找到段首,改为 0040E0FC C9 leave 0040E0FD C3 retn 0040E0FE 90 nop 0040E0FF 90 nop 0040E100 90 nop 0040E101 90 nop 0040E102 90 nop 0040E103 90 nop 0040E104 90 nop
算法
Ctrl+S输入sub esp,0xA8 段首改成 00452DA0 C9 leave 00452DA1 C3 retn 00452DA2 90 nop 00452DA3 90 nop 00452DA4 90 nop 00452DA5 90 nop 00452DA6 90 nop 00452DA7 90 nop
保存
右键-复制到可执行文件-全部复制,然后右键-保存文件就可以了。