汇编逆向-入门

news2024/11/16 9:41:52

Qt源码解析 索引

汇编逆向— 授权破解示例分析

问题模拟

运行环境

  1. x64dbg
  2. Windows 10
  3. serial.exe

运行效果

输入注册信息不对提示错误。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tV3bdLGO-1669017713175)(D:\Work\Code\luxiang\CSDN\ASM-serial.exe.gif)]

问题分析

步骤一:查壳

PEid工具使用,略过。

步骤二:分析目标程序

方法:逆向

此程序是已知代码的情况。为了演示。而实际上,我们分析的软件我们是看不到软件的源代码的。

程序逆向的基本步骤如下:

  1. 查找常量字符串;
  2. 通过常量字符串,分析汇编代码逻辑;
  3. 修改汇编代码;
  4. 验证补丁程序

查找常量字符串

​ 步骤1:【调试 D】-【运行 F9】把程序运行起来,进入主模块

​ 步骤2:运行起来后,程序在入口点暂停。然后在CPU(反汇编)窗口->鼠标右键->搜索->选择模块(一般选择当前模块,前提是得先执行到主模块)->字符串,分别搜索:Incorrect!Try Again.字符串,双击搜索结果,软件会自动挑战到相关的代码段 。

在这里插入图片描述

由于搜索到两处,需要单独分析两处的不同

在这里插入图片描述

步骤3:查找到的两处信息分别设置断点,【调试 D】-【运行 F9】把程序运行起来,程序会进入到断点。

在这里插入图片描述

分析汇编代码逻辑

详细查看反汇编代码。如果看不懂不要着急。补充基础知识。

输入666,777点击【确定】。根据实际数据查看程序,分别判断输入用户明与密码的逻辑

在这里插入图片描述

cmp eax,ebx		//	比较结果
je serial.40124C	//相等的话,调用成功,也就是call serial.40134D指令
call serial.401362	//成功调用
jmp serial.4011E6
call serial.40134D	//错误调用
jmp serial.4011E6

修改汇编代码

选中要改动的一行,【右键】–【汇编】,或者快捷方式,将[je serial.40124C]改成[jmp serial.40124C],点击【确定】。

忽略弹出的下一条指令,关闭窗口。

修改完成后可以继续运行,验证修改结果。确认无误后,再导出补丁文件。

验证补丁程序

可以直接运行程序。输入999提示ERROR.。输入任何其他字符提示OK。

在这里插入图片描述

连接知识汇编介绍

JAE ;无符号大于等于则跳转

JE ;等于则跳转

JB ;无符号小于则跳转

rIV1-1669017713179)]

连接知识汇编介绍

JAE ;无符号大于等于则跳转

JE ;等于则跳转

JB ;无符号小于则跳转

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

element 表格字段过长

element 表格 - 表头太长换行 解决方案一:show-overflow-tooltip Table表格,如果每列显示的内容过长则可以使用该属性,即 :show-overflow-tooltip“true”,该属性可以让内容在一行显示,如果显示不下时,显示…

智能晾衣架(一)--设计

本文素材来源于红河学院 工学院 作者:赵德森 张艺锦 潘志慧 曹紫康 指导老师:江洁 张龙超 一、简介 本作品设计的晾衣系统从人们日常生活研究设计,体积小,收纳方便,不占空间可以在日常生活中极大的便利用户。我们…

MyBatis 源码分析之 Select 语句执行(上)

三哥 内容来自【自学星球】 欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。 想要了解更多&…

盘点敏捷项目失败的6个主要原因

敏捷项目管理及其相关的方法和价值观正在迅速改变着许多企业的运作方式。改善灵活性、提高协作和生产力以及加强客户联系的承诺,敏捷的种种好处摆在企业决策者面前。 然而,直接运行成功的敏捷项目并不是必然的。是什么原因导致敏捷管理失败&#xff1f…

公众号免费调用题库

公众号免费调用题库 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击…

Reading Note(8) ——GNN for DSE

这篇博客是一篇论文阅读札记,这篇论文的主题是使用GNN来优化加速器设计中的设计空间探索耗时过长的问题。 这篇文章的标题是《Enabling Automated FPGA Accelerator Optimization Using Graph Neural Networks》,值得注意的是这是它的预印版&#xff0c…

Java-内部类

