Board logo

标题: IDA应用的一些技巧 [打印本页]

作者: likelove    时间: 2014-4-24 12:04     标题: IDA应用的一些技巧

最近又把英杰传拣起来分析。因为是dos下的,试了几个调试工具都不成:tr, tubordebugger无法载入游戏,gb4无法跟踪,gametools一切换就黑屏,只能硬着头皮静态分析。。

不能不说ida pro的强大,版本差不多,4、5、6均可,只是存在一个向下兼容的问题。下面一些技巧供各位分享:

常数转换。比如push 0d076h,已知这是数组的首地址,可在右键菜单中选offset项,并给个名字tb_CharRecData

各类命名。命名为增强可读性,过程,变量,参数,标号等都可以命名,以增强可读性,快捷键是N

强大的F5。将汇编反为C,可惜Dos程序用不了

数据转为字符串。一般右键都可以选,碰到只有一个汉字情况下菜单里无法选,这时按个A就好啦

书签功能。在jump菜单的mark positions那几个就是,用于快速定位到已分析的地方

强大的xref。看过程、变量被哪里引用,右键的jump to xref to operand即可,弹出窗口中可以查相关线索,之下的两个菜单项用于以图形方式画出来,太密集的就放弃吧

字体切换。什么?中文乱码?BIG5乱码?选option -> font好了,字符集中点一下GB能显出汉字,BIG5就是繁体字,只是需要经常切换,麻烦点。对付繁体字可以用简体注释的方式,在它出现的地方就一目了然

结构和枚举。对于游戏中用到的数据,特别适用于structure和enum,比如:
部队属性 str_CharDataRec
index   dw         ;人物代码
num    db          ;战场代码
.....
Mp      db          ;策略值
str_CharDataRec ends

e_attrib(bitfield)
Chaos     =2
FullScr    =4

引用时直接就可以用了
bx+str_CharDataRec.Mp
push FullScr

[ 本帖最后由 likelove 于 2014-4-24 12:59 编辑 ]




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0