反汇编中关于IDA与OLLYDBG的使用

1 ollydbg 消息断点的方法,菜单栏中点击查看=》窗口,根据字符串找到需要消息断点的控件,右键选择 消息断点在 ClassProc在弹出的窗口中选择WM_XXXX消息,点击后,会在系统代码段中断点,然后,alt+m打开内存窗口,在.text段按F2下断点,然后按F9继续运行,最后会在用户代码段断点,就是要找的位置了,通常会在窗口过程中断到点,这时通过switchcase就可以找到目的了。

2 ollydbg 内存中查找字符串的方法:alt+m弹出内存映射窗口,ctrl+b弹出内存字符串找查窗口,然后在ascii一栏输入想要找的字符串,确定后,会弹出数据窗口,显示找到的字符串所在的内存区域

3  

LoadPE VOffset VSize 虚拟起始地址,虚拟偏移地址,ROffset,RSize 物理起始地址,物理偏移地址

4 查找main函数的方法:首先找到_exit,然后通过交叉引用,找到调用_exit的地方,然后往上几行,找到三个push一个call的地方,就是main函数调用的地方了

5 C++函数命名约定double =>Nint => Hchar => Dfloat => Mstdcall 为以下命名方法例如:int cpp_stdcall(double,char,int,float)?cpp_stdcall@@YGHNDHM@Z

6 ollydgb 不能同时保存数据和代码,只能分开保存,最好修改一处,保存一处

7  
ida,*号标记数组

8 ida ctrl+x交叉引用,enter转到定义,shift+F12打开程序字符串页面(视图-》下级视图-》字符串),然后双击,可转到对应的PE视图,PE视图的.text段有图表和反汇编视图两种方式,PE视图与HEX视图(16进制显示的视图)同步,无需跳转,打开方式,视图-》下级视图-》Hex数据,修改hex数据时,右键编辑即可,但不改变原文件,只会改变工程文件,如要改变原文件,可以使用OD或UE。PE视图点击右键有添加标记与跳转到标记的功能,对于一个call可以所loc_xxxx这种,可以用右键重命名,来标识。

9 od ctrl+n打开函数输入表,用于查找函数调用,alt+m打开内存记录,用于区块断点,F2断点,F3打开,F4执行到到前光标所在的位置,F7步入,F8单步,F9运行,Ctrl+F9跳到函数ret处,Alt+F9回到用户领空,*号跳转到当前断点处,断点种类,指令断点(F2),内存断点,区块断点,条件断点,条件记录断点。

10  
shift+;号编辑od的标签,可以使得调用这个地址的call都改成标号,增加可读性

11  ida 按X可以打开引用变量或调用函数的地方,按enter可以转到数据或函数定义的地方

12  ollydbg 按*号,可以快速回到当前领空。搜索字符串,先点击右键选择中文搜索引擎,ASCII字符串,然后在弹出框出就能通过右键find选项查找

想要的字符串了。

13 ollydbg hit trace 一使用就程序就崩溃

14 ollydbg run trace 需要在启动调试后,再添加所有函数入口,否则会因为堆栈溢出,造成程序的终止

15 ollydbg 寄存器间接寻址条件断点 [string [esp+4]]=="c:\\1212.txt",string可大小写,但后面的字符串一定得是双引号

你可能感兴趣的:(汇编与反汇编)