东营金盾司法学校学费是多少学校代码

现在接着分析生成的DLL文件在做些什么首先,我们到系统目录下把生成的2个文件复制出来。

在模块窗口可以看该DLL已经注入注入后,我们支看下DLL里有哪些字符值得我们參考的

字符串可以看到很多有用的信息,我们把这些关键地方都下一个断点重新加载播放器注入,看它会断在哪个地方断在加载DLL处,继续F8往下走我们发现它对 CreateWindowExA函数进行了内存属性更改,并直接HOOK了该函数

[Asm] 纯文本查看 复制代码

[Asm] 纯文本查看 复制代码

往下走就完了。这个CALL僦是加载DLL后对CreateWindowExA进行了HOOK。现在我们进入HOOK的函数看它会做些什么

[Asm] 纯文本查看 复制代码

[Asm] 纯文本查看 复制代码

只有在创建新窗口的时候它才会調用该函数,执行这里面的代码到此,我们F9让程序运行起来用播放器添加视频文件,会弹出新对话框看它会不会调用该函数执行HOOK代碼。

并未调用该函数看来注入时机太晚了。要在创建主窗口时就要注入了通过前面的分析,我们知道DLL在注入时就会对 窗口函数进行HOOK並未对播放器操作所以就不会检测和报错,那么我们直接OD载入播放器后把DLL注入进行,F9运行此时就看到DLL直接对窗口函数进行了HOOK,并在创建窗口时执行了HOOK的代码。来到了地址:

[Asm] 纯文本查看 复制代码

[Asm] 纯文本查看 复制代码

往下看这是一个关键的CALL,F9运行断下后F8往下走。

[Asm] 纯攵本查看 复制代码

代码中对播放器一个地址:0040B50B 进行了属性更改F8往下走看到关键地方:

[Asm] 纯文本查看 复制代码

从汇编代码来看,它对一个地址(新申请的一空间)进行了填充并加载DLL调用了本身内的函数:patch(这是一个导出函数,使用工具可以看到DLL确实导出了该函数)现在我们矗接来到播放器位置:0040B50B

[Asm] 纯文本查看 复制代码

上面汇编代码中进行属性更改后,也对该地址进行了HOOK当执行到该地址就进入到0x380000 ,我们看下該地址有什么内容

[Asm] 纯文本查看 复制代码

代码是不是很熟悉对,就是前面它填充的数据 这里有一个地方就是上面获取的一个导出函数地址:

[Asm] 纯文本查看 复制代码    pushad我们直接取消断点,让播放器加载起来后选中加密视频后,在下断断下后,该处在一直做判断先判断EDX是否為0,是0返回执行到播放器自身处理还有比较EDX-4,EDX+0X12的内空是否为0XE,0X2D,检测这个主要是当EDX的值是机器码内容时就检测它的位数和第5位是不是-,我們的机器码是:33.通过这些判断后确定是机器码后,执行HOOK的代码进入到0x 对EDX的值进行替换。替换的关键处:

[Asm] 纯文本查看 复制代码

替换完后在执行HOOK前的代码回到播放器空间中

[Asm] 纯文本查看 复制代码

 
到此该DLL替换机器码的功能就分析完了。运行播放器后机器码也成功替换,输入密码就能直接播放样本视频总结:1、DLL启动直接对函数:CreateWindowExA 进行了HOOK,当播放器执行到该函数后对播放器地址:0040B50B 进行了HOOK2、HOOK的关键函数功能是:先判断EDX是否为0,是0返回执行到播放器自身处理还有比较EDX-4,EDX+0X12的内空是否为0XE,0X2D,检测这个主要是当EDX的值是机器码内容时就检测它的位数是否為:0XE和第5位是不是-,我们的机器码是:33.通过这些判断确定是机器码后执行HOOK的代码,进入到0x 对EDX的值进行替换3、分析发现机器码信息有CPU,硬盤,网卡当机器码加密都选中了,该DLL才能使用还有2种可能,单独选一种硬件或选2种硬件生成的机器码时该DLL就无效了;不过分析这方法後我们对替换的代码手动修改下就能实现另外的2种机器码的替换了。4、作者把执行的每一步都做了调试输出可以很方便看到执行到哪步。大家可以用工具查看到5、该套工具的功能就都分析完了,能力有限菜鸟水平,不足的地方还请见谅

我要回帖

更多关于 东营金盾司法学校学费是多少 的文章

 

随机推荐