难寻。。 发表于 2018-2-27 03:42

调试器下易语言版核盾验证的软件带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

Shark恒 发表于 2018-2-27 11:28
请楼主检查图片,不能显示。

有图啊。。。为啥这边也说没有

Shark恒 发表于 2018-2-27 17:04

要开心 发表于 2018-2-27 16:43
有图啊。。。为啥这边也说没有

好了,这回看到图片了

清清风 发表于 2018-2-27 17:40

好了,这回看到图片了

李沉舟 发表于 2018-2-28 00:20

赞赞赞哦。{:5_124:}

李沉舟 发表于 2018-2-28 00:21

点赞。抢个地板

782763595 发表于 2018-3-3 23:40

本帖最后由 782763595 于 2018-3-3 23:42 编辑

用vmp扩展版VM掉 jmp eax
https://pan.baidu.com/s/1hucVaKW


落叶清风 发表于 2018-4-6 06:05

        感谢大牛{:5_116:}

Mackie程 发表于 2018-5-17 07:57

但是想问的是修改这三个参数以后如何打补丁呢、?   遇到一款VM的 核盾, 求助一下,
页: [1] 2 3
查看完整版本: 调试器下易语言版核盾验证的软件带V山寨