ida调试技巧-通过修改zf寄存器的值绕过简单反调试

参考本篇->OllyDbg笔记-对标志寄存器中ZF的理解(逆向方面)_零标志位zf怎么判断-CSDN博客

不想看也没关系,蒟蒻博主概述一下,总之,在机器执行汇编指令时,标志(flag)寄存器中的一个zf (Zero Flag) 零标志位用来存放指令判断,他的值将决定程序的分支走向,比方说zf=1如果走if逻辑,那么zf=0就走else逻辑了

因此在逆向分析过程中,如果程序设有比较简单的反调试函数,可以利用这一点进行绕过,做法就是在反调试函数处打断点,然后修改此刻的zf值为相反逻辑值,下面举个实例:

在这个程序的第11行代码处存在一个反调试函数,我们需要绕过它

按TAB键查看汇编代码(如果ida不是下图这种流程图的形式,按空格键切换即可),这里可以看到反调试函数的具体逻辑,其中有一个jz指令,可以参考本篇->jmp、JE、JZ、JNE、JNT指令_je指令-CSDN博客

不想看还是没关系(哈哈),概述下来就是JZ命令通过ZF标志位判断是否跳转,当执行到JZ指令时,如果ZF=1则跳转,如果ZF=0,不跳转,反正无非就是一个if...else的逻辑

既然ZF=0时程序下一步往左边的线路走,那直接手动把ZF的值改成1

将ZF的值改为1后会发现,程序下一步的逻辑就变成往右边的线路走了(此处绿色的支线在不停跳动,静态截图没办法展现,反正肉眼是能很清楚看见的!),到此也就实现了绕过反调试的目的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/289303.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型新王诞生!Claude 3首次超越GPT4

一觉醒来,大模型世界迎来了“新王登基”! 当地时间周三,聊天机器人竞技场Chatbot Arena更新对战排行榜,Claude 3反超GPT-4,一举摘得“最强王者”桂冠。 这次登顶榜首的是Claude 3系列的超大杯Opus,它以2分…

如何通过idea搭建一个SpringBoot的Web项目(最基础版)

通过idea搭建一个SpringBoot的Web项目 文章目录 通过idea搭建一个SpringBoot的Web项目一、打开idea,找到 create new project二、创建方式三、配置项目依赖四、新建项目模块五、总结 一、打开idea,找到 create new project 方式1 方式2 二、创建方式 新…

elasticsearch 6.8.x 索引别名、动态索引扩展、滚动索引

文章目录 引言索引别名(alias)创建索引别名查询索引别名删除索引别名重命名索引别名 动态索引(index template,动态匹配生成索引)新建索引模板新建索引并插入数据索引sys-log-202402索引sys-log-202403索引sys-log-202…

STM32 | Systick定时器(第四天源码解析)

STM32 | Systick定时器(第四天)STM32 | STM32F407ZE中断、按键、灯(续第三天)1、参考delay_us代码,完成delay_ms的程序 定时器频率换算单位:1GHZ=1000MHZ=1000 000KHZ = 1000 000 000HZ 定时器定时时间:计数个数/f(频率) 或者 (1/f(频率))*计数的个数 500/1MHZ = 500/1…

农田通量计算中的感热通量与潜热通量分析

地表水热通量主要包括感热/显热通量和潜热通量,是陆-气交互以及水-热-碳循环研究的重要变量。其中,潜热通量是地表蒸散发的能量形式,对农业水资源管理、作物水分利用效率等非常关键。由于热红外遥感对地表干湿变化、以及农业干旱响应快速&…

洗地机哪个好?专业对比,帮你选出比较适合的洗地机

随着科技的不断发展,洗地机已经成为了现代生活中不可或缺的清洁工具。然而,市面上涌现出各种各样的洗地机品牌,品质良莠不齐。因此,选择一个可靠的品牌至关重要,以确保产品质量和使用效果。为了帮助大家更好地选择&…

vulnhub靶场之driftingblues-3

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions. This works better with VirtualBox rather than VMware 2.靶场…

