首页
论坛
课程
招聘
[分享]C语言脚本_for_OD2.01(更新到1.02)
2014-9-22 08:20 5363

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

2014-9-22 08:20
5363


说明:
一、安装
把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函数
-------------------------------------------------------------------------------------------------------
青丝转眼间白发,一笑,临冷风,淡看雪

【看雪培训】目录重大更新!《安卓高级研修班》2022年春季班开始招生!

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