IDA pro总结

本文对IDAPro的常见内容进行总结,未完待续。

一、常见符号的含义

sub_xxxx  地址xxxx处的子例程(过程/方法)
loc_xxxx  地址xxxx处的一个指令
byte_xxxx  位置xxxx处的8位数据
unk_xxxx  位置xxxx处的大小未知的数据



.text:00401020 ; Attributes: bp-based frame
.text:00401020
.text:00401020 ; int __cdecl sub_401020(char *)
.text:00401020 sub_401020  proc near   ; CODE XREF: sub_401005↑j
.text:00401020
.text:00401020 var_4C  = byte ptr -4Ch        //IDA提供的一个摘要栈视图,列出栈帧内被直接引用的每一个变量,以及大小与帧指针的偏移量
.text:00401020 var_C   = byte ptr -0Ch         // var_为局部变量名称的前缀,后面表示变量与被保存的帧指针之间距离
.text:00401020 var_4   = dword ptr -4
.text:00401020 arg_0   = dword ptr  8         // 函数参数名以arg_为前缀,后面表示与最顶端参数之间的相对距离(十六进制)
.text:00401020
.text:00401020 push ebp ;  
.text:00401021 mov ebp, esp
.text:00401023 sub esp, 4Ch
.text:00401026 push ebx

二、常用的快捷键

  • Alt+B二进制搜索
  • shift+F12查看String
  • shift+F4 查看name
  • shift+F3 查看Function
  • shift+F9 查看结构体
  • N:对(变量、函数)重命名
  • :注释
  • F5 查看C伪代码
  • Tab:在伪C代码和汇编代码之间切换,且光标指向位置不变
  • x:查看引用的部分
  • A:转string
  • Esc:返回前一个位置
  • Enter:进入操作数
  • Alt+t:搜索text

三、IDA F5出错处理

  1. call analysis failed(常见)

    由于F5在分析调用时,未能成功解析参数位置/参数个数,
    解决方法:就是先undefine掉函数,在右键现在code,之后Creat function 就可以正常反编译了

参考链接:https://introspelliam.github.io/2017/08/03/XMAN%E4%B9%8B%E6%97%85-%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80%EF%BC%88%E4%B8%8B%EF%BC%89/

猜你喜欢

转载自blog.csdn.net/life_hes_az/article/details/79506046
IDA