alttab 发表于 2014-10-9 00:28

实战enablesoft网络验证加VMProtect

本帖最后由 altTab 于 2014-10-9 00:41 编辑

实战enablesoft网络验证加VMProtectenablesoft网络验证 他的验证基本都是在释放出来的exd文件上载入ODAlt+F9 查看模块文件
双击进去exd文件一眼就可以看出是delphi的

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


来到这里
call dword ptr ds: 下断点现在在软件上输入假码让他断下 断下后F7单步步入进去
来到这里后 一步步单步下去012D188C单步进去一路单步下去 他发送的过程太漫长就直接到关键地方吧


12D006C 直接nop掉 让他无论如何也载入程序窗口
一直走进去 你会发现他退出掉了我们来重新载入OD当然我试过 ExitProcess 断不下来然而我发现他是用WM_DESTROY来关闭程序的 所以我们可以下PostQuitMessage断点PostQuitMessage       函数向系统表明有个线程有终止请求
进入exd模块ctrl+G77D2CA5A下断点在登陆下试试OD在这个函数下断下了第一次断下的时候他并没有对出 你可以单步F8下去
也可以直接F9运行 第二次断下在00452333直接在堆栈 call到PostQuiMessage回到程序领空来到了这里 那么关键就在于0045232D    84C0            test al,al0045232F    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   函数终止指定进程及其所有线程

天线宝宝 发表于 2014-10-9 00:30

新的教程,表示占个位置,教程好多-.-

哎呦呦 发表于 2014-10-9 00:34

瞬间联想到想破软件的思路了 谢了楼主

雨季 发表于 2014-10-9 00:35

嗯不错的教程 赞一个

Shark恒 发表于 2014-10-9 00:35

非常详细,可以加精华,不过是怎么判断他是用WM_DESTROY来关闭程序的,我觉得有必要稍微讲一下,不能一带而过。这样这帖子就完美了。{:5_116:}

隋义 发表于 2014-10-9 00:37

我只是来看看的,别抓我{:6_158:}

战股神 发表于 2014-10-9 12:28

不太适合新手{:5_118:}

克克丶 发表于 2014-10-10 15:14

   很不错的教程,谢谢啦。

qilei1102 发表于 2014-10-11 08:59

楼主如此的厉害!!!1

Dean 发表于 2014-10-11 14:44

没用过这些断点,学习了
页: [1] 2 3 4
查看完整版本: 实战enablesoft网络验证加VMProtect