|
[分享]C语言脚本_for_ollydbg1.1.rar(更新)
从你的代码,我可以看出你对OD插件的了解程度要远胜于我,我想了一下,感觉这如果不是数据对齐方面出了问题,那就是tcc的BUG了。 抱歉。对于tcc我个人了解也不是太多。 |
|
[分享]C语言脚本插件(OD1.1,OD2.01)
目前,我认为原因出在插件冲突上。我检查了代码,感觉还挺合理的,莫非是某个插件在被OD调用时,没能正确返回吗? |
|
[分享]C语言脚本插件(OD1.1,OD2.01)
这一点让人非常苦恼和费解,我完全看不出AT&T汇编格式的吸引力在哪里,为什么那么多编译器选择只支持这种格式。 而且,我甚至找不到一种将AT&T和INTEL两种汇编格式相互转化的工具。 不知道是真的没有,还是我不够仔细没有搜索到。 |
|
[原创]发个自己修改的OllyDBG v2.01+sod2,不喜勿喷!
支持,比先前下载的好 |
|
|
|
[分享]C语言脚本_for_ollydbg1.1.rar(更新)
晕了,为嘛编辑帖子需要5Kx?现金在不知不觉间就米有了,why? ------------------------------------------------------------------------------------------------------------------------------- tcc script for ollydbg1.1 以下简称 TS ------------------------------------------------------------------------------------------------------------------------------- 1.TS使用要求:会使用OD,并懂一点C语言基础知识即可 2.TS可以满足哪些需求? (1)基本上,编写TS脚本,可以省去一些额外的手工调试劳动 (2)如果有编写插件的需要,可以用TS测试某些代码模块 (3)提供类似OllyScript的功能 3.在Symbol.ini中为TS添加符号支持(系统API,OD API,模块导出变量,任意地址) [init] count=101 . . . [100] module=符号所在模块,比如:user32.dll 或 NULL(NULL表示宿主进程,一般是ollydbg) type=符号类型 调用约定,比如:int _stdcall symbol=符号名,比如:MessageBoxA addr=地址,一般为0 param=参数总字节数,比如:32位系统下,MessageBoxA参数总共16个字节,那么这里就是 16 open=是否立即使用,比如:1就是立即使用 ----------除了函数以外,也可以用类似方法引入变量,不过OD1.1好像没有导出变量 ----------需要详细说明的键名是addr ----------假如OD主进程或者某个插件模块中,存在某个地址0x45001280,这是个很有用函数的入口地址,但这个函数没有导出.那么这时,就可以这样设置addr键值:addr=0x45001280 ----------同样的,如果0x45001280是个变量,也可以设置addr=0x45001280,以便在TS中使用这个变量 4.在TS脚本编写中,使用引入符号,比如:MessageBoxA MessageBoxA是外部符号,它的实现在user32.dll中,TS只能得到它的入口地址,至于它的调用约定,参数列表则无法得知.所以在调用它之前,必须先申明其原型 extern int MessageBoxA(HWND,char*,char*,int); 另外,对于引入的变量符号,使用之前也要申明原型.不过对于_cdecl函数,可以无需申明直接使用,因为_cdecl是TS默认的调用约定,直接使用不会导致堆栈出问题 5.TS如何跟ollydbg交互 ollydbg在实行某些调试动作的时候,会主动调用一些外部功能,比如:on_pausedex就是ollydbg遇上断点时必定会调用的一个外部函数。那么可以在编写TS脚本的时候,实现这个函数,提供给ollydbg调用。在od_msg.cpp中描述了这类函数的原型 6.一些函数原型(windows api 和 ollydbg api 不多介绍,这里只说一下TS提供的api) void tsa_error(char *fmt,...);//显示一个消息框 void tsa_print(int i_color,char *fmt,...);//在TS输出窗口显示信息 void tsa_libray_insert(HANDLE h_process,char *c_libray);//远程插入DLL 7.将tcc_script.dll插入到目标进程(理论上,tcc_script.dll是可以被插入到被调试进程,做一些patch工作的,但我没试过) void on_code_insert() { tsa_libray_insert(h_dest_proc,"......tcc_script.dll"); } 8.一楼是TS脚本编写的例子 |
|
[原创]OllyDBG v2.01 Final支持中文字符查找
这个OD不错,我用的还是官网下载的 |
|
[分享]C语言脚本_for_OD2.01(更新到1.02)
哈哈,精力是有的,能力却是没有,知识储备还不够,感谢你的建议。 ---------------------------------------------------------------------------------------------------- 看了一下x64_dbg,界面布局,我感觉强过OD,某些细节稍微糙了点。至于调试方面,还没有试,是款不错的调试器。先下载收藏。 |
|
[分享]C语言脚本_for_OD2.01(更新到1.02)
没法写例子,OD官网只有有限的几个函数说明,其它大部分都还是灰化的,想用的话只能看参数,踩用法了,想想都觉得累人。 |
|
[求助]用MDebug脱壳DLL文件,已找到程序入口,怎样DUMP出来呢????
LoadPE 不可以吗? |
|
[下载]C脚本(支持OllyDebug1.1)
lynnux 说的没错。最好所有语言版本的插件都能找到,习惯哪种语言就用哪种嘛,LUA就值得期待,我正在看LUA的SDK,等熟悉之后就着手弄一下。 |
|
[原创]该程序可以生成OD用的LIB
地板!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
[原创]算是写的差不多了,所以编辑一下
说到冗余,LCC的词法分析就没多少冗余。一遍搞定所有关键字和ID,整个LCC只需一遍编译即可完成,支持C99标准,生成的汇编代码还挺漂亮。它的词法分析器就是纯手工,很精巧... ........... case 'c': if(p[0]=='h'&&p[1]=='a'&&p[2]=='r'&&!(g_op[p[3]].land&(DIGIT|LETTER))) { g_pSourceCur = p + 3; return CHAR; } if(p[0]=='o'&&p[1]=='n'&&p[2]=='t'&&p[3]=='i'&&p[4]=='n'&&p[5]=='u'&&p[6]=='e' &&!(g_op[p[7]].land&(DIGIT|LETTER))) { g_pSourceCur=p+7; return CONTINUE; }goto goto_addr_id; case 'd': if( p[0]=='o'&&p[1]=='u'&&p[2]=='b'&&p[3]=='l'&&p[4]=='e'&& !(g_op[p[5]].land&(DIGIT|LETTER))) { g_pSourceCur = p + 5; return DOUBLE; }goto goto_addr_id; case 'e': if(p[0]=='l'&&p[1]=='s'&&p[2]=='e' && !(g_op[p[3]].land&(DIGIT|LETTER))) { g_pSourceCur=p+3; return ELSE; } if(p[0]=='x'&&p[1]=='t'&&p[2]=='e'&&p[3]=='r'&&p[4]=='n'&& !(g_op[p[5]].land&(DIGIT|LETTER))) { g_pSourceCur = p + 5; return EXTERN; }goto goto_addr_id; ........ |
|
[原创]算是写的差不多了,所以编辑一下
偶。。。似乎没有MDebug的界面灵活哦。。。不知道选中一个CALL,然后所有CALL都变色是怎么搞出来的。难道对API动了手脚? |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值