逆向工具常用操作

2023-10-30

IDA

加载文件

Windows 下,用IDA加载文件之后,会在文件同目录下生成几个文件:

.id0    二叉树数据库

.id1    文件包含描述每个程序字节的标志

.nam  包含IDA Name 窗口的数据库

.til       本地数据库有关信息

 常用快捷键

快捷键 操作
空格 切换视图
ESC 退回上一页
G 搜索地址或者符号
N 重命名
H 16进制转换
Y 修改函数原型、变量类型
:; 注释(:只会在注释处出现)
C 将光标处的内容解析成代码
P 在当前地址解析成函数
D 在当前地址解析成数据
U 在当前地址解析成未定义内容
X 交叉引用
F5 C伪代码
Insert 在结构体试图中添加结构体
ALT+T 搜索文本
ALT+B 搜索二进制
SHITF+F12 字符串窗口

 

OD、xdbg 

常用快捷键

快捷键 操作
F2 下断点
F3 载入EXE
F4 运行到光标处
F7 步进
F8 步过
F9 运行
空格 修改汇编代码
CTRL+F2 重载EXE
CTRL+F8 自动逐行运行程序
CTRL+F9 运行到ret处
CTRL+F 命令模式
CTRL+G 跳转到某个地址
CTRL+B 查找二进制字符串
ALT+C 反汇编窗口
ALT+M 内存窗口
ALT+B 断点窗口
ALT+E 可执行模块窗口

 

断点

条件断点:在条件窗口 

  • eax == xxx
  • string[[esp+4]] == "abcd"      esp+4 是第一个参数 esp+8  是第二个参数
  • string[edi]  == "abcd"    直接是寄存器也可以
  • byte ptr[edi] =="a"   单个字符
  • unicode[eax] =="abcd"    OD认为eax是一个指向unicode串的指针,将其转换为ascii后与文本进行比较
  • bp CreateFileA,[STRING[ESP+4]] == "abcd"        当CreateFileA函数第一参数是abcd是中断  如果是unicode ,就用UNICODE[esp+4]

硬件断点

   DR0、DR1、DR2、DR3 四个寄存器用来存放硬件断点,所以最多同时只能存放4个硬件断点。

   DR4、DR5系统保留,DR7是一些控制位,用于控制断点的方式.

   DR6是用于显示哪个硬件调试器引发的断点。如果是DR0引发的断点,则DR6的第0位被置为1,如果是DR1引发的断点,则DR6的第1位被置为1,依次类推。因为硬件断点同时只能触发一个,所以DR6中的低4位,最多有一位被置为1,所以我们可以通过DR6的低4位来判断是否有硬件断点被断下,还可以确定是哪一位。

DR7结果如下所示:

位数 作用
L0:G0 ~ L3:G3 L0 == 1,代表DR0局部断点;G0 == 1,代表DR0全局断点。其他依次类推。
LE、GE P6 family和之后的IA32处理器都不支持这两位。当设置时,处理器会检测触发数据断点的精确指令。当其中一个被设置时,处理器会放慢执行速度,这样当命令执行时会通知这些数据断点。切换任务时LE会被清除,而GE则不会。为了兼容性,inter建议使用精确断点时把LE和GE都设置为1。
GD 用于保护DRx,如果GD为1,则对DRx的任何访问都会导致进入1号调试陷阱(int 1)。即IDT的对应入口,这样可以保证调试器在必要情况下完全控制DRx
LEN0 ~ LEN3

指定调试地址寄存器DR0~DR3对应断点的长度,如果R/W x 为0时,LEN x 也必须为0,否则会产生不确定行为。LEN x 取值如下:

  • 00   1字节
  • 01   2字节
  • 10   保留
  • 11   4字节
R/W0 ~ R/W3

指定各个断点的触发条件。它们对应DR0 ~ DR3。可能取值如下:

  • 00  执行
  • 01  写入数据
  • 10  I/O端口断点
  • 11  读或写数据

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