内部类的概念 认识内部类 一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称之为内部类inner class,嵌套该内部类的类称为外部类。就像双重for循环,外部for循环里面包含着另一个内层循环。内部类是类的第5大成员,[属性,方法…

让我们进入面向对象的世界(一)

让我们进入面向对象的世界 文章目录让我们进入面向对象的世界开场白一.面向对象概述二.认识对象和类2.1什么是类2.2 什么是对象呢?2.3 让我们来创建第一个对象2.3 让我们进一步了解,我们针对对象的操作,是怎样的开场白 大家好!&a…

SpringMVC请求、响应与异步请求

文章目录SpringMVC核心架构的具体流程步骤一、SpringMVC请求与响应1、SpringMVC Handle原理与应用1.1 概念1.2 Spring MVC Handler的三种写法2、SpringMVC 视图解析器2.1 概念2.2 配置视图解析器二、SpringMVC异步请求1、 Ajax基本配置2、 异步与同步优缺点:如何设置…

基于TMI8421的3D打印机步进电机解决方案

打印机一直是工作中不可缺少的一部分,当下,随着3D打印技术的推广,3D打印机逐渐进入我们的生活与工作当中。每个人都期望可以在办公室环境下安静快速的打印,更高效地完成每项打印工作;更生动逼真的重现理想的3D模型。而…

实战:如何优雅地扩展Log4j配置?

前言 Log4j 日志框架我们经常会使用到,最近,我就遇到了一个与日志配置相关的问题。简单来说,就是在原来日志配置的基础上,指定类的日志打印到指定的日志文件中。 这样讲述可能不是那么好理解,且听我从需求来源讲起。…

【10】leetcode note

题目: 799. 香槟塔 个人总结 799. 香槟 我们把玻璃杯摆成金字塔的形状,其中 第一层 有 1 个玻璃杯, 第二层 有 2 个,依次类推到第 100 层,每个玻璃杯 (250ml) 将盛有香槟。 从顶层的第一个玻璃杯开始倾倒一些香槟&…

基于铁犀牛ironrhino平台的税务档案管理系统

目录 摘要 2 引言 5 1.1 选题背景 6 1.2 国内外研究现状 7 1.3课题研究的重要性 8 2. 系统的需求与分析 8 2.1 系统的功能介绍 9 2.1.1 业务信息描述 9 2.1.2 系统功能说明 10 2.1.3 系统的开发目标 11 2.2 系统分析 12 2.2.1 铁犀牛的功能 12 2.2.2 铁犀牛工作原理 13 2.2.3 铁…

翻阅必备----Java窗口组件,容器,布局,监听,事件 API大全

---------------------------------------------------------------------------------------- 👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏 java ⭐Jav…

将存在课题的过程可视化,丰田的“自工程完结”是什么?

将存在课题的过程可视化,丰田的“自工程完结”是什么? “全日本的公司是不是都发生了奇怪的事情呢?人们常说日本人很勤劳。所以要拼命努力。但是,有很多人拼命努力却毫无成果。(中略)这样才不会有动力。明明很努力却没有成果,我认为这才是奇…

将SpringBOOT项目 打成 war 包 并 部署到 Tomcat

当前环境&#xff1a;Windows Tomcat版本&#xff1a;tomcat8.5 SpringBoot版本&#xff1a; 2.2.3 1. pom.xml 修改打包方式 <packaging>war</packaging> 2.加入SpringBoot打包插件&#xff08;pom.xml&#xff09; <build><plugins><plugin&g…

Jmeter的使用说明

一、安装Jmeter工具 链接&#xff1a;https://pan.baidu.com/s/1ZYc15eq9DO-r0ChKHxMXlg?pwdckcd 提取码&#xff1a;ckcd --来自百度网盘超级会员V5的分享二、Jmeter的常用元器件说明 jmeter八大元件件&#xff1a;取样器&#xff0c;前置处理器&#xff0c;后置处理器&a…

计算机网络——第六章笔记(1)

传输层 传输层是层是整个协议栈(TCP/IP)的核心。 任务&#xff1a;是提供可靠的、高效的数据传输。 面向连接的服务 1、端到端的连接管理 建立连接 数据传输 释放连接 2、流控制 3、差错控制 传输环境&#xff1a;通信子网、物理信道。 传输服务和网络服务的两个主…

网络了解编程五层协议

一:了解 1.了解一下网络: 局域网(LAN),一个上课的机房,多个连在同一个路由器上的设备,就是在一个局域网中---打游戏 (局域网内的主机之间能方便的进行网络通信&#xff0c;又称为内网&#xff1b;局域网和局域网之间在没有连接的情况下&#xff0c;是无法通信的) 广域网(WAN) ,…

无线 LAN 服务概述

无线 LAN 服务是 Windows Server 2008 R2 和 Windows Server 2008 中的一项功能&#xff0c;可用于启用无线 WLAN 自动配置服务&#xff0c;以及配置 WLAN 自动配置以自动启动。一旦启用后&#xff0c;WLAN 自动配置会动态选择计算机将自动连接的无线网络&#xff0c;并配置无线…