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

信息收集

查程序编写信息

  • 所用工具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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

ESP32开发 云调试

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

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

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

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

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

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

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

计算机网络-Wireshark探索ARP

使用工具 Wiresharkarp: To inspect and clear the cache used by the ARP protocol on your computer.curl(MacOS)ifconfig(MacOS or Linux): to inspect the state of your computer’s network interface.route/netstat: To inspect the routes used by your computer.Brows…

Vue3小兔鲜电商项目

创建项目 npm install 装包

美畅物联丨视频接入网关如何配置 HTTPS 证书

在安防领域,视频接入网关(Video Access Gateway,VAG)是视频监控系统的重要组成部分,其职责是把视频数据从前端设备传输至后端服务器。配置HTTPS证书后,可对视频流进行加密传输,避免数据在网络传…

fastcam编程套料软件

Fastcam是一款功能强大的专业软件,以下是对它的具体介绍: 基本信息 • Fastcam自1982年推出首个交互式CNC编程和套料系统后,一直不断更新发展. • 它是为数控火焰、等离子、激光和水射流切割机等数控切割机开发的编程套料软件. 主要功能模…

【大语言模型】LangChain ModelsIO与Models I/O Promopts详解

【大语言模型】LangChain ModelsIO与Prompts详解 一、LangChain ModelsIO1、简介2、Models I/O 的应用场景3、Models I/O 主要模块3.1、Prompts3.2、Modelsa、MESSAGES 类型 3.3、Output Parsers 二、LangChain ModelsIO Prompts1、简介2、Prompts 的优点3、实战示例3.1、Promp…

MicroBlaze软核开发(三):DDR + FLASH

实现功能:使用 MicroBlaze软核,配置 DDR、Flash 接口,并将程序烧写固化到Flash,每次启动 FPGA 时自动运行 Flash 中的程序 。 Vivado版本:2018.3 FPGA:Xilinx Artix-7 系 目录 引言 Vivado部分&#xff1…

11.23[大数据]

PRO1:LSTM模型预测输出都是同一个值? 画出来的图像就是一条横线 这个搜了搜,原因可能有很多,但感觉最主要的原因极可能是激活函数选择不当,以及层的搭建不合适 原模型是 REF https://zhuanlan.zhihu.com/p/654325094 https:/…

基于SpringBoot+Vue的新闻管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展,信息传播速度不断加快,新闻媒体行业面临着巨大的机遇与挑战。传统的新闻媒体正在逐渐向数字化转型,而新闻管理系统作为数字化新闻媒体的核心组成部分,其…

【C语言】完成程序设计填空

文章目录 1、请阅读下面的程序,在空白处填写正确的代码,要求各在一行从头开始输出m和n的值。2、求100~599之间的所有水仙花数,即各位数字的立方和恰好等于该数本身的数。3、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序 拆分并输出。请填空…

MySQL-DDL之数据表操作

文章目录 一. 表的创建1. 表的创建2. 栗子 二. 查看表1. 查看数据库中的所有表2. 查看表结构 三. 删除表1. 删除表 四. 修改表结构1. 添加字段2. 修改字段3. 删除字段4. 修改表名 数据定义语言:简称DDL(Data Definition Language) 一. 表的创建 1. 表的创建 格式&…