python的一些知识点

在C C Java中,基本数据类型变量(将常量数据存储在变量空间当中) int a 3; int b 4; 在C C中,指针变量(存储的是变量的物理内存地址) int a 3; int* b; b &a; int** c; c &b; printf("%d&…

JAVA面试大全之并发篇

目录 1、并发基础 1.1、多线程的出现是要解决什么问题的? 本质什么? 1.2、Java是怎么解决并发问题的? 1.3、线程安全有哪些实现思路? 1.4、如何理解并发和并行的区别? 1.5、线程有哪几种状态? 分别说明从一种状态到另一种状态转变有哪些方式? 1.6、通常线程有哪几…

Web开发基本流程

Web是全球广域网,能够通过浏览器访问的网站。我们要访问网站,首先要在浏览器输入对应的域名。 浏览器也是一个程序,京东的网站也是一个程序,在京东那边电脑运行着,我们只是通过浏览器远程访问。京东的程序由三个部分组…

【生活】如何学习理财

文章目录 1. 了解基本财务知识2. 制定预算4321理财法则 3. 学习投资知识股票债券基金外汇房地产 4. 了解保险知识人身保险人寿保险健康保险意外伤害保险 财产保险财产损失保险责任保险信用保险 5. 寻求专业建议6. 持续学习和实践参考 首先我们想文心一言提问:如何学…

自媒体用ChatGPT批量洗稿软件V5.9环境配置/软件设置教程【汇总】

大家好,我是淘小白~ 首先,感谢大家的支持~~ ChatGPT采集洗稿软件V5.9版本更新,此次版本更新修改增加了一些内容: 1、自定义多条指令,软件自动判断指令条数,进行输入 2、增加谷歌浏览多账号轮询&#xf…

教育建筑智慧能源管理平台解决方案【新型电力系统下的绿色校园能源管理平台】

一、行业特点 1.建筑类型多:集教学、科研、生活于一体,占地面积大,建筑类型多,功能划分复杂。 2.供电可靠性要求高:教育建筑中的高层建筑、图书馆、实验楼等特级和一级负荷比较多,一旦发生故障会危及生命…

基于Python实现多功能翻译助手(下)

为了将上述步骤中的功能增强与扩展具体化为代码,我们将实现翻译历史记录功能、翻译选项配置以及UI的改进。 翻译历史记录功能 import json # 假设有一个用于存储历史记录的json文件 HISTORY_FILE translation_history.json # 初始化历史记录列表 translati…

Vue3+Element Plus+TS开发企业管理后台(一)

系列文章,讲述一个企业管理后台的前后端设计,持续集成常见的页面功能和服务端设计思路。 效果展示 支持多种布局、主题配色随意切换 侧边菜单背景设置 主题色调切换 移动端完美适配 菜单侧边收起,适合移动端小空间场景。 功能开发计划 #merm…

VTK9.2.0+Qt5.14.0 绘制点云

背景 为了显示结构光重建后的点云,开发QT5.14.0VTK9.2.0的上位机软件,用于对结构光3D相机进行控制,并接收传输回来的3D数据,显示在窗口中。 配置QT和VTK VTK9.2.0下载源码,用Cmake编译,编译好的VTK9.2.0…

Markdown 编辑器使用

CSDN 在博客开头加上 [TOC](你的目录标题)就可以根据博客内容自动生成如下所示的目录: 你的目录标题 Markdown 编辑器功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表无序列表…

JavaScript基础练习题之求斐波那契数列第N项的值

一、什么是斐波那契数列: 斐波那契数列是一个数列,从0和1开始,后面的每一项都是前两项的和。也就是说,斐波那契数列的第n项是前两项的和,可以表示为F(n) F(n-1) F(n-2),其中F(0) 0,F(1) 1。…

软件杯 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

蓝桥杯 - 小明的背包3(多重背包)

解题思路: 动态规划 多重背包问题需要在01背包问题(不重复)的基础上多加一层循环进行遍历,并且dp[ j ]的式子也需要修改 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan …