逆向分析:利用标志位进行爆破破解

信息收集

查程序编写信息

  • 所用工具Detect It Easy

Delphi编写,根据此信息选择DeDeDark进行反编译进一步收集可用信息

反编译程序进行信息收集

  • 所用工具DeDeDark

载入要分析的主程序点击[开始处理]进行分析

注:主程序即软件主题程序(长见软件安装完毕生成快捷方式所对应的程序)

分析成功探测此窗口

注:点击OK后,会有两个窗体逐个弹出,若想分析更全面可点击Yes(其为扩展分析窗体)

  • 运行软件收集信息,之后针对这些信息进行针对信息查找

弹出注册窗体,使用spy++查询其窗口类名进行针对分析

  • TfrmReg_GB窗口类名对应信息

1

发现一个关键注册对象组信息 object groupBoxRegister: TGroupBox

  • 加载过程关键信息

1

buttonRegisterClick 005F82D0 按钮寄存器对应地址信息

动态调试分析

使用x64dbg进行调试分析

  • 运行程序至弹出注册窗体

  • 填写信息点击注册

弹出注册码错误提示,根据之前找到的窗口信息下断点进行分析

右键转到005F82D0地址(表达式选项)

在此处下断点,再次注册测速

成功断下,进行深入分析

  • 单步分析看下运行流程

1

2

005F8300 | 跳转判断单步发现有很多循环判断,这里为了方便分析直接ZF至0使其跳转不执行也可改汇编指令或其它办法

005F8300 | 这里调用了所输入的用户名与注册码信息

  • 调用关键信息下的判断指令分析

为方便调试这里下个断点

正常运行发现此跳转会执行,查看执行结果

弹出错误注册信息,分析这里是个关键判断(用来判断注册信息是否正确)

  • 重新注册并修改指令或ZF至0使其跳转不执行,查看运行结果

弹出注册成功窗体,初步判断这里可用修改汇编指令je-jne使其输入错误注册信息弹出注册成功的窗体或内存劫持使其跳转不执行达到同样的效果

  • 卸载软件,开启火绒剑监控分析注册成功后有没有什么操作

发现注册成功会有一个文件写入操作,期内含有输入的注册信息

  • 重新运行后发现还是弹出注册窗体

判断对注册文件有验证操作,还需深入分析下

分析注册流程

利用之前发现关键调用信息地址进行分析

1

005F8341 | 调用输入的注册信息   下断方便分析

进call查看

此处下断点

重新运行,发现此处出现4处调用,并读取了注册信息

运行判断后输入al=0 跳转执行,出现错误提示

若al=1 跳转执行,出现正确提示

标志位爆破

根据之前分析的结果进行关键点修改,使其输出的判断结果为al=1

修改汇编指令为mov al,1 之后跟着返回令ret这样会出现验证结果填写的信息都为正确的注册信息

重新运行发现读取错误的配置文件,也到达了正确的注册效果

不在弹出注册窗体

总结

监控软件运行,可查看其输入文件(如注册配置信息)

修改关键判断输出,解决注册验证流程,使其不起正确的作用也是一个不错的办法

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

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

相关文章

再次回首人生的四个部分

概述 今日部门聚餐,讲了明年的业绩组成及如何实现,更多的从侧面反应了群体人之间的差异点。 人生四部分 这里说的可能不是太全面,但是是突感而发,再此总结而已。 出身 能力 选择 机遇 我们无法左右自己的出身,…

C语言蓝桥杯2023年省赛真题

文章目录 持续更新中...第一题题目描述输入格式输出格式样例输出提示 2 第二题题目描述 第三题题目描述输入格式输出格式样例输入样例输出 第四题题目描述输入格式输出格式样例输入样例输出提示 第四题题目描述输入格式输出格式样例输入样例输出提示 第五题题目描述输入格式输出…

【工具变量】上市公司企业研发不确定性数据(2013-2023年)

一、测算方式:参考顶刊《中国工业经济》孙薇(2023)老师的做法,本文从专利的申请与授权的视角出发,以企业当年申请的发明专利中最终未被授权的比例度量研发不确定性 (uc)。这是因为,相…

centos部署SkyWalking并在springcloud项目中用法举例

