ida 字符串查找_IDA的常见操作

IDA-python的使用:常用的api

get_bytes(address,count)从address处读取count个字节的内容

patch_bytes(address,buf),将adress地址处patch成buf的内容

Xrefsto(address,flags=0) 找到所有引用了adress的地址

byte(address) 获取address地址的一个字节的内容

一些IDA常用的快捷键:

跳转到特定地址 : G

查询交叉引用: X

查找字符串: alt + t

拍摄快照:ctrl+shift+w

重新定义变量数据类型 : y

undefine一个 函数: u

create 一个函数:p

ida反编译的一些技巧:

如果它函数反编译出来的变量很奇怪,可以将这个函数undefine掉然后再define,这样看的变量就会正常很多

如果反编译函数显示sp指针有问题,可以通过快捷键alt+k 在报错的地址修复sp指针

如果函数的结束地址正常,可以通过快捷键alt+p修改函数结束地址

可以变量转换数组,通过快捷键 y 将数据类型修改为 对应的类型的指针 例如 char *a1

ida远程调试linux上的程序

先将ida文件夹下的linux_server64或者linux_server32拷到虚拟机去

然后给它执行权限,同时将要调试的文件和它放在同意文件夹,然后设置ida使用remote debugger 设置相关的路径,就可以开始调试了

ida 之定义一个结构体

在 edit 中选择 Add struct type 快捷键 是ins

image.png

设置struct的name,想要向结构体添加成员的话,点击 struct ends ,然后按D,就可以添加成员,再通过 N修改成员的名字,Y修改成员的类型

00000000 ; Ins/Del : create/delete structure

00000000 ; D/A/* : create structure member (data/ascii/array)

00000000 ; N : rename structure or structure member

00000000 ; U : delete structure member

00000000 ; [00000018 BYTES. COLLAPSED STRUCT Elf64_Sym. PRESS CTRL-NUMPAD+ TO EXPAND]

00000000 ; [00000018 BYTES. COLLAPSED STRUCT Elf64_Rela. PRESS CTRL-NUMPAD+ TO EXPAND]

00000000 ; [00000010 BYTES. COLLAPSED STRUCT Elf64_Dyn. PRESS CTRL-NUMPAD+ TO EXPAND]

00000000 ; ---------------------------------------------------------------------------

00000000

00000000 struc_1 struc ; (sizeof=0x128, mappedto_6)

00000000 name dq ? ; offset

00000008 age dq ?

00000010 description db 256 dup(?)

00000110 align dq ?

00000118 friends dq ? ; offset

00000120 flags dq ?

00000128 struc_1 ends

00000128

如果想修改变量为struct的类型 ,就用 Y快捷键修改

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值