X86逆向1:软件破解入门课【课件下载】
从本节课开始,我将带领小白入门学习软件破解的相关内容,大佬绕过,以后将会定期更新从最基本的破解知识点开始学习,由简单到复杂循序渐进,难度会逐步提高。
为了防止版权方面的争议,我将自行编写一些破解案例来供大家练手学习,破解其实就是一个思路的问题,这里别看每个程序都很小用处不大,破解的技术学到了,是可以应用到每一个程序中来实战的。在开始学习之前作者希望你具有一定的汇编代码阅读能力,和一定的C语言或易语言的开发能力。
------------------------------------------------------------
本章难度:☆☆☆☆☆☆☆☆☆☆
本章课件:CM_01.zip
------------------------------------------------------------
后期课程课件打包:链接:https://pan.baidu.com/s/1hVZxVeTn4h0QNsTlC1xCDg 提取码:4qzs
逆向软件,可以在网上找到的,满大街都是,这里就不分享了,百度网盘下载太慢,受罪。
------------------------------------------------------------
以下是一个简单的登陆提示框,当用户输入正确的用户名和密码时,则会提示破解成功,如果输入错误则提示错误,当然我们这里默认是不知道密码的,我们的任务就是想办法在不知道密码的情况下强制绕过这个登录限制,完成这个软件的破解任务,本关非常的简单也非常的基础,希望能够认真的掌握这一破解技术。

先来看一下这个小程序的核心代码,这样有助于你理解破解流程,如下首先判断两个编辑框是否为空,如果为空则会弹出一个MessageBox信息框,提示用户密码错误,并清空两个编辑框。
否则提示用户破解成功,也就通关了,这个软件有很多中破解思路,其中最常用也是最简单的就是搜索字符串,当然你也可以下一个MessageBoxA的断点来完成破解,由于是入门我们就使用字符串的方式来破解这个程序了。

1.直接打开我们准备的课件OllyICE,然后直接将我们的CM_01.exe拖入OD程序中去。

2.直接OD载入这个待破解的程序,发现并没有壳,这里的特征是VC6.0,你或许会有疑问,为啥易语言编译出的代码是VC6的特征,其实易语言是调用了VC6的链接器,所以看上去很像VC++写的程序。

2.我们用第一种方法来破解这个程序,首先【F12】让程序运行起来,让程序的字符串完全加载,这样有助于我们搜索字符串数据。

3.直接在反汇编窗口【右键】搜索中文字符串,选择ASCII搜索,这里也可以选择智能搜索。

4.接着按下【ctrl +F】 搜索,并输入弹出的错误提示框中的内容,可以看到我们已经找到了,此时直接双击这个错误的字符串。

5.此时可以看到两处弹窗的代码,上面的是成功登录后的弹窗,而下面的则是是失败的弹窗,我们往上找关键的跳转。

6.如上,我们在这个【JE 00401257】处下一个【F2】断点,然后运行程序,并输入随机的帐号密码。

6.当我们点击登录按钮时OD断下了,此时我们的程序处于假死的状态。除此之外,还需要注意在OD中,红色的线条代表跳转成立,而灰色的线条则代表跳转不成立,很明显这里跳转成立了,所以跳过了破解成功,执行了密码错误的提示框,我们此时将je 改为jne 也就是取反的意思。

7.修改完成以后,直接保存这个小程序,反汇编窗口,右键选择【复制可执行文件】,选择按钮。

8.我们直接点击保存按钮,直接保存到桌面,【CM_破解.exe】。

9.运行这个打过补丁的程序,输入随机的用户名密码,然后点击登录,会发现破解成功。

