能力值:
( LV2,RANK:10 )
|
-
-
2 楼
int ssss( uint32 ss[32], uint8 kk[8] )
{
int i;
uint32 X, Y, T;
比如这个函数,在OD里反汇编,会自动分析出
第一个定义的局部变量
int i [local.1]
[local.2] 就是 X了。
[arg.1]就是第一个参数ss[32],
同理,kk[8] 就是 [arg.2] 了。
要在OD里显示参数和变量,可以按alt+o,然后选项卡 分析1 里选中“显示函数中的参数和局部变量”
我现在的问题是,如何自定义这些参数和局部变量的名字,是否可以像给函数加标签(shift+;)一样也可以给它们加上标签?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
学习中......
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
学习了,原来od1.1也可以显示参数和局部变量阿,以为是od2才添加的功能。
|
能力值:
(RANK:260 )
|
-
-
5 楼
非常遗憾地告诉你,OD里局部变量无法加标签。
IDA中是可以为局部变量和参数命名的。但OD中还没有这一功能。
只能自己用心去记,什么”local.1是循环计数器,local.4是缓冲区指针“之类。
所幸一般也就分析很少几个函数。多看几遍能记个差不多。
不过我还是推荐用IDA来分析代码,而用OD来验证分析得是否正确。
我就是这么干的。在IDA中阅读反汇编的代码,该加注释就加注释,该加标签(在IDA中叫做改名,快捷键是N)就加标签,局部变量和参数也可以命名,而且参数改名后,IDA会在调用函数的地方自动增加注释,相当方便。
而且最方便的一点,寄存器变量也可以改名!!!这对于release版的高度优化后的代码来说用处真是太大了!!!
在IDA中每得到一个阶段性的结论,可以把导出MAP文件,然后用OD验证一下即可。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
IDA我还不会用,谢谢书呆彭老师耐心解释....
我一直以为local.1就是第一个定义的变量,呵呵.
经过对那个DES算法的反向,对照别人的代码,我已经基本能把VC编译的简单函数反向出来了。就是那个参数没标签看得不爽,呵呵。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
以前听大侠说,IDA 里的代码机会可以当源码看了,开始不信,现在慢慢真的有这种感觉
|
|
|