逆向工具常用操作 的相关文章

  • opencv面试知识点

    文章目录 一 opencv基础1 OpenCV中cv Mat的深拷贝和浅拷贝问题2 opencv常用数据结构和函数2 1 QImage和Mat之间的转换 3 颜色空间 RGB HSV4 基本图形的绘制 二 opencv xff08 core
  • Linux逆向 - Mirai-上

    Mirai Mirai 变种 资料 源码 Mirai源码 xd0ol1 Mirai 源码分析 https paper seebug org 142 绿盟 MIRAI源码分析报告 http blog nsfocus net mirai sou
  • js逆向技巧(三)

    js伪造原理 js逆向的原理的就是在本地 脱离浏览器的情况下 有着js引擎里面运行 js代码 因为浏览器是 js引擎 BOM DOM这里面有着一些内置方法 所以要想在本地 只有js引擎的情况下运行js代码 对于简单的网站 你可能只扣取 js
  • 被魔改md5加密坑了?某网站魔改md5加密逆向还原 (多种语言还原)

    大家好 我是TheWeiJun 最近由于工作太忙好久没有更新了 静下心来 突然很想念各位读者朋友 所以晚上抽空更新一篇 今天分享一篇关于魔改md5实现的加密算法逆向分析 本文将用多种语言还原加密算法 解决不同语言还原加密算法的难题 希望各位
  • 逆向工程核心原理——DLL注入——创建远程线程

    什么是DLL注入 dll注入是一种将Windows动态链接库注入到目标进程中的技术 具体的说 就是将dll文件加载到一个进程的虚拟地址空间中 对某个进程进行dll注入 也就意味着dll模块与该进程共用一个进程空间 则这个dll文件就有了操纵
  • nftqin网站登录参数s算法逆向

    原文转载自http www itfvck com 7488 html 抓包数据 method POST authority api nftqin com scheme https path api app passwordLogin con
  • GoLang - colly爬虫框架

    大家好 我是TheWeiJun 很高兴又和大家见面了 国庆假期马上就要结束了 在国庆假期里小编看了下colly框架 故这篇文章中将提到colly的使用及分析 欢迎各位读者多多阅读与交流 特别声明 本公众号文章只作为学术研究 不作为其它不法用
  • JS逆向入门教程p1 浏览器设置 常用工具

    1 准备工作 http 编程语言 网络apidavaScript 逆向 js逆向 安卓逆向 ios逆向 PC逆向 调试 图像识别 下载城南Post助手 fiddler wireshark 鲨鱼 抓包工具 通过进程抓包 fiddler插件 f
  • Frida hook Java层

    往期推荐 frida环境安装 Xposed框架安装 使用及插件开发 HOOK startActivity HOOK框架 动态代理 需要相关资料的朋友 可以 加入此处即可打包获取 需要对在进程外传递的消息进行拦截处理就必须采取一种称为HOOK
  • 静态逆向简单的ELF

    看到csdn中一篇文章 http blog csdn net fisher jiang article details 6783922 该文章使用动态调试进行破解找到密码 由于自己对linux不熟悉需要学习段时间 就使用ida静态反汇编进行
  • 新榜微信版块nonce,xyz参数破解

    该文章主要提供交流学习使用 请勿利用其进行不当行为 如本篇文章侵犯了贵公司的隐私 请联系我立刻删除 个人博客 http www feastawlisao com 欢迎关注个人公众号 pythonORjs 今天分析一波新榜数据平台 以微信公众
  • 安卓逆向入门指南:应用分析与反编译

    安卓逆向入门指南 应用分析与反编译 概述 简要介绍安卓逆向工程的基本概念和背景 解释逆向工程的目的和重要性 以及在安全审计和应用研究中的应用 应用分析 安卓应用文件结构的解析 介绍APK文件的结构 包括AndroidManifest xml
  • js混淆与反混淆

    介绍几种js混淆方式 1 eval混淆 js中的eval 方法 就是一个js语言的执行器 它能把字符串解析成javascript的语法进行执行 简单来说就是把原本的js代码当成eval方法的参数 据说此方法出来的第一天就被破解了 修改一下代
  • 逆向某视频直播软件,破解收费观看

    https juejin im post 5cbd7bc06fb9a0324e4a376c
  • Python爬虫之Js逆向案例(3)-X品牌手机社区

    声明 XX手机社区加密逆向分析仅用于研究和学习 这篇文章的学习内容是以XX手机社区为案例 对JS逆向的整个过程进行详细分析 下面会进行以下几步进行分析 下方演示过程全部使用chrome浏览器 锁定关键接口 锁定关键字段 破解关键字段 pyt
  • for in 循环详解

    for i 循环的作用 for in 语句以任意顺序迭代一个对象的除 Symbol 以外的可枚举属性 包括继承的可枚举属性 for in 是为遍历对象属性而构建的 不建议与数组一起使用 在处理有 key value 数据 用于获取对接的 k
  • 爬虫如何快速定位到加密入口

    这里有多种定位加密入口方法 通过打全局xhr断点找到加密入口 可以将在 处点击添加xhr断点 可以针对某个值进行打xhr断点 直接通过关键字找到加密入口 在前面文章讲述过https blog csdn net zhp980121 artic
  • 逆向面试常见问题(陆续更新ing)

    资料大部分收集于网络 点击对应标题有原帖地址 PE 怎么判断PE是DLL 还是EXE 文件值属性 加载基址 怎么判断PE文件是32位还是64位 PE加载过程 基础 Windows下的调用约定 通用寄存器有哪些 段存器 怎么找到函数地址 调试
  • 恶意代码分析实战——Lab03-01.exe基础动态分析篇

    恶意代码分析实战 Lab03 01 exe基础动态分析篇 1 实验目的 综合运用各种分析工具 分析Lab03 01 exe的基本信息 并推测其功能 2 实验环境 硬件 软件 VMware虚拟机 winxp 硬件 处理器Intel Core
  • 逆向破解学习-登山赛车

    试玩 课程中的内容 Hook代码 import de robv android xposed XC MethodHook import de robv android xposed XposedHelpers import de robv

