首页
社区
课程
招聘
[分享]C语言脚本_for_OD2.01(更新到1.02)
发表于: 2014-9-22 08:20 7308

[分享]C语言脚本_for_OD2.01(更新到1.02)

2014-9-22 08:20
7308


说明:
一、安装
把C_Script.dll和C_Script_Data复制到OD2.01的plugin目录下

二、引入符号,以便编写脚本代码时使用(符号在这里就是变量和函数)
在C_Script_Data文件夹下,有个Symbol.ini,打开它,按照如下格式添加符号就可以了,但要注意,0,1,2...不能重复,而且添加完符号之后count值也要改

module=符号所在模块
type=符号类型 调用约定,比如OpenProcess形如:HMODULE _stdcall 变量的话,忽略调用约定
symbol=符号名,比如OpenProcess
param=参数总字节数,比如OpenProcess总共两个参数,32位windows系统下合计8个字节
open=是否立即使用(0或1)

[0]
module=ollydebug.exe
type=t_table
symbol=bpoint//变量
param=0
open=0//1标识立即支持,0表示稍后手动支持

[1]
module=ollydebug.exe
type=int _cdecl
symbol=Setint3breakpoint//_cdecl 函数
param=36
open=1

[2]
module=Kernel32.dll
type=HANDLE _stdcall
symbol=OpenProcess//_stdcall函数
param=12
open=0

三、定义交互函数,也就是在脚本中定义并实现一些函数,供主程序回调。这里的主程序大多数情况下不是C_Script,而是OD2.01。实际上脚本中定义的交互函数,最终是由OD2.01调用的。

void on_code_insert()//每当脚本编译成功并载入,C_Script都将调用这个函数
void on_code_delete()//每当脚本被卸载,C_Script都将调用这个函数。

void
on_reset()//OD2.01每次重新载入目标程序的时候,都将回调这个函数。从这个函数开始往下,所有函数都由OD2.01亲自回调

void
on_analyse(t_module *pmod)

void
on_mainloop(DEBUG_EVENT *debugevent)

                   …………
-------------------------------------------------------------------------------------------------------
更新内容
1.界面不再使用OD的消息循环,而是在一个独立线程中处理消息,有限提高了流畅度
2.符号定义方面,增添了少许内容,以更方便的支持stdcall函数
-------------------------------------------------------------------------------------------------------
青丝转眼间白发,一笑,临冷风,淡看雪

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 243
活跃值: (458)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
亲有使用说明木?
2014-9-22 08:39
0
雪    币: 80
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
tcc for od?
2014-9-22 08:58
0
雪    币: 10815
活跃值: (3714)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这个不错,再写个LUA脚本for od2.01吧,再接再厉!
建议写一个函数文档,以及更多的例子,这样才能方便使用。
2014-9-22 10:17
0
雪    币: 61
活跃值: (996)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
感谢楼主分享,可以写一些帮助文档~
2014-9-22 11:42
0
雪    币: 14
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
没法写例子,OD官网只有有限的几个函数说明,其它大部分都还是灰化的,想用的话只能看参数,踩用法了,想想都觉得累人。
2014-9-22 13:19
0
雪    币: 768
活跃值: (540)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
7
楼主,有精力一起帮作者去做这个吧。。x64_dbg V1.7ALPHA
OD的更新实在是太慢了。
2014-9-22 13:39
0
雪    币: 14
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
哈哈,精力是有的,能力却是没有,知识储备还不够,感谢你的建议。
----------------------------------------------------------------------------------------------------
看了一下x64_dbg,界面布局,我感觉强过OD,某些细节稍微糙了点。至于调试方面,还没有试,是款不错的调试器。先下载收藏。
2014-9-22 17:38
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
要是是 c++做脚本就好了,不过这样 我已经感觉比lua脚本好了,lua脚本即使有ffi库也挺麻烦的
2014-10-21 16:45
0
游客
登录 | 注册 方可回帖
返回
//