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:提取按钮通杀特征码
本章我们将学习特征码的提取与定位,特征码是软件中一段固定的具有标志性的代码片段,特征码的用途非常广泛,最常见的就是杀毒软件的查杀了,查杀就是根据特征码定位技术实现的,再比如木马的免杀也是修改了特征码的 ...
随机推荐
- mac -bash: ll: command not found
在linux系统下我们经常使用ll.la命令.但在mac系统时缺没有. 提示:-bash: ll: command not found. 这是因为ll.la不是真的命令,而是一些常用命令和参数搭配的别 ...
- python位运算版的算术四则运算
#!/usr/bin/python # -*- coding: utf-8 -*- class ElementOperator: def add(self, num1, num2): # 32bits ...
- 用itext生成PDF报错:Font 'STSong-Light1' with 'UniGB-UCS2-H' is not recognized.
用itext生成PDF报错,加上try catch捕获到异常是 BaseFont bFont = BaseFont.createFont("STSong-Light1", &quo ...
- 【零基础】为什么Facebook发币就不一样
参考: https://baijiahao.baidu.com/s?id=1637182596912694597&wfr=spider&for=pc https://blog.csdn ...
- SQL Labs刷题补坑记录(less54-less65)
LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号 ...
- debian、ubuntu安装mysql指定版本
因为在使用docker时,Debian中的mysql已变为mariadb,然后总是会出现一些错误,所以故想在debian上安装mysql5.7版本 1.访问https://dev.mysql.com/ ...
- SRS之SrsTsContext::encode_pes详解
1. SrsTsContext::encode_pes 该函数位于 srs_kernel_ts.cpp 中.下面的分析基于假设当前要封装的消息是视频. /* * @msg: 要写入到 ts 文件中的音 ...
- 微信小程序 图片裁剪
微信小程序 图片裁剪 分享一个微信小程序图片裁剪插件,很好用,支持旋转 文档:https://github.com/wyh19931106/image-cropper 1.json文件中添加image ...
- spring cloud consul上下线体验
spring cloud consul中默认会将spring.application.name作为ID 同一服务起多个实例时,ID默认会变成${spring.application.name}-${s ...
- 转 CentOS7使用firewalld打开关闭防火墙与端口
http://blog.csdn.net/huxu981598436/article/details/54864260 开启端口命令 输入firewall-cmd --query-port=6379/ ...