大家好我是朽木 QQ200655307 今天教大家做个教程
爆破验证文件 破解教程 重启验证标志位爆破
爆破过程:脱壳==>>数据修复==>>标志位爆位==>>完成
一:查壳
PeID 0.94,查壳,NsPack 1.4 -> Liuxingping [Overlay] *,载入OD脱壳
载入程序后,一次F8,ESP突现,我们可以用ESP定律脱掉此壳,看我操作
数据窗口中跟随==>>断点-硬件访问-WORD==>>F9运行==>>取消断点==>>F8(到了OEP)==>>分析-从模块中删除分析==>>OD脱壳
记下入口点,一会我们要修复脱了壳的文件。再查一下壳,Microsoft Visual C++ 6.0
好,运行脱壳文件,没运起来,
修复一下,还是没有运行起来............
二:数据修复
其实这个不是C++程序写的,是易语言。这是易语言的特性,我们来数据修复....
很简单,用PEID的一个插件来修复,看操作.......
修复完成,程序运行了
三:标志位爆破
运行修复的程序,我们试着注册程序
注册名:ICY
点应用注册,弹出“注册提示”重启验证注册码
OK,我们再运行看看注册成功没,没成功,还是试用版的。(快过年了,我还是没有蒙中注册码!!在这里顺便祝大家新年好!注册码一蒙即中.....)
这个程序是重启验证,她验证的地方就在注册表里,我们可以通过注册找到我们的注册信息...
reg
记下这个值,重启验证的时候要用的...
好,我们开始讲重点,OD载入,
程序注册时会弹出提示,我们来下这个断
bp MessageBoxA
应用注册。成功拦截,删掉断点....
我们来看一下堆栈
0012F45C 004094C6 ASCII "reg"
我们在这里返回吧,右键,反汇编窗口中跟随或是回车也可以
来到这里一堆乱七八糟的东西,分析-从模块中删除分析,正常显示了
在这里查找ASCII码,看看她有没有访问了注册表,
嘿嘿,找到了,经过测试这个是不行,下面还有一个.......
就是这里了,双击她回来程序领空。
向上来到子程序头=======>>>(其实这个子程序就是关键CALL里面的东西了)
004BAB24 55 push ebp
004BAB25 8BEC mov ebp, esp
004BAB27 81EC 14000000 sub esp, 14
004BAB2D C745 FC 0000000>mov dword ptr [ebp-4], 0
004BAB34 68 04000080 push 80000004
004BAB39 6A 00 push 0
在子程序头下断,重新加载....
运行,来到这里,分析-从模块中删除分析
删掉断点,我们看看这个子程序从何来,看堆栈,
我们返回,反汇编窗口中跟随看看我们到那里了,
004BA2E4 E8 3B080000 call 004BAB24 =====================>>>这里是关键CALL
004BA2E9 A3 0022B600 mov dword ptr [B62200], eax
004BA2EE 833D 0022B600 0>cmp dword ptr [B62200], 0
004BA2F5 0F84 71000000 je 004BA36C =============>>>这里是关键跳,直接爆破在这里,修改je 004BA36C==>>NOP就可以了
我们在关键CALL的地方下断,重新载入程序
F8往下走,
看这个地方,是“1”,跳转实现了,双击变成“0”,变成跳转没实现了,F9运行,
看到什么了,正式版了....
哦!原来她把注册码比较结果用“0”和“1”返回的,好!我们来修改他....重新载入
进入关键CALL,F7
我们就在这里修改,我们给EAX赋值,
mov eax,1
ret
好咯,保存下来,再来运行程序看看成功了没..........
成功了~!·#¥%……—*