ps520 发表于 2010-9-11 17:58

[LCG]如何让VMPHelper支持其他壳的SDK模式[DIY篇]

本帖最后由 ps520 于 2010-9-12 00:30 编辑

VMPHelper的识别能力可谓惊人,并且处理效率也是一流。但只处理VMP似乎有点不充分利用资源,那么怎么才能同时支持N个壳的SDK呢?

让我们一起来探索下吧。

===================================
第一步,确认实现方法

我们要实现自动找地址的功能,OKey,如果你会写,可以跳过本篇;如果你不会,当然我们就会考虑patch VMPHelper了。
如何patch,最简单的莫过于将VMPHelper写出的地址数据通过文本格式处理转换下,那么我们就按这个思路写代码吧!

第二步,获取关键信息

我们需要哪些信息呢?第一:写到的文件信息。因为写到的文件(*.vms)中包含所有数据,但是如何获取呢?

当然是HookApi了。

那么如何HookAPI才是最方便的呢?

通过调试我们发现,VMPHelper通过CreateFileA获得文件句柄。(你可以下断所有的打开文件API。)

直接HookAPI,如果文件名的后缀是.vms,即可确定是我们需要的SDK文件路径。

那么如何知道文件被写入完成了呢?

当然你可以根据VMS的结束标志判断,但这并不及时。如果使用死循环一直读取,会加大程序的负荷。

所以我们还是想当用HookApi。

写完数据Nooby会弹个MessageBox:"Done."

Hook MessageBoxA又可以轻松获得这个完成数据了。


接下来干嘛呢?
*注意不要弹done啊!!!!

1.读入数据,删除原文件。

2.根据你想支持的壳的SDK格式替换数据

3.导出文件。

4.模拟原始信息框DONE.顺便加句:"其他壳支持by xxx"

当然你可以把所有壳的格式制作成ini配置文件

这样就可以让用户自己扩展壳的功能了。


这样我们又通过修改的方式让一个神器更添光彩。

                                                by Luck




放出源码,大家自己体会吧。转换WL使用的MAP用了很龊的手段。

zsl01 发表于 2010-9-11 18:13

多谢PS520的讲解,我想问一下,这个东西到底怎么用法,我下载了,一直不知道怎么用,有什么用,但有很多人支持这个工具,多谢了.

yaojiqiang 发表于 2010-9-11 18:13

Zanker 发表于 2010-9-11 18:13

ps520神出现了?

zapline 发表于 2010-9-11 18:16

完全看不懂

ps520 发表于 2010-9-11 18:57

天书依旧

2666fff 发表于 2010-9-11 19:00

大牛能不能多打几个字。。

ShaBility 发表于 2010-9-11 19:20

完完全全彻彻底底看不懂

ps520 发表于 2010-9-11 23:10

:lol多打几个字可是会蛋疼的

nevsayno 发表于 2010-9-12 00:02

完全不懂,只能膜拜
页: [1] 2 3
查看完整版本: [LCG]如何让VMPHelper支持其他壳的SDK模式[DIY篇]