首页
论坛
课程
招聘
[原创]OllyDBG 数据转换和反汇编代码插件2020-10-19 更新
2020-10-19 22:09 1775

[原创]OllyDBG 数据转换和反汇编代码插件2020-10-19 更新

2020-10-19 22:09
1775
1
内存数据转换OD-Plugin

;===============================================================================================
  这个插件可以将内存数据转换成(asm,vb,vc,delphi,E)编程语言的静态数组和
Masm32源代码。可以说是整合了"内存数据格式转换.dll"和"Asm2Clipboard.dll",
但解决了两个插件的中存在bug。新增子过程引用的代码抽取,生成的代码可以直接编
译,大大方便了反源码工作,总之这个插件超实用 :)

1
2
3
4
5
6
7
8
9
10
11
12
13
*****功能:反汇编代码,提取包括子过程和相关引用内存数据
**** 功能:反汇编代码带行号处理和进制处理(可直接编译)
***  功能:转换成各种编程语言的静态数组
***  功能:支持OD2.0x 和 OD1.0x
**   功能:文本编码转换
*    功能:菜单设置快捷键,方便键盘选取
*    功能:复制文本
 
 
选定代码或数据,然后右键“数据转换”
转换后的数据在ClipBoard中,用右键粘贴出来就可以
DataChage.dll  是Olldbg 1.0X插件
DataChage2.dll 是Olldbg 2.0X插件

