《加密与解密》笔记三(二)

本文详细介绍如何在IDA中管理结构体和类型,包括结构体的创建、替换、嵌套及头文件导入的方法,并介绍了枚举类型的应用和FLIRT函数识别技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续之前的IDA的介绍:
我们除了可以对数据进行数组形式的显示,还可以对数据进行结构体的创建和替换
7:
(1)结构体的替换,IDA会自动加载相应文件的类型库:(通常都会自带一个vc6win,我们还可以添加mssdk和ntddk这两个用于底层分析),方法是用快捷键Shift+F11或者是View/Open subviews/Type Libraries然后右键点击Load TypeLibrary或者是直接按Insert就可以添加了。
然后在View/Open subviews/Structures里面点击Insert键,然后Add Standard Structure就可以看见你添加的类型库里面包含的所有的类型,之后按+键就可以展开结构了。
(2)自己创建要给结构体对数据进行修改替换:同样的操作,我们只需要在View/Open subviews/Structures里面Insert直接输入结构体名字就可以得到一个空的结构体,然后在end那里点d键就可以新加一个元素(dd/double word,db/byte/,dw/word,在汇编里面一个word两个字节,这里也是通用的)然后如果再按a的话就是定义那个地方是一个数组,第一个空填数组元素个数。然后找到猜想为结构体的地方先选中一开始的地方(一定要是一开始的那一个字节)然后Alt+Q或者是Edit/Struct Var然后选中之前自己创建的结构体模板就好。
(3)如果遇到结构体嵌套结构体的话我们就先在(2)的基础上定义两个结构体,然后在付结构体里面按Alt + Q,选择那个结构体就可以了。
(4)我们也可以自己导入头文件(一般的头文件里面都是包含了结构体声明的)从菜单的Fiel/Load file/Parse Cheader file或者Ctrl+ F9就可以了。
8:如果存在美剧类型的话,在IDA里面看的话就只是push了一个常数,没有任何的意义(可读性)此时只需要在View/Open subviews/Enumerations里面按Insert插入一个就好
9:FLIRT这个功能其实就是一个找出部分RegularFunc为LibFuc功能的(简言之就是一个函数识别技术,让反编译出来的文件有较高的可读性)但是有的时候这个识别并不是完全自动识别的,所以此时就要手动添加签名文件(其识别机制就是为每一个可是别的库函数创建一个签名),方法是Shift + F5然后右键Apply new signature或者Insert也可以,这里同时可以自制某些库的签名文件这只是一个简单的过程描述:
一般的IDA的压缩包里面会自带一个flair68.zip,这个里面包含了pcf.exe和sigmake.exe这两个主要的文件,首先用命令行运行pcf *.lib,*.pat来生成pat,然后再用sigmake *.pat,*.sig生成一个签名文件,如果没有lib有dll的话先反汇编这个dll然后用IDB2PAT生成pat文件就可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值