脱ACProtected的壳的过程

 

004254C9 55 push ebp

004254CA 8BEC mov ebp,esp

004254CC 83EC 44 sub esp,44

 

脱ACProtected的壳的过程:

当拿到它的时候,用PEID查壳UltraProtect 1.x -> RISCO Software ,用OD载入后,运行后,记事本直接打开,然后重新开始,右键 分析代码 ,shift + F9 运行,

当停止后,在堆栈窗口找到 SE处理程序,右键 在数据窗口处跟随 ,选中数据窗口前四个数据,下内存访问,shift + F9,当停止时,删除分析的部分,取消所有断点,shift + F9运行,接着来到一个程序的运行领空,F8来到RET, 因为除了 BC++,

汇编的程序外,其他程序的入口都是 PUSH EBP; 在调试那选中设置条件-->命令是一个选上。。打入 PUSH EBP 。。 然后就是 跟踪步入。。耐心==吧。。

当程序再次停下来后,004254C9 55 push ebp

004254CA 8BEC mov ebp, esp

004254CC 83EC 44 sub esp, 44

你会看到它,可以知道他站6个字节。。 也就是说 Stole code ,偷取了六个字节,选中他们,用二进制复制一下, ALT + M 打开内存镜像, 在.Text 处下段,运行后来到

004010D0 /70 4B jo short 0040111D

004010D2 |0100 add dword ptr [eax], eax

004010D4 |0000 add byte ptr [eax], al

004010D6 |0100 add dword ptr [eax], eax

004010D8 |0000 add byte ptr [eax], al

004010DA |0100 add dword ptr [eax], eax

004010DC |0000 add byte ptr [eax], al

004010DE |0100 add dword ptr [eax], eax

004010E0 |0000 add byte ptr [eax], al

004010E2 |0100 add dword ptr [eax], eax

004010E4 |0000 add byte ptr [eax], al

004010E6 |0100 add dword ptr [eax], eax

004010E8 |0000 add byte ptr [eax], al

004010EA |0100 add dword ptr [eax], eax

004010EC |0000 add byte ptr [eax], al

004010EE |0100 add dword ptr [eax], eax

004010F0 |0000 add byte ptr [eax], al

004010F2 |0100 add dword ptr [eax], eax

004010F4 |0000 add byte ptr [eax], al

004010F6 |0100 add dword ptr [eax], eax

004010F8 |0000 add byte ptr [eax], al

004010FA |EB 12 jmp short 0040110E

004010FC |3C 20 cmp al, 20

004010FE |7E 0E jle short 0040110E

00401100 |56 push esi //看到了吗??向上数六字节,

用nop填充 也就是 004010FA ---004010FE ,将前面的那个入口用二进制复制后粘到这,最后重新建一下 EIP

00401101 |FF15 F4644000 call dword ptr [4064F4] ; UltraPro.0040D4C6

最后用 LORDEPE 纠正一下,用 ImportREC 修复;

修复时,填入OEP, 回去输入表时,会发现有很多无效指针,可别剪掉和删除,

机器好的可以用 修复等级三,,还可以用插接 ACProtected(比较快),

修复完成后,会发现还有一个没有处理,别急,双击进入后发现无效指针在 MssageBeep 后,可以断定应该是 MessageBoxExA 了。。确定。。抓取。。

修复。。。运行 OK!!!

就这样搞定了 UltraProtect 1.x -> RISCO Software;;

在调试前,应对OD进行设置:在异常哪,可不要忽略 非法访问内存;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值