文章目录 场景SkyWalking介绍部署部署Storage [单机版Elasticsearch]部署SkyWalking OAP [下载地址](https://skywalking.apache.org/downloads/#SkyWalkingAPM)部署SkyWalking Java AgentspringCloud 使用举例 场景 SkyWalking是应用性能监控平台,可用于分布式系统…

MISRA C2012学习笔记(10)-Rules 8.15

文章目录 8.15 控制流(Control flow)Rule 15.1 不应使用 goto 语句Rule 15.2 goto 语句仅允许跳到在同一函数中声明的稍后位置的标签Rule 15.3 goto 语句引用的标签必须在 goto 语句所在代码块或包含该代码块的上级代码块中声明Rule 15.4 最多只能有一个用于终止循环语句的 bre…

[ACL 2024] ReFT: Reasoning with REinforced Fine-Tuning

Contents IntroductionMethodExperimentsReferences Introduction 作者提出 Reinforced Fine-Tuning (ReFT) 进行在线强化学习,帮助模型输出正确的推理步骤,总体感觉在线学习的思路和 STaR 非常相似,就是把 SFT 换成了 PPO… Method Warm-…

DDOS分布式拒绝服务攻击

DDOS分布式拒绝服务攻击 简单来说 传统的DOS就是一台或者多台服务对一个受害目标(服务器,路由,ip,国家)进行攻击,当范围过大时就是DDOS。目的就是通过大规模的网络流量使得正常流量不能访问受害目标&…

JavaSE——泛型编程

一、为什么要引入泛型编程 看这段代码: //传统方法: ArrayList list new ArrayList(); list.add(new Dog("小黄",5)); list.add(new Dog("小黑",1)); list.add(new Dog("小财",10)); //编译器发现不了这种问题&#xff…

深度优先的艺术:探索二叉树的深搜算法精髓

文章目录 前言☀️一、计算布尔二叉树的值🌙解法⭐代码 ☀️二、求根节点到叶节点数字之和🌙解法⭐代码 ☀️三、二叉树剪枝🌙解法⭐代码 ☀️四、验证二叉搜索树🌙解法☁️步骤⭐代码 ☀️五、二叉搜索树中第k小的元素&#x1f3…

VB.net进行CAD二次开发(二)与cad交互

开发过程遇到了一个问题&#xff1a;自制窗口与控件与CAD的交互。 启动类&#xff0c;调用非模式窗口 Imports Autodesk.AutoCAD.Runtime Public Class Class1 //CAD启动界面 <CommandMethod("US")> Public Sub UiStart() Dim myfrom As Form1 New…

linux ls -l 输出 drwxr-xr-x 2 root root 4096 Dec 5 21:48 rootTest 是什么意思

在Linux系统中&#xff0c;ls -l命令用于以长格式列出目录内容的详细信息。输出的一行通常包含以下部分&#xff1a; drwxr-xr-x 2 root root 4096 Dec 5 21:48 rootTest这一行的各个部分意义如下&#xff1a; drwxr-xr-x&#xff1a;这是文件类型和权限的标识。 第一个字符d…

python学opencv|读取图像(五)读取灰度图像像素

【1】引言 前序学习了图像的基本读取&#xff0c;掌握了imread()、imshow()和imwrite()函数的基本功能和使用技巧&#xff0c;参考文章链接为&#xff1a; python学opencv|读取图像-CSDN博客 然后陆续掌握了彩色图像保存、图像放大和缩小以及对imshow()函数的大胆尝试技巧&a…

基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章 功能演示&#xff1a; 基于yolov8的SAR影像目标检测系统&#xff0c;支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov8的SAR影像目标…

2.Flink的项目初始化和Hello-world

目录 1.Flink项目初始化 2.Hello-world 1.Flink项目初始化 新建maven项目或者gradle项目&#xff0c;这里使用maven项目为例。 在项目的pom.xml文件中添加Flink依赖&#xff0c;如下所示&#xff0c;为Hello-World例子的最小依赖&#xff1a; <properties><maven.c…

ESP32开发 云调试

https://blog.csdn.net/weixin_43794311/article/details/128722001 VScode支持的仿真平台 https://docs.wokwi.com/zh-CN/vscode/getting-started 编译&#xff1a;Ctrl Alt B上传并重启模拟器&#xff1a;CtrlShifB Wokwi:Start Simulator调试&#xff1a;CtrlShifB Wokwi…

如何写出一篇好的论文?

写出一篇好的论文需要综合多方面的要素&#xff0c;从选题到最终成文&#xff0c;每一步都至关重要。首先&#xff0c;明确研究主题和目标&#xff0c;确保选题具有创新性、可行性和实际意义。接着&#xff0c;进行深入的文献检索和综述&#xff0c;了解当前领域的研究现状和前…

模版方法模式的理解和实践

在软件开发中&#xff0c;设计模式为我们提供了一套经过验证的解决方案&#xff0c;用于解决常见的设计问题。其中&#xff0c;模版方法模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个算法的框架&#xff0c;并允许子类在不改…

洛谷【排序】算法的题单 - 笔记

2024-12-09 - 第 37 篇 洛谷【排序】题单 - 笔记 作者(Author): 郑龙浩 / 仟濹(CSND账号名) 洛谷【排序】题单合集 一、排序算法都有… 1. 简单排序算法 这些算法通常是基础的排序方法&#xff0c;容易理解和实现&#xff0c;但效率较低&#xff0c;适用于数据量较小的情况…

MySQL--》如何在SQL中巧妙运用函数与约束,优化数据处理与验证?

目录 函数使用 字符串函数 数值函数 日期函数 流程函数 约束 函数使用 函数是指一段可以直接被另一段程序调用的程序或代码&#xff0c;在mysql当中有许多常见的内置函数&#xff0c;接下来开始对这些内置函数及其作用进行简单的讲解和使用&#xff1a; 字符串函数 my…

归有光,情感与真实的独行者

归有光&#xff0c;字熙甫&#xff0c;号震川&#xff0c;生于明孝宗弘治十年&#xff08;公元1507年&#xff09;&#xff0c;卒于明穆宗隆庆五年&#xff08;公元1571年&#xff09;&#xff0c;享年64岁。他是中国明代著名的散文家、文学家和史学家&#xff0c;其散文风格清…