- 博客(7)
- 资源 (38)
- 收藏
- 关注
原创 18.IDA-创建自己的sig
工具flirt68.zip pcf.exe/pcf: 生成一个模式文件.pat sigmake.exe: 生成一个签名文件.sig流程创建PAT生成pat文件,pat.txt文件说明各个模式的格式。第一部分列举了它所代表的函数的初始字节序列,最长为32个字节。一些字节因为重定位的入口而有所不同,这些字节将得到“补偿”,每个字节以两点显示。。如果一个函数短于32个字节(例如前面代码中的_
2016-01-30 21:16:25 6048 1
原创 17.IDA-基本块的定义
基本块是一条或数条指令的组合,它拥有唯一一个指向块起始位置的入口点和唯一一个指向块结束位置的退出点,通常,为判定基本块,应忽略函数调用指令并未将控制权转交到当前函数这一事实,除非已知被调用的函数无法正常返回。 基本块在行为方面有一个重要的特点 一旦基本块中的第一条指令开始执行,块中的其他指令都会执行,直到最后一条指令 因此,你可以为每个基本块的第一条指令设置断点,当这些断点被触发时,相关
2016-01-28 17:17:50 2142
原创 16.IDA-列出函数中存在的全部call
有时待分析的函数反汇编太长,需要确认此函数调用了哪些call 选择View▶Open Subviews▶Function Calls窗口 窗口的上半部分列出了所有调用当前函数(由打开窗口时光标所在位置决定)的位置 窗口的下半部分列出了当前函数做出的全部调用如,查看fopen的反汇编调用
2016-01-28 10:30:25 5058
原创 15.IDA-查看XREF列表
查看XREF列表在某个位置显示的交叉引用注释的数量由ida.cfg控制,其默认设置为2,当然你可以改变它SHOW_XREFS = 2 // Show 2 cross-references (the rest is accessible by Ctrl-X)示例代码:int read_it; int write_it; int ref_it; void callflow() {} int
2016-01-27 18:09:57 3313
原创 14.IDA-XREF(交叉引用)概述
XREF分类 CODE XREF:代码交叉引用 DATA XREF:数据交叉引用XREF描述含义这是个代码交叉引用sub401000是被引用者,main+2A是引用者(引用sub401000的位置)下箭头表示引用者的地址比sub401000高,你需要向下滚动才能到达引用者地址(main+2A),上行反之~ 4.每个交叉引用注释都包含一个单字符后缀(箭头后面),用以说明交叉引用的类
2016-01-27 16:35:16 18896
原创 13.IDA-显示正确的函数名称(去掉c++后缀命名)
随便看一段IDA的反汇编: C++编译器用于区分重载函数的机制。为了给重载函数生成唯一的名称,编译器用其他字符来修饰函数名称 图左就是C++的后缀命名法,图右是正常的函数名字为了显示正常的函数名字,使用Options▶Demangled Names 比如,我们选中Names,反汇编将显示为: 附 如果一个二进制文件使用了后缀命名,IDA的取消改编功能会立即展示函数的参数类型和返回
2016-01-26 21:34:43 8004
原创 12.IDA-虚函数和虚表
vtable编译器会为每一个包含虚函数的类(或通过继承得到的子类)生成一个表,其中包含指向类中每一个虚函数的指针,这样的表就叫做虚表(vtable)__vfptr每个包含虚函数的类对象都获得__vfptr指针,并且是对象的第一个数据成员 编译器必须要保证虚函数表的指针存在于对象实例中最前面的位置在计算对象的总大小时,也必须考虑到虚表指针。比如new,传递给new的大小值不仅包括类(以及任何超类
2016-01-26 17:29:12 5481
debug.exe在win7-64下模拟
2015-08-25
SetStretchBltMode测试
2011-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人