首页
社区
课程
招聘
[求助]OD可以给变量加标签么?
发表于: 2008-11-6 09:30 8865

[求助]OD可以给变量加标签么?

2008-11-6 09:30
8865
005643C2  |.  894D FC       |mov     [local.1], ecx                  ;  i++
005643C5  |>  837D FC 10     cmp     [local.1], 10                   ;  i<16
005643C9  |.  0F8D BB020000 |jge     0056468A                        ;  if判断 i是子KEY计算次数 1,2,9,16次时<<1,其它<<2
005643CF  |.  837D FC 02    |cmp     [local.1], 2                    ;  i<2
005643D3  |.  7C 0C         |jl      short 005643E1
005643D5  |.  837D FC 08    |cmp     [local.1], 8                    ;  i==8
005643D9  |.  74 06         |je      short 005643E1
005643DB  |.  837D FC 0F    |cmp     [local.1], 0F                   ;  i==15
005643DF  |.  75 2E         |jnz     short 0056440F                  ;  else
005643E1  |>  8B55 F8       |mov     edx, [local.2]



像这一段里,我知道[local.1]是循环里的局部变量i,可以在当前函数里让它都显示为[i]么?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (46)
能力值: ( 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+;)一样也可以给它们加上标签?
2008-11-6 10:38
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习中......
2008-11-6 11:00
0
雪    币: 1436
活跃值: (3861)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
学习了,原来od1.1也可以显示参数和局部变量阿,以为是od2才添加的功能。
2008-11-6 13:34
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
非常遗憾地告诉你,OD里局部变量无法加标签。

IDA中是可以为局部变量和参数命名的。但OD中还没有这一功能。

只能自己用心去记,什么”local.1是循环计数器,local.4是缓冲区指针“之类。

所幸一般也就分析很少几个函数。多看几遍能记个差不多。

不过我还是推荐用IDA来分析代码,而用OD来验证分析得是否正确。

我就是这么干的。在IDA中阅读反汇编的代码,该加注释就加注释,该加标签(在IDA中叫做改名,快捷键是N)就加标签,局部变量和参数也可以命名,而且参数改名后,IDA会在调用函数的地方自动增加注释,相当方便。

而且最方便的一点,寄存器变量也可以改名!!!这对于release版的高度优化后的代码来说用处真是太大了!!!

在IDA中每得到一个阶段性的结论,可以把导出MAP文件,然后用OD验证一下即可。
2008-11-6 21:20
0
雪    币: 200
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
IDA我还不会用,谢谢书呆彭老师耐心解释....

我一直以为local.1就是第一个定义的变量,呵呵.

经过对那个DES算法的反向,对照别人的代码,我已经基本能把VC编译的简单函数反向出来了。就是那个参数没标签看得不爽,呵呵。
2008-11-6 22:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
以前听大侠说,IDA 里的代码机会可以当源码看了,开始不信,现在慢慢真的有这种感觉
2008-11-6 23:03
0
游客
登录 | 注册 方可回帖
返回
//