首页
社区
课程
招聘
[旧帖] ida编辑结构时的偏移显示还有进制问题 0.00雪花
发表于: 2010-12-4 14:53 5852

[旧帖] ida编辑结构时的偏移显示还有进制问题 0.00雪花

2010-12-4 14:53
5852
我在google上搜索了很久,但ida相关的主题总是那几个,而且里面都没有说明到我想知道的这个。像是看雪的ida简易教程等。但ida的帮助文档里也没有可以直接找到的struct里怎么显示偏移的内容。

一个问题是,ida里大部分数据都是用十六进制显示的,相反结构编辑这儿显示缺用的10进制,我用计算器转换转的九窍生烟,虽然也可以用,但还是问一下,有没有办法改成十六进制?

再加一个问题,ida里怎么设置一个指针指向一个结构?
类似于
mov eax, [4000120]
之类的代码,在程序里大量出现,之后有 mov ebx, [eax+ 0x123]之类的代码访问结构中的数据,有没有办法一劳永逸的把这个地址设置为一个指向结构的指针?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2010-12-4 15:12
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也被IDA的结构体折磨的很无奈,呵呵,特别是结构体内嵌了一个联合体的时候 :-)
2010-12-4 20:23
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
比如mov eax, dword ptr [eax+123h]

对着123h点右键里面有个Structure offset

改成你要的指针不就行了

你是不是想问这个哦?

如果是你自定义的结构,你必须先添加结构体

视图 -> 打开下级视图 -> 结构体

这样就是结构页面了,然后还要在结构页面选

编辑 -> 添加结构体类型

添加你的结构体进去

如果说你是要那种一个变量,比如

var_8
var_4

这两个变量是一个结构体,你就双击var_8来到stack of sub_XXXXXXXX页面

点中var_8,然后按alt+Q快捷键,弹出选择结构体的窗口,选择结构体

全局变量也是一样的,自己研究一下就行了
2010-12-5 10:15
0
雪    币: 180
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
to LS。
不是这样的,我正是不想这样一个一个设置偏移的太麻烦了,我碰到的一个结构体长达 0x30000多字节元素超多的,而且它是动态分配的,这样访问都是通过先访问一个保存内存地址的指针来得到结构地址,接着取偏移来操作其中数据的,我分析了一部分结构中的元素意义,但是那个元素数量太多了,不按照元素名显示还是看不懂。而且手工一个个设置的话,没有100w也有10w了,我是想如果ida没有弄合适的功能,想写一个简陋的脚本来做到。

那个进制问题,还是很困扰,不知道有没有前辈知道怎么设置 :P?
2010-12-5 15:56
0
雪    币: 6092
活跃值: (654)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
6
同求 这个问题的答案,不知道 f5之后的十进制偏移怎么转16进制啊,手工太麻烦了
2011-10-14 10:48
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
IDA我只会找字符串
怎么找异常偏移呢?

(我把DLL上传一下帮我看下吧,自己写的程序都可以拦截并正常返回改写的值。
拦截其他程序很多都会停止工作)
上传的附件:
2012-6-18 14:50
0
游客
登录 | 注册 方可回帖
返回
//