实战enablesoft网络验证加VMProtect

实战enablesoft网络验证加VMProtect

enablesoft网络验证 他的验证基本都是在释放出来的exd文件上
载入OD

Alt+F9 查看模块文件

双击进去exd文件
一眼就可以看出是delphi的


 

找关键断 可以使用delphi的按钮事件 Ctrl+B  FF93200100005BC353


 

来到这里

call dword ptr ds:[ebx+0x120] 下断点
现在在软件上输入假码让他断下 断下后F7单步步入进去

来到这里后 一步步单步下去

012D188C单步进去

一路单步下去 他发送的过程太漫长  就直接到关键地方吧

12D006C 直接nop掉 让他无论如何也载入程序窗口

一直走进去 你会发现他退出掉了  

我们来重新载入OD

当然我试过 ExitProcess 断不下来

然而我发现他是用WM_DESTROY来关闭程序的

所以我们可以下PostQuitMessage断点  

PostQuitMessage       函数向系统表明有个线程有终止请求

进入exd模块ctrl+G

77D2CA5A下断点

在登陆下试试

OD在这个函数下断下了  第一次断下的时候他并没有对出 你可以单步F8下去

也可以直接F9运行 第二次断下在00452333  

直接在堆栈 call到PostQuiMessage回到程序领空

来到了这里 那么关键就在于

0045232D    84C0            test al,al

0045232F    74 07           je XRMScript.00452338

把0045232F的je改成jmp就好了

OK 现在程序已经进来了

但是别高兴的太早了  因为我看过这个验证 他在3-5分钟的时候还会退出一次

他这次是用终止所有线程

我们可以下TerminateProcess

他触发这个api后 就回断在这里

0012FB44   012D2340  /CALL 到 TerminateProcess 来自 RMScri_1.012D233B

在这里回车返回到012D2340处

和PostQuitMessage一样 在012D2329   /75 19           jnz XRMScri_1.012D2344

处 把jnz改成jmp让他强制跳过去 就好了

很早以前做的一个教程 现在最新版的enablesoft不知道是否通用 没看过  看看思路就好了

随便提下为什么是用TerminateProcess 和PostQuitMessage来下断  DLL退出EXE 无非就是用线程来结束进程

PostQuitMessage  该函数向系统表明有个线程有终止请求

TerminateProcess   函数终止指定进程及其所有线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的闹钟

自愿打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值