写教程不容易,转载请加出处,您添加出处,是我创作的动力!
X86逆向1:软件破解入门课【课件下载】的更多相关文章
- 软件破解入门(暴力破解CrackMe)
---恢复内容开始--- 所谓暴力破解,就是通过修改汇编代码进而控制程序的运行流程,达到不需注册码也能正常使用软件的目的.相对于解出算法进而编写注册机,暴破的技术含量是比较低的.但也正是因为一本05年 ...
- X86逆向5:破解程序的自效验
在软件的破解过程中,经常会遇到程序的自效验问题,什么是自效验?当文件大小发生变化,或者MD5特征变化的时候就会触发自效验暗装,有些暗装是直接退出,而有些则是格盘蓝屏等,所以在调试这样的程序的时候尽量在 ...
- 专注于C#.Net WPF软件开发-软件反编译-软件破解-逆向-靖芯科技-包括安卓APK反编译
靖芯科技提供.Net软件开发,软件修改定制二次开发,软件破解,反编译,逆向等各项优质服务: 包括安卓APK软件反编译. 包括但不限于C#,WPF,Surface,Winform,Asp.net.JAV ...
- [视频]K8软件破解脱壳入门教程
[视频]K8软件破解脱壳入门教程 链接:https://pan.baidu.com/s/1aV9485MmtRedU6pzyr--Vw 提取码:vbak C:\Users\K8team\Desktop ...
- X86逆向11:F12暂停法的妙用
本节课将介绍F12暂停法的使用技巧,F12暂停法的原理其实很简单,当我们点击OD中的暂停按钮时,OD会将当前的堆栈状态保存起来,并暂停当前窗体的线程执行,直到我们点击运行按钮OD才会唤醒全部线程并继续 ...
- X86逆向10:学会使用硬件断点
本节课我们将学习硬件断点的使用技巧,硬件断点是由硬件提供给我们的一组寄存器,我们可以对这些硬件寄存器设置相应的值,然后让硬件帮我们断在需要下断点的地址上面,这就是硬件断点,硬件断点依赖于寄存器,这些寄 ...
- OD调试9—实例:深入分析代码完成软件破解
OD调试9—实例:深入分析代码完成软件破解 爆破,是最初级的解决方案,不到万不得已,我们不直接修改JNZ通关.因为这样子的话,我们就享受不到破解.逆向的真正乐趣了. 了解程序背后按照剧情发展经常会出 ...
- OllyDBG 破解入门教程
一.OllyDBG 的安装与配置OllyDBG 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了.汉化版的发布版本是个 RAR 压缩包,同样只需解压到一 ...
- X86逆向2:提取按钮通杀特征码
本章我们将学习特征码的提取与定位,特征码是软件中一段固定的具有标志性的代码片段,特征码的用途非常广泛,最常见的就是杀毒软件的查杀了,查杀就是根据特征码定位技术实现的,再比如木马的免杀也是修改了特征码的 ...
随机推荐
- ARTS打卡计划第十四周
Algorithms: https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ Review: “How to write ...
- ARP输入 之 arp_process
概述 arp_process为ARP输入包的核心处理流程: 若输入为ARP请求且查路由成功,则进行如下判断:输入到本地,则进行应答:否则,允许转发,则转发,本文代码不包含转发流程: 若输入为ARP应答 ...
- JS基础_数组的遍历
遍历:将数组中所有的元素都取出来 1.for循环 var arr = ["1","2","3"]; for(let i=0;i<arr ...
- Kafka 概述
Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. Kafka 中,客户端和服务器之间的通信是通过 TCP 协议完成的. 一.传统消息 ...
- 微服务中的CAP定律
说到微服务,先给大家提一下CAP分布式应用知识吧,无论你微服务使用的是阿里云开源的Dubbo还是基于Springboot的一整套实现微服务的Springcloud都必须遵循CAP定理不然你所实现的分布 ...
- .SpringIOC容器
创建对象 SpringIOC容器,是spring核心内容. 作用: 创建对象 & 处理对象的依赖关系 IOC容器创建对象: 创建对象, 有几种方式: 1) 调用无参数构造器 2) 带参数构造器 ...
- 一百零三:CMS系统之使用sweetalert提示框优化返回结果
在base模板中引用 在修改密码的js中使用 $(function () { $('#submit').click(function (evnet) { evnet.preventDefault(); ...
- k8s 管理机密信息
一.启动应用安全信息的保护: Secret介绍: 应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 ...
- Redis安装与配置( Windows10 )
本文链接:https://blog.csdn.net/gaokcl/article/details/82814134linux安装参考:https://blog.csdn.net/gaokcl/art ...
- springboot-springmvc
0依赖 <!-- jsp --> <dependency> <groupId>org.apache.tomcat.embed</groupId> < ...