随机推荐

  • 翻转字符串

    描述 写出一个程序 接受一个字符串 然后输出该字符串反转后的字符串 字符串长度不超过1000 示例1 输入 abcd 返回值 dcba 示例2 输入 返回值 法一 使用StringBulider public String solve St
  • UML实例

    以下内容摘自张海藩老师 软件工程导论 课件 UML实例 拟开发一软件 完成学校管理中的教务部门功能 包括班级管理 课程管理 帐户管理等 要求用UML建模 1 用例图设计 主用例图 班级管理子用例图 帐户管理子用例图 2 顺序图和用例图 可为
  • echarts图形销毁重新绘制

    echars在绘制图形的时候会给div添加属性 echarts instance 因此只需要将此属性移除并清空div内容即可重新绘制新的echarts图形 myChart removeAttr echarts instance empty
  • libevent库使用之二:深入理解使用

    目录 一 event base 1 创建event base 2 查看IO模型 3 销毁event base 4 事件循环 event loop 5 event base的例子 二 event 事件 1 创建一个事件event 2 释放ev
  • IE9下silverlight 里边MessageBox.Show 失效!

    今天刚刚安装了IE9 在用的时候发现之前用silverlight 做的一个页面里边 MessageBox Show 执行后看不到弹出的对话框 整个页面卡在哪儿没反应了 测试了一下发现是因为silverlight 所在的页面 是用 javas
  • 迁移wind to linux服务器EE网站--迁移说明步骤

    1 上传程序文件 htaccess上传 里面有特殊字符记得更改2 还原数据库从原数据库导出 SQL的命令mysqldump u用户名 p密码 default character set latin1 数据名 gt 数据名 sql3 修改配置
  • 用CSS画小猪佩奇,你就是下一个社会人!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者 江志耿 腾讯TEG网络工程师 我是佩奇 哼 这是我的弟弟乔治 呱呱 这是我的妈妈 嚯 这是我的爸爸 嚯 背景 小猪佩奇已经火了好一阵了 其实一开始我是不屑的 纵观小朋友的历届动
  • 网络安全-子域名收集

    本文为作者学习文章 按作者习惯写成 如有错误或需要追加内容请留言 不喜勿喷 本文为追加文章 后期慢慢追加 子域名 子域名指二级域名 二级域名是顶级域名 一级域名 的下一级比如mail heetian com和bbs heetian com是
  • Fusionstorage Cinder架构

    由于最近一个月加班开发一个云存储产品 fusionstorage cinder 之前也没有碰过云存储这方面的知识 于是花了很长一段时间去学习了解它的架构 首先我们要知道云存储是什么 云存储其实是在云计算概念上延伸出的一个新概念 通过集群应用
  • 创建线程四种方法详解;及说明ThreadPoolExecutor方式创建线程池

    一 继承Thread类的方式 创建一个线程 class MyThred extends Thread public MyThred String name super name Override public void run 线程内的操作
  • Files under the build folder are generated and should not be edited

    在类库里面写的 按ctrl z返回之前写的代码 然后rebuild project的时候就不行了 报资源文件错误 各种clean也不起作用 报的错误都是build文件下的错误 应该是没更新过来 然后我就 1 show history返回到没
  • sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别

    区别 LinearSVC SVM线性分类器 用来实现线性的分类任务 鸢尾花数据集 执行一个分类问题 import numpy as np from sklearn pipeline import Pipeline from sklearn
  • AI大模型公开课来了!免费学习!

    Datawhale分享 课程 知乎AI大模型公开课 近几年AI发展迅猛 行业巨头争先布局AI领域 想切入大热的AI领域 却找不到方向 为了帮助大家零成本学习AI大模型技术 特邀一线大佬发起 AI大模型公开课 AI大模型进阶之旅 直播时间 9
  • 蓝桥杯单片机学习5——外部中断

    上期我们学习了独立按键 矩阵按键 这次我们来学习外部中断 蓝桥杯单片机学习 外部中断 中断 1 中断请求源 2 外部中断 3 中断寄存器 4 中断优先级 5 中断结构 6 中断函数 6 中断嵌套 实战环节 1 任务要求 2 代码实现 3 代
  • 伽罗华域GF,GF(256)来源

    Galois Field 1 域 2 域中单位元和逆元 3 有限域GF p p p 4 有限域GF
  • Element ui多选框实现单选且隐藏全选按钮

    添加表格多选框列
  • Solidworks导出URDF总结(Noetic)

    环境 Solidwoks2018 SP0 Solidwoks2021 SP5 Ubuntu20 04 ROS1 Noetic Solidwoks2018 SP0对于平移副有问题 显示不出来 Solidwoks2021 SP5没有问题 官网有
  • windows bat批量创建文件夹与文件

    一 新建bat文件 批量创建 bat echo off for f i in nameList txt do mkdir i copy muban docx i i docx do mkdir i copy muban docx i i d
  • JDK历史所有版本下载地址(附Oracle帐号)

    由于有时在新的电脑或者服务器上需要安装新的JDK 但现在下载JDK已经没有之前方便了 需要登录才能下载 今天在这里我就来把jdk所有的版本下载地址与帐号列出来 方便大家下载 JDK所有版本下载地址 Java SE 14 Java SE 13
  • 逆向工具常用操作

    IDA 加载文件 Windows 下 用IDA加载文件之后 会在文件同目录下生成几个文件 id0 二叉树数据库 id1 文件包含描述每个程序字节的标志 nam 包含IDA Name 窗口的数据库 til 本地数据库有关信息 常用快捷键 快捷