本章我们来看两个案例,这两个案例同样使用爆破的方式破解,但是与其他的程序不同,这个程序没有弹窗,提示成功或失败使用的是图片或是一个类似图片的窗体,本章将学习两个新的API函数的使用技巧。

------------------------------------------------------------
本章难度:★☆☆☆☆☆☆☆☆☆
课程课件:CM_07.zip
------------------------------------------------------------

通过GetDlgItemTextA破解

1.直接OD载入程序,来看一下这个弹窗,该弹窗并不是一个MessageBox。

2.我们直接下一个【GetDlgItemTextA】,点击【设置API断点】,选择字符串,然后下断点。

3.直接运行程序,然后输入假的注册码,点击注册,回到OD发现断下,直接【alt + F9】返回到用户模块,返回后如下图。

4.这一层,我们直接单步【F8】跟随,发现关键CALL与关键跳转了,上面的关键CALL就是验证CALL楼。

5.直接把JE指令改成NOP指令,运行程序,破解完成,保存文件即可。

通过GetWindowTextA破解

1.接着看第二个程序,直接OD载入并运行,输入假码点击登录,发现程序没有任何反映,只有我们输入真正的密码才会提示登录成功。

2.对待这种程序,我们可以直接下【GetWindowTextA】断点,下好断然后点击登录。

3.程序会被断下,说明我们断对了,接下来就是直接出CALL然后找关键跳转了。

4.经过不断的出CALL最后在第五层发现了关键跳转,我们直接把JE改成NOP然后保存文件即可破解。

通过EnableWindow破解

1.接着来看一下以下窗体,该窗体默认无法输入内容,无法点击登录按钮,且内部有时钟干扰我们。

2.重新载入程序,不要运行首先下【SetTimer】,然后在下一个【EnableWindow】断点,然后直接运行程序。

3.运行程序,第一次断下的是时钟,我们不要犹豫直接将其返回,让其失效,然后取消这个断点。

4.再次运行程序,程序会断下,此时我们看堆栈,Enable=FALSE 说明登录按钮变成了假。

5.我们选择Enable这一行然后按下,【Ctrl + E】将最后一位修改成1,运行程序即可。

6.运行后,窗体上的按钮会变为可点击状态,此时在爆破即可。

X86逆向7:特殊窗体的破解思路的更多相关文章

  1. X86逆向1:软件破解入门课【课件下载】

    从本节课开始,我将带领小白入门学习软件破解的相关内容,大佬绕过,以后将会定期更新从最基本的破解知识点开始学习,由简单到复杂循序渐进,难度会逐步提高. 为了防止版权方面的争议,我将自行编写一些破解案例来 ...

  2. X86逆向5:破解程序的自效验

    在软件的破解过程中,经常会遇到程序的自效验问题,什么是自效验?当文件大小发生变化,或者MD5特征变化的时候就会触发自效验暗装,有些暗装是直接退出,而有些则是格盘蓝屏等,所以在调试这样的程序的时候尽量在 ...

  3. JetBrains全家桶破解思路(最新更新:2019-04-17)

    JetBrains全家桶破解思路(以DataGrip为例) 2019-04-17 add new key 2019-01-24 add new key and code 2018-12-24 add ...

  4. Android程序破解思路

    Android程序的一般分析与破解流程 1.如何寻找突破口是分析一个程序的关键.错误提示信息左右一般是程序验证逻辑的核心代码. 2.错误提示是android程序的字符串资源,字符串有可能硬编码到源码中 ...

  5. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

    Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  6. 人工智能计算器AI Calculator 3.3.0 具体破解思路&教程

    人工智能计算器AI Calculator 3.3.0 具体破解思路&教程 [文章标题]:人工智能计算器AI Calculator 3.3.0 具体破解思路&教程 [文章作者]: Eri ...

  7. X86逆向3:通过修改关键CALL破解

    软件逆向第一课中我们通过爆破的方式直接破解了程序的登录限制,但这一种方式很不合理,因为你只是破解了登录这一处的验证,如果程序内部还有其他的验证那么你需要再次爆破第二个验证,显然这种方式是很烦人的,如果 ...

  8. X86逆向9:通过关键常量破解

    本章将讲解一下关于关键全局变量的一些内容,关键的全局变量对于软件的破解非常的有用,找到了关键全局变量并改写它同样可以完成完美爆破一个程序,这里我将使用CM小例子来讲解搜索关键变量的一些技巧,最后我们来 ...

  9. URL helper 逆向破解思路+详细过程 利用messagebox破解

    先了解一下软件的运行: 打开后是这样的,要注册 随便输入假注册码,看他怎么响应: 会弹出一个信息窗(massageBox)提示注册失败.到这里就行了,关掉,然后用OD打开,按F9跑起来: 这里输入假码 ...

随机推荐

  1. [CSP-S2019]:赛后总结

    笔者有幸参加了$CSP-S\ 2019$,$AFO$之前,写下自己最后一篇赛后总结. $Day\ 0$ 早上起来把自己调了一晚上被卡空间的题卡过了,很开心(内存限制$256MB$,然而我的内存申请是$ ...

  2. Java 多线程:什么是线程安全性

    线程安全性 什么是线程安全性 <Java Concurrency In Practice>一书的作者 Brian Goetz 是这样描述"线程安全"的:"当多 ...

  3. 第11组 Alpha冲刺(1/6)

    队名 不知道叫什么团队 组长博客 组长博客 作业博客 https://edu.cnblogs.com/campus/fzu/SE_FZU_1917_K/homework/9938 项目情况 燃尽图 陈 ...

  4. P1115 最大子段和&P1719 最大加权矩形

    上接:DP&图论 DAY 1 上午 这两个题本质是一个亚子,所以放一起啦 DPDPDPDPDPDPDPDP P1115 最大子段和 题解 因为题目要求的是一段连续的区间,所以前缀和搞暴力??? ...

  5. 自定义vue-cli生成项目模板配置(1)

    最近在读<变量>,目前得到的认知之一:慢变量才是决定事物长期发展的因素. 打算自定义vue-cli的脚手架或者根据自己的需要设置项目模板的相关参数,很大程度与慢变量这个概念相关. 当然,我 ...

  6. spring clound gateway 上传文件,中文文件名乱码解决办法

    先说解决办法吧: 有三种解决办法 1 ,zuul官方给出了解决方案,使用/zuul开头的请求可以避免中文名乱码以及支持大文件上传 域名是 testgateway.com  接口是  api/image ...

  7. 图解Python 【第一篇】:Python基础1

    本节内容一览图 一.Python简介  Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间, ...

  8. [Java读书笔记] Effective Java(Third Edition) 第 3 章 对于所有对象都通用的方法

    第 10 条:覆盖equals时请遵守通用约定 在不覆盖equals方法下,类的每个实例都只与它自身相等. 类的每个实例本质上都是唯一的. 类不需要提供一个”逻辑相等(logical equality ...

  9. Delphi 10.2.3 精简版自动激活Embarcadero Delphi 10.2.3 v25.0.29899.2631 Lite v14.4

    下载:https://maxwoods.ctfile.com/u/758954/28516301 Embarcadero.Delphi.10.2.RTM.v25.0.26309.314.Lite.v1 ...

  10. The working copy is locked due to a previous error.

    SVN报错: The working copy is locked due to a previous error. 不能更新项目代码... 解决方式: 解决:右键你的左侧管理目录中的相关目录,然后点 ...