调试器下易语言版核盾验证的软件带V山寨
大家好,我是要开心!逆向的是自己写的核盾例子。
核盾版本:5.5.1
逆向这类型的核盾主要步骤如下:
1.拿到DLL位于内存中的句柄
2.加上对应的函数偏移做hook
根据经验分析,核盾加载DLL流程如下:
用户调用接口>接口层函数>模块内加载DLL函数A>模块内加载DLL函数B>调用DLL加载器>DLL加载器返回地址
在OD里单步跟踪发现,调用DLL加载器那一个步骤并没有加VMP标记.代码如下:
通过jmp eax调用DLL加载器。在这里并不需要给jmp eax下断!
只需要给上面的 retn 0x1c处下断即可从eax中拿到核盾DLL的句柄。
这个什么是ret 0x1c我也不知为何,步骤:模块内加载DLL函数B的参数只有6个传入。然后就没深究了!
拿到句柄之后就可以对函数进行下断hook修改传入参数了.
如何找到对应的函数?直接写出核盾DLL,然后查看导出表即可.
本次关键函数是:SetSoftware
偏移是0x15010
参数表:
软件ID
安全码
自定义码
验证码
例子里并没有验证码。所以是少了验证码!
修改图中三个参数F9即可实现山寨。
调用加载器的汇编码:
00401A24 C2 1C00 retn 0x1C
00401A27 55 push ebp
00401A28 8BEC mov ebp,esp
00401A2A C9 leave
00401A2B 58 pop eax ; user32.76A578D7
00401A2C 870424 xchg dword ptr ss:,eax ; user32.76A74411
00401A2F- FFE0 jmp eax ; user32.76A74411
请楼主检查图片,不能显示。 Shark恒 发表于 2018-2-27 11:28
请楼主检查图片,不能显示。
有图啊。。。为啥这边也说没有 要开心 发表于 2018-2-27 16:43
有图啊。。。为啥这边也说没有
好了,这回看到图片了 好了,这回看到图片了 赞赞赞哦。{:5_124:} 点赞。抢个地板 本帖最后由 782763595 于 2018-3-3 23:42 编辑
用vmp扩展版VM掉 jmp eax
https://pan.baidu.com/s/1hucVaKW
感谢大牛{:5_116:} 但是想问的是修改这三个参数以后如何打补丁呢、? 遇到一款VM的 核盾, 求助一下,