首页
社区
课程
招聘
[原创]<从0开始学ida逆向>笔记(P1~P104)
发表于: 2021-11-1 15:17 10497

[原创]<从0开始学ida逆向>笔记(P1~P104)

2021-11-1 15:17
10497

“OFFSET”说明传递的是内存地址,而不是内存的值

mov eax,offset dword_460000

按Q键,这条指令会转换为 mov eax,460000.

右键可以从mov eax,460000恢复成mov eax,offset dword_460000


mov eax,offset dword_460000 //将0x460000这个地址传给eax 

mov eax,dword_460000 //将0x460000这个地址的值传递给eax

LEA EAX,[4+5]指令将运算结果 9 传给 EAX,而不会 像 MOV EAX,[4+5]指令那样将地址 0x9 上存储的内容传给 EAX。

(lea传递的是结果  mov传递的是存储的值(OFFSET 除外))(offset传地址)

选择options-demangle names中勾选names:

nop==no operation

如果code区块无法解析为指令的话,则会视作数据


如果函数中间有不识别的指令,ida将无法创建函数,当改为可识别指令之后可以右键:创建函数(patch菜单上的patched bytes功能能显示所有修改的字节,也能将修改取消)


取消修改:

LPCTSTR  ==char[]

DS:程序将把字符串的起始地址存储在数据区块上(data stack)

LEA指令通常用于传递后一个操作数的地址或者运算结果,而非取内容(区别于mov);普遍运用于获取变量参数的地址

var_变量(比如:int a=20   ->  mov [ebp+var_变量,eax])

arg_参数


IDIV  x:除


eax 除以 x :商存入eax,余数存入edx


IMUL:乘法

有两种方式:

Imul eax,[ecx]//eax*[ecx]存入eax 

Imul esi,edi,25//edi*25 存入esi

NOT A :对A按位取反

NEG A:将A变为-A(按位取反后+1)

EIP:下一条要执行的指令


jmp short


无条件段跳转   第一个字节是跳转操作吗,第二个字节表示跳转方向

如:EB 05 jmp short loc_xxxxxx


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-11-1 15:19 被大河向东流哇编辑 ,原因: 未选择话题
收藏
免费 5
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//