注册 登录
编程论坛 汇编论坛

求助ida分析多个段的时候.

nosaybye 发布于 2012-08-25 11:41, 752 次点击

ds,es,ss,都和cs一样,同是一个段的。
所以我在mov ds:123,ax,上按回车能进入123上的位置.

可是最近现在遇到的情况是,ds,es,ss都给设置成了0x22f4,cs:0x2000
这个时候mov ds:123,ax,上按回车进入的是2000:123的位置。

为了解决,查质料说是创建段,我创建之后,问题依旧.
我经常能在ida的代码中看到:assume ss:nothing,这样的。是不是我应该这样处理呢?

求朋友门详细指教。
5 回复
#2
信箱有效2012-08-25 12:22
不会。只用IDA看过32位的。
#3
zklhp2012-08-25 13:37
我经常能在ida的代码中看到:assume ss:nothing,这样的。是不是我应该这样处理呢?

跟这个没关系 assume是伪指令

如果你想进那些 可以用段前缀 mov ds:[11], ax不就可以了

还有就是 这个问题和IDA有什么关系 不懂了
#4
nosaybye2012-08-25 14:35
版主真好人。
因为ds和cs是相同的:
mov ds:[11],ax在11上按的回车,跳转是ida到11的地址,内容可能是xxxx dd ?等,我能给这个地址,起个变量名字,加个注释,因为ds和cs是相同的。

现在我遇到的情况是
mov ds:[11],ax,在11上按的回车,跳转是ida到11的地址的内容是一个函数内,跟本不是数据段,这个时候,我想给它命名啥的都不行。向上查发现有指令跟改ds.
mov bx,22f4
shr bx,4
mov ax,cs cs:2000
add ax,bx
mov ds,ax

我为了能简单使用方便,也能命名地址,所以就创建段,可是整不明白。

#5
zklhp2012-08-25 15:16
从没这么用过ida 不知道。。
#6
zklhp2012-08-25 15:20
因为ida是静态反汇编 所以没法知道段改过了 可能有个地方能设置 不过我没用过也不知道

如果是简单程序 DOS的debug跟着走一下就好了 不必要用ida
1