x64dbg中设置条件断点 ,IDA Pro常用基础操作
[原创]在x64dbg中设置条件断点
2019-5-17 10:04 18326
x64dbg是逆向分析win64程序的利器,它的地位类似于OllyDbg。最近遇上了怎样在x64dbg设置条件断点的问题,网上搜索了一遍仅看到x64dbg的使用手册,没有图文并茂的说明文档,琢磨了一番搞明白了,现写出来分享给大家。
1、 条件断点
在想要设置断点的指令处按F2设置断点,然后在断点窗口选中该断点,右键选择“Edit”

在Break Condition写入中断条件,如下图中写的:(esi == 73) && (eax==64)
注:此处的73,64都为16进制数。

设置后运行将在满足条件的指令处停下来。

2、 条件记录断点
条件记录断点就是没有中断条件,仅将关注的数据记录下来。
如下图所示,设置break condition为0,Log text设置需要记录的数据,同时将silent项选上。

设置完运行后,在Log窗口就可以看到记录的数据。

IDA Pro切换图形或代码模式
1、空格
2、右键选择Text View/Graph View切换
图形模式

代码模式

IDA Pro常用基础操作
IDA Pro常用基础操作
1、查看字符串


2、跳转到代码中


3、跳转到地址
跳转到_text_410CC9位置


4、堆栈窗口
IDA-ESP窗口现在列出了我们感兴趣的函数的堆栈结构

通过调试器窗口指向堆栈窗口,点击"箭头"

5、把汇编转换成源代码
强大的F5

6、监视
我们可以添加监视,通过监视观察在程序执行过程中数据的变化。

7、转到入口点


8、Text view


9、Graph view


10、查看string


1、IDA Pro下断点
F2下断点
F9运行
变成红色

或右键

2、查看导入导出表


3、打开调试器窗口


4、视图窗口
![]()

5、查看数据段的字符串在代码段中的引用位置
函数可以利用交叉定位找到调用的地址.
字符串无法找到,可能调用的地址经过变化
6、CODE XREF
外部参照代码
7、每个函数最上方为函数的栈帧。
8、ESC键经常会关掉窗口,可以RESET…
String每次打开都会扫描,可以设置不同语言特性对应的字符串。
9、快捷键G.跳转到地址或者名称。go窗口。在反汇编窗口,esc键是返回。ctrl+enter是下一步。或者用图标:

10、IDA对函数栈帧的表示方法。。。挺有用。。命名方式与大小:

详细栈帧:

其中r表示返回地址。
11、栈帧为了对齐等,一般在ebp上面留开8个字节。
12、Alt+T 搜索字符串。 N重命名。。ALT+I 搜索值
13、D,把代码变成数据,C反之。U,取消格式。
x64dbg使用技巧与实用插件合集
|
本文是针对刚开始接触X64dbg的新人写的实用技巧和插件合集 前言萌新一个,接触逆向时间不长,但因为很喜欢x64dbg这款调试器,所以花了一些时间去了解,x64dbg的这类帖子相对较少,本贴的初衷是希望其他新人在学习的时候可以多一些参考,少一些时间精力的浪费。希望大家为我的帖子指正错误和做补充。 以下均基于Mar 12 2021版本x64dbg官方版本,可到官方网站直接下载 官方网站:https://x64dbg.com/ 第一次运行双击x96dbg,出现三个弹窗,会生成x96dbg.ini文件。当你需要把整个程序文件夹移动到其他路径时,最好把这个ini删除,重新双击让它再生成。当你需要把它加到发送到菜单中的时候,也推荐添加x96dbg,它会自动选择用x32还是x64dbg打开。
你需要做些什么设置外观
选项设置
使用技巧篇
插件推荐篇以下主要详细介绍我平时常用的插件,建议大家按照需求来安装(插件放在release\x32或者x64\plugins目录下,以.dp32或.dp64结尾) Scylla(脱壳与导入表修复)
SwissArmyKnife(导入Map文件)https://github.com/Nukem9/SwissArmyKnife 没什么好解释的,分析C程序的时候用IDA生成MAP文件,然后用这个插件加载。分析delphin程序推荐用Interactive Delphi Reconstructor先分析,再生成MAP文件用,还有其他程序也同样。MAP文件可以让你的分析进度大大加快,减少分析一些已知的库函数。 x64dbg_tol(中文搜索支持)https://bbs.pediy.com/thread-261942-1.htm 必装插件,虽然官方在某个版本开始改善了对中文的支持,但他们在博客上也说了,可能会不全,建议自行安装插件。我自己测试了,嗯,他们说的没错。装了这个插件就能搜到之前搜不到的中文字符串了。 ScyllaHide(反反调试)https://github.com/x64dbg/ScyllaHide x64dbg官方开发的开源反反调试插件,同类插件也有好几个,但官方的用得人比较多且更新快,所以这边推荐官方的插件。使用方法也很简单,插件菜单——Options——Loaded里可以选择自带的绕过方案(过一般的反调试可以用Basic甚至直接用自带的 调试——高级——隐藏调试器) 试了下VM3.x的反调试可以用自带的VM方案直接过掉(反而OD的StrongOD插件不行)
Ret-Sync (IDA x64dbg\OD 同步调试插件)https://github.com/bootleg/ret-sync https://bbs.pediy.com/thread-252634.htm 可以让IDA和x64dbg\OD\windbg进行同步调试,支持在IDA中直接进行单步、下断点、运行等操作,x64dbg将会与IDA保持同步,提高你调试效率的神器,关于安装、使用说明可以参考官方github说明(更详细)和看雪的帖子。 这里要特别提一点,如果你需要在虚拟机里用x64dbg,实体机里用IDA,需要创建两个.sync文件,内容都为
一个在装了IDA的机器上,放在你需要调试的程序目录下(跟IDA生成的IDB文件放一起) 一个放在安装了动态调试器的机器上,用户文件夹根目录(C:\Users\你的用户名) 这样就可以实现虚拟机和实体机同步调试了
E-ApiBreak(常用断点设置)https://www.52pojie.cn/forum.php?mod=viewthread&tid=1384349 OD上常用的一个工具,现在x64dbg也有了。简单易用,不多说明。
E-Debug(分析易语言程序必备)https://www.52pojie.cn/forum.php?mod=viewthread&tid=1374290 原作者githubhttps://github.com/fjqisba/E-debug-plus 最开始我在OD上用这个插件,可以让分析易语言的效率倍增。最近发现有人移植到x64dbg了,在此推荐一波,打开后会自动识别易语言库函数并且注释。
HotSpots(用来寻找事件断点)https://github.com/ThunderCls/xHotSpots 下拉框选择对应语言,按下按钮可以在按钮事件处理函数 下断点。
我把个人觉得必备的几个插件打包了,下载覆盖相应文件夹即可。(xAnalyzer,SwissArmyKnife,x64dbg_tol,ScyllaHide,BaymaxTools,xHotSpots)其他插件如果需要自行下载即可 |
https://www.52pojie.cn/thread-1393075-1-1.html






















浙公网安备 33010602011771号