冥界3大法王 发表于 2019-8-22 14:41

求帮忙编译自动化加注释的插件(有现成的源码)

https://bbs.pediy.com/attach-download-89892.htm
已测试 不支持 win7-win10
会提示开启服务失败

OllyDBG的效果 就是下面这样的:004015B5 |. 8BEC mov ebp, esp ; EBP=0x12FFC0;//EBP=ESP
004015B7 |. 6A FF push -1 ; FFFFFFFF进栈
004015B9 |. 68 D0704000 push 004070D0
004015BE |. 68 B82D4000 push 00402DB8 ; SE 处理程序安装
004015C3 |. 64:A1 00000000 mov eax, dword ptr fs: ; EAX=ulong_1;
004015C9 |. 50 push eax ; EAX进栈
004015CA |. 64:8925 00000000 mov dword ptr fs:, esp ; FS段=0x12FFB0;//ESP;
004015D1 |. 83EC 58 sub esp, 58 ; 在栈中增加空间,大小为58字节(如EAX为双字,4字节)
004015D4 |. 53 push ebx ; EBX进栈
004015D5 |. 56 push esi ; ESI进栈
004015D6 |. 57 push edi ; EDI进栈

使用说明 :
20070810自动注释使用说明:

在这版中我加入了API函数的识别与参数的注释,其实这版我早已经编写好了,但对API识别的方式我很不满意,但近期我没有精力优化此操作。

1、API是通过地址来识别,地址与函数名称对应关系放在Apixp.txt中,

(如果你不把apixp.txt中的地址改成你机器上API函数的对应地址,我可以很负责地告诉你,插件一个API函数都识别不了。^v^郁闷吧.....)

Apixp.txt格式如下:
{
第一、OD右键有"查找"--"所有模块的名称"可以导出函数与对应的地址,不过只要"输出"的
第二、EXESCOPE也可以导出DLL中的输出函数与地址
应该还有很多软件都可以做好后,直接替换我的那个文件Apixp.txt就OK了
}

函数地址,dll名称.函数名称

77E70E6A,kernel32.AddAtomA
77E6A9AB,kernel32.AddAtomW
77E99139,kernel32.AddConsoleAliasA
77E99102,kernel32.AddConsoleAliasW
77E9A32F,kernel32.AllocConsole


函数地址,函数名称
77E70E6A,AddAtomA
77E6A9AB,AddAtomW
77E99139,AddConsoleAliasA
77E99102,AddConsoleAliasW
77E9A32F,AllocConsole

函数名称可以随意,但为了方便一般是工具导出的默认函数名称


2、API函数的注释与参数注释放在hxd_commdll.dll中,插件从Apixp.txt找到对应函数名称后,再用函数名称与hxd_commdll.dll中的数组比对,找到对应函数名称后,自动注释参数与函数,api函数注释的hxd_commdll.dll源码附带上,我已经注释了1000多个函数,如果你要加入新的函数注释,直接添加再用vc6.0编译。

3、文件存放路径:
hxd_comm.dll与apixp.txt都是存放在OD的插件目录下,一般为ODbyDYK\PLUGIN
hxd_commdll.dll存放在od程序.exe文件下, ^v^ 再次郁闷


4、试试吧,希望我把问题都说清楚了

吃饭睡觉打豆豆 发表于 2019-8-22 23:09

代码有问题,无法通过编译
hxd_comm.c第536行,有个结构体成员未定义

冥界3大法王 发表于 2019-8-23 07:50

吃饭睡觉打豆豆 发表于 2019-8-22 23:09
代码有问题,无法通过编译
hxd_comm.c第536行,有个结构体成员未定义

谢谢,那我用X64dbg代替吧。
页: [1]
查看完整版本: 求帮忙编译自动化加注释的插件(有现成的源码)