软件破解新手进化篇
1.软件怎么判断我们是否注册了?
不要忘了,软件最终是按照人的思维做的,我们回到自身来,“如果是你,你怎么判断别人是否注册了呢”,“我要别人输入用户名和注册码啊”,聪明的想法,很多软件也是这样做的,如豪杰超级解霸。(但是不是所以的软件,方法太多了,友情提示:这个世界没有完全通用的东西,除了你聪明的大脑)
具体一点呢??????????
我们把用户名按照某种方法运算得到一个真正的注册码和用户输入的进行比较不就知道了吗?Yeah,也就是
真正的注册码=f(用户名)
和Y=f(x) 是一样的
然后就是很经典的比较了,为什么说经典呢?
因为大概有60%的软件是这么做的,到底是什么比较呢,看看
请注意这里会有错误处理的噢,在这之前呢,就是经典比较啊,如果这里的错误处理提示我们诸如:注册错误之类的东西,我们就很容易定位到经典比较了。
那么上面的流程在汇编语言里面是怎么实现的呢? 比较有2种方式,直接和间接,直接就是用:
je (jne) label
这里的x和y只是一个符号,实际上可能是寄存器和存储器
间接的呢?调用一个子程序比较,如下面的代码
if (strcmp(&x, & y))//如果strcmp返回值是1
printf(“right”);
else……………..//当然是错误拉
这里的strcmp也只是一个符号,现实可能有变化
用汇编语言描述呢?
push &y;
push &x;
call strcmp;
test ax,ax;判断返回值(也就是出口参数,也可以在子程序里判断)
je……
2.为什么可以调试可执行程序呢
可能很多菜鸟有我这样的疑问,呵呵
调试可执行程序的理论基础:
我们都知道在汇编语言里面可以用debug来调试程序。但是为什么可以?
其实和简单,因为机器只识别的是0和1(准确的说你高电平和底电平,你可以简单的理解为灯泡亮和黑),我们称之为机器码,而我们的汇编语言与机器码是一一对应的,所以我们可以根据机器码得到对应的汇编代码,也可以反过来通过汇编代码得到对应的机器码,
如:在debug下我们可以看到
用debug测试一下:
-a
1370:0100 mov ax,bx
1370:0102
-u100
1370:0100 89D8MOV AX,BX
这里的89D8就是MOV AX,BX的机器码
3.破解教程都告诉我们,找到错误提示上面的第一个有条件跳转,改掉就可以爆破,为什么呢?
因为程序是顺序执行的,只要我们找到提示出错的地方,那么在此之前必定已经比较完了,所以再往前面找找就看到了关键的比较,关键的地方就是上面的比较,如果我们改变的判断条件呢?如果改成不相等就注册成功,那么。。(嘿嘿,某同志传来不怀好意的笑声),那么不管我们输入什么都是“正版”的了,没有交钱的“正版”,这就是我们改变跳转的原因,也就是改变改变的判断条件
4.下面我们开始实战演习
虽然这只是一个简单的用S-Demo做的动画,但是看完了下面的文章你还是会收获很多,不相信,我晕,把简单的事情做到极限就成功了,呵呵
(1).爆破
这个很简单就不多讲了,运行程序,随便输入密码,确定,提示:“password wrong”,
用ollydbg载入这个动画,查找程序用到的字符串,找到password wrong,下个断点,还记得前面的理论吗?
再向前找找就可以找到比较的关键地方了(条件跳转),好的,找到的地址是:0040203F
0040202A|. FFB6 A4000000PUSH DWORD PTR DS:[ESI A4] ; /s2
下个断点,看看到底压入了堆栈什么
00402030|. 8D45 CCLEA EAX,DWORD PTR SS:[EBP-34]; |
00402033|. 50 PUSH EAX ; |s1
00402034|. FF15 E0234100CALL DWORD PTR DS:[] ; _stricmp//这里看到了什么,stricmp,难道这就是传说中的关键比较吗?
但是比较之后没有跳转啊,是吗?仔细看看,比较之后的结果放在那里,eax !
下面不是有一个je吗?
0040203A|. 83C4 20ADD ESP,20;平衡堆栈
0040203D|. 85C0 TEST EAX,EAX;测试返回值
0040203F|. 74 15JE SHORT test.00402056
修改为jne,保存,运行,ok,搞定,请你再次回顾前面的流程图
(2).寻寻觅觅找密码
还记得前面的流程图吗?如果我们在程序比较的时候中断程序会有什么发现呢?呵呵,这个时候会看到真正的密码,重新用ollydbg载入这个动画,下断点00402034
为什么要在这里下断点?好问题,因为这里看到了call DWORD PTR DS:[],看看流程图,明白了吗,呵呵
这里我们在堆栈区域可以看到我们输入试炼码和真正的密码,为什么在堆栈区域,因为在windows下通过堆栈传递参数。请看上面的简单分析,破解补丁的编写
(3).文件补丁的编写(c语言简单实现)
前面我们把je改成了jne,随便输入密码都可以了,实质是把机器码由74h改成75h,因为机器码和汇编指令是一一对应的,那么我们只要写个小东西,修改就可以了。我已经写好了,很短,很好懂。Crack.c,我们分析一下
include
include
int main(void)
{
FILE *fp_out;//要写入的文件
printf("\t\t\t\t Copy Right by ngaut");
printf("Cracking......");
//打开文件test.exe
if ((fp_out = fopen("test.exe", "r "))==NULL)
{
printf("Press any key to continue");
getchar();
exit(0);
}
//定位到要修改的地方,这里是 0x203f,为什么呢?下面给出回答
fputc(0x75, fp_out);//写入数据0x75,也就是把机器码74改为75,
//汇编则是 je 改为了jne
这里 0x203f = 0x0040203F – 0x00400000
(4).让程序自动弹出正确的密码
推荐系统
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows 10 32位企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows10 64专业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的专业版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动
雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x64 企业装机版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业TLSB 电脑城装机版2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统 Windows10 x64 企业TLSB版2022年7月一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
相关文章
- Win10怎么忘记无线网络密码?Win10忘记无线网络密码的方法
- 推荐2016年强杀电脑木马病毒查杀排行
- Win7旗舰版系统开机提示“网络上有重名”的故障原因及解决方法
- Win10 build 14393.479累计更新补丁KB3201845无网络连接解决方法
- Microsoft Internet Explorer FTP含命令注入漏洞
- 数据库10大安全工具盘点
- 好霸气!Windows 10发布首日全球网络流量飙升35%
- Win10网上邻居在哪? Win10桌面显示网上邻居网络图方法
- Win10在桌面上怎么添加此电脑、网络图标、回收站等图标?
- windows server 2012怎么配置网络负载均衡?
- 显示器颜色不正常怎么办? 显示器颜色不正常的解决办法
- 黑客如何通过微信偷偷获取对方位置(微信偷偷看出对方位置)
- 一步步教你破解WIFI无线路由器WEP网络密钥
- 本周新版Adobe又修复35个Flash播放器安全漏洞
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 3深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1深度技术Ghost Win7 Sp1 电脑城万能装机版2021年10月(32位) ISO高速下载
- 2笔记本&台式机专用系统 Windows10 喜迎国庆 企业版 版本1903 2021年10月(64位) 提供下载
- 3电脑公司Ghost Win8.1 x32 新春特别 精选纯净版2021年2月(免激活) ISO镜像高速下载
- 4笔记本&台式机专用系统GhostWin7 64位旗舰版2019年7月(64位) 高速下载
- 5新萝卜家园电脑城专用系统 Windows10 x86 极速企业版 2018年8月(32位)ISO镜像下载
- 6番茄花园GhostWin7 SP1电脑城极速装机版2021年11月(32位) 最新高速下载
- 7番茄花园Ghost Win8.1 (X32) 喜迎国庆 纯净版2020年10月(免激活) ISO镜像免费下载
- 8雨林木风Ghost Win8.1 (X64) 极速纯净版2021年12月免激活) ISO镜像高速下载
- 9深度技术 GHOSTXPSP3 电脑城极速装机版 2022年7月 ISO镜像高速下载
- 10雨林木风 Ghost Win7 SP1 喜迎国庆 装机版 2020年10月(32位) 提供下载