首页
社区
课程
招聘
[建议]一些建议
发表于: 2012-1-11 01:26 10783

[建议]一些建议

2012-1-11 01:26
10783
版主是顶尖的超级大牛,先无耻的膜拜下。

可以说是胡思乱想,有关脚本,
脚本中支持创建结构,创建Enum和处理多个Enum或在一起的值,支持重命名函数堆栈中的参数。我经常用ida 的调试功能分析VB、delphi、MFC这些带壳的程序时,因为ida在这种时候的逆向速度比OD快很多。可以直接带壳运行到入口点,不用dump、不用修复之类的,直接上以前分析时候写的VB、delphi、MFC这些程序的idc脚本,之后就可以直接看符号列表直接找到感兴趣的信息了。
在载入程序时支持自动运行脚本,这个小功能相当的方便,自动完成分析。
在脚本中把和anti-debug相关的结构、常用Windows结构都包含到头文件中,配合一个支持脚本读写内核地址、执行特权指令的驱动,以及方便的控制原程序EIP方法(可以设置脚本中的回调函数的硬件、内存、普通断点),可以让需要处理被Anti的调试目标时方便很多啊。
不要变成Ida一样的自动分析。

和创建结构相关的,支持以特定结构查看特定内存地址的数据,比方用PE头查看0x400000。要是支持结构的话,一个很重要的是想要的是支持结尾一个元素是可变成的数组。

一些小建议,
支持256色,Dx游戏,
方便的CTRL+C, CTRL+V,还有复制粘贴的Undo操作。OD用着很顺手很大一方面是和记事本的无缝链接。现在虽然复制粘贴的功能已经非常强大了,简单明了的一键操作也还很常用的
Ida中一个我很喜欢的是选中一段文字高亮出来,要是可以临时自定义要高亮的字符串就更好了
Etc...

感谢accessesed带来这么漂亮的调试器

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 78
活跃值: (85)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
是accessd~~不是accessesed~~
2012-1-12 11:34
0
雪    币: 1115
活跃值: (122)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
多谢楼主的建议,但是近期还无法做到像ida那样的分析能力,能够完美地将结构、参数、enum等元素组合在一起。但是新版的支持以特定结构查看特定内存地址的数据,例如可以将STARTUPINFO这种系统结构显示出来。将特定的字符进行高亮,例如将汇编界面上的eax进行高亮,其实只需要点击该字符串,整个汇编窗口上的该字符串都会高亮(是不是我理解有误?)
您说的支持256色,Dx游戏是什么意思?是不是指DX游戏的窗口化?
再次感谢您的建议。
2012-1-12 17:09
0
雪    币: 1115
活跃值: (122)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
我在好奇您是哪位达人
2012-1-12 17:11
0
雪    币: 222
活跃值: (478)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
5
我发主题的时候晚上试用了很激动

用特定的结构显示内存位置的数据,我很期待这个功能,要是可以配合脚本来设置结构的话,分析时候可以方便很多。
比方窗口里有,我想高亮这个AX,来找到之前修改标号的那个位置,因为想重命名一下。就会聪明的选EAX的一半"AX"来得到需要的高亮。
MOV EAX, EBX;
MOV WORD PTR [AxTemp], AX;

256色是自定义调色板的程序,通常是游戏,2000年之前的游戏。
DX游戏通常会是全屏的窗口,同时也可以说是占用了对显存的读写,于是OD之类的调试器想要显示出来,肯定需要切换出来,或许很多时候因为某个地方出现等待游戏的响应之类的死锁,就让OD这样的调试器的窗口显示不出来了。显示出来了OD的窗口,DX游戏这时候因为中断了没办法响应切换窗口的消息,所以OD还必须置顶才看得见。
256色的DX游戏则更过分,一些游戏使用的调色板把系统默认的前20多个位置也占用了,OD显示出来则是一个黑白的窗口,只能用windbg来双机调试 :|  解决方案现在想到的有让在显示的时候是256色时使用自己的调色板,也许还可以直接让程序像金山游侠那样嵌入在DX游戏的界面中。
2012-1-13 01:54
0
雪    币: 1115
活跃值: (122)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
之前也想到过支持全屏dx游戏的窗口化,但因为使用的比较少,所以没有加。我在调试全屏的dx游戏的时候,一般是先用d3dwindow这个软件将游戏窗口化,d3dwindow其实是使用了一些hook技术,将全屏修改为窗口。
你可以参考d3dwindow写一个插件试试,目前的插件sdk完全可以做到。
2012-1-13 14:04
0
雪    币: 222
活跃值: (478)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
7
哈哈,这个方法以前试过一次。但是,有些游戏使用的鼠标坐标是固定的从左上开始计算的,一些甚至直接用GetCursorPos来获取鼠标的位置。
所以它们的窗口只能用tool类型没有标题栏的窗口,因为我需要做mod修改游戏的功能,是要修改游戏的鼠标控制方式,所以在tool并总是置顶的窗口下测试鼠标很麻烦,因为OD会弹不到游戏的上面。也不能在游戏的窗口外面点,会因为GetCursorPos的全屏使用方式让游戏乱动。
不过dx的调试目标的确很少,通常的也是准备好了花大量时间了,单独处理也值得的。
2012-1-13 15:12
0
雪    币: 1115
活跃值: (122)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
如果窗口化后鼠标位置不正确,那么还要处理GetCursorPos等API才能完美窗口化
2012-1-14 21:00
0
游客
登录 | 注册 方可回帖
返回
//