[b]附件下载在此 [url=https://bbs.pediy.com/post-update-1665728.htm[/url] [i]ttabcs[/i] [/b]

 

;==============================问答操作小技巧======================================================

 

<1> 问:如何大范围选定数据块?
答:先点击“开始地址”,然后跳到“结束地址”,然后按下"Shift"键,再点击“结束地址”位置。

 

<2> 问:如何提取子过程代码
答:先择"Call XXXX"后,点"包括子过程",然后点右键粘贴出来就行。

 

<3> 问:为什么点“包括子过程”时会崩溃?
答:因为子过程中的Call过多,生成的代码太大,所以会出错,在.net中这个问题比较突出。

 

<4> 问:配置文件如何修改?(注:在菜单中"设置"可直接更改)
答:个人的配置可以直接修改ollydbg.ini文件中的[Plugin DataChage],数值型的用十六进制数,是/否的用'1','0'
EditDlg=<0或1> ;是否转换数据后弹出Text对话框
MultiAsmLabel=<0或1> ;设置为MUltimate Assembler插件的label
LineCount=<十六进制数值> ;设置每行多少个数据
SetTabLen=<十六进制数值> ;设置Tab对齐位数,如果不为0,则用N个空格代替
SubCallCount=<十六进制数值> ;设置生成Proc的总数
SubCallDepth<十六进制数值> ;设置调用call的递归深度

1
2
3
4
5
DataAutoBuild=<01>        ;是否自动转换相关内存引用数据
DataAddrStart=<十六进制数值>    ;设置数段开始地址(过滤掉常量)
DataAddrEnd=<十六进制数值>    ;设置数段结束地址(过滤掉常量)
DataAddrStep=<十六进制数值>    ;地址1-地址2 <DataAddrStep时直接转换
DataAddrArea=<十六进制数值>    ;超过DataAddrStep,只转换DataAddrArea

<5> 问:自动转换相关内存数据有误或代码数据引用有误?
答:内存地址引用的数据自动提取与地址有关,能过参数优化,减少错误,
但有些还是要手动修改地,要对"内存地址、[内存地址]、常量"进行修正!!!

 

;===================================================================================================
;==============================更新历史=============================================================
2013-03-10
修正生成易语言数组
2013-02-17
新增生成易语言数组
2013-01-29
修改对Ollydbg 2.01h的支持,与2.01f以前不兼容
2012-09-27
新增对Ollydbg 2.0的支持
优化菜单的快捷键(点右键后用键盘选取),方便操作
修正ReadMemory时没有恢复断点的错误
修正贴粘板的异常问题.
2012-09-04
修正Buffer大小和自动转换数据的错误
2012-08-22
新增相关内存地址引用的数据自动提取,但"内存地址、[内存地址]、常量"要注意区分修正!!!
新增DataAutoBuild=<0或1>等相关选项设置
2012-08-08
新增"数据转换-重复"命令,不用在子菜单中查找(默认是"文本")

 

2011-12-22
修正某些小Bug,新增网页Unicode的转换(如"#20332,#48334")

 

2011-03-23
修正贴粘板的异常问题.
2011-03-14
修改了一些小bug,增强反汇编功能中对api的一些优化处理
2011-03-11
加入设置对话框,配置保存在ollydbg.ini,使更新版本不用改dll。
增加SubCallCount=<十六进制数值>,SubCallDepth=<十六进制数值>
2011-03-02
加上设置Tab对齐位数SetTabLen=<十六进制数值>,数值为空格个数,另更改内存申请方式,减少粘贴板占用内存.

 

2011-02-27
修正反汇编时int3断点问题

 

2011-02-26
加上dump数据的转存和加载,更正一些小错误。

 

2011-02-23
加对MUltimate Assembler v1.3 的label的支持开关MultiAsmLabel=<0或1>,在FileIP:0420h处
加上特征码提取功能.

 

2011-02-22
加上清除地址中的模块名称,另外加了子过程要是有函数名时,生成的proc直接使用子过程名称

 

2011-2-10
加上弹框选项和数据一行多少个,喜欢DIY的请自己用hex编辑器修改datachage.dll
fileIP 400 处的(EditDlg=<0或1>,LineCount=<十六进制数值>

 

2011-2-9
加上Delphi数组定义的完整格式

 

2011-2-1
加上反汇编时连子过程也一起生成出来(跟IDA中的GetCall)类似 ,更加方便提取代码
加上EN版的dll

 

2011-1-25
加上了中英插件的菜单分行

 

2011-1-9
修正 push -1 问题

 

2011-1-7
字符串带编码转换
更正label错位bug

 

;==============================更新历史=============================================================
;===================================================================================================


第五届安全开发者峰会(SDC 2021)议题征集正式开启!

最后于 2020-10-20 15:05 被ttabcs编辑 ,原因: 乱码和没上传
上传的附件:
收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 1258
活跃值: 活跃值 (234)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
在静夜里想你 活跃值 2020-11-5 21:58
2
0
这个好像与13年发的一模一样啊
雪    币: 1208
活跃值: 活跃值 (698)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2020-11-11 22:40
3
0
下载看了下,关于里还是2013年,是不是文件没上传对?
雪    币: 209
活跃值: 活跃值 (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ttabcs 活跃值 2020-11-12 09:25
4
0
更新了,是贴子中少了以下内容,下载中的Readme有写
2020-10-19
       修正因为strongOD插件编译出C式的十六进制问题。如:
               原代码:cmp dword ptr [ebp+0xCh], 0x1h 
               修正为:cmp dword ptr [ebp+0Ch], 01h
雪    币: 1208
活跃值: 活跃值 (698)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2020-11-12 14:57
5
0

下载的附件文件日期是2020-10-19,但是在OD里打开关于还是2013年的,readme也没你说的这些。

是不是上传错了文件,关于的信息没有修改?

上传的附件:
雪    币: 1208
活跃值: 活跃值 (698)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2020-11-12 14:59
6
0

这是附件里的文件。

上传的附件:
雪    币: 1258
活跃值: 活跃值 (234)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
在静夜里想你 活跃值 2020-11-12 20:14
7
0
中文目录的插件和英文目录的插件,好像都是OllyDbg 1.x的为中文,OllyDbg 2.x的为英文
雪    币: 201
活跃值: 活跃值 (1104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 活跃值 2020-11-18 13:06
8
0
没什么区别啊

比如 push 100

还不是一样的提出来是  push 0x100h
游客
登录 | 注册 方可回帖
返回