軟件破解新手進(jìn)化篇
1.软件怎么判断我们是否注册了?
不要忘了,软件最终是按照人的思维做的,我们回到自身来,“如果是你,你怎么判断别人是否注册了呢”,“我要别人输入用户名和注册码啊”,聪明的想法,很多软件也是这样做的,如豪杰超级解霸。(但是不是所以的软件,方法太多了,友情提示:这个世界没有完全通用的东西,除了你聪明的大脑)
具体一点呢??????????
我们把用户名按照某种方法运算得到一个真正的注册码和用户输入的进行比较不就知道了吗?Yeah,也就是
真正的注册码=f(用户名)
和Y=f(x) 是一样的
然后就是很经典的比较了,为什么说经典呢?
因为大概有60%的软件是这么做的,到底是什么比较呢,看看
请注意这里会有错误处理的噢,在这之前呢,就是经典比较啊,如果这里的错误处理提示我们诸如:注册错误之类的东西,我们就很容易定位到经典比较了。
那么上面的流程在汇编语言里面是怎么实现的呢? 比较有2种方式,直接和间接,直接就是用:
cmp x, y
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("error!!!Can not open test.exe!!!");
printf("Press any key to continue");
getchar();
exit(0);
}
//定位到要修改的地方,这里是 0x203f,为什么呢?下面给出回答
fseek(fp_out, 0x203f, SEEK_SET);
fputc(0x75, fp_out);//写入数据0x75,也就是把机器码74改为75,
//汇编则是 je 改为了jne
fclose(fp_out);
这里 0x203f = 0x0040203F – 0x00400000
(4).让程序自动弹出正确的密码
推薦系統(tǒng)
雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:WinXP雨林木風(fēng)在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)知名品牌,雨林木風(fēng)WindowsXP其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,是一款穩(wěn)定流暢的系統(tǒng),雨林木風(fēng) winxp下載 純凈版 永久激活 winxp ghost系統(tǒng) sp3 系統(tǒng)下載,有需要的朋友速度下載吧。
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園win7純凈版 ghost系統(tǒng)下載 x64 聯(lián)想電腦專用
系統(tǒng)大小:0MB系統(tǒng)類型:Win7蘿卜家園win7純凈版是款非常純凈的win7系統(tǒng),此版本優(yōu)化更新了大量的驅(qū)動(dòng),幫助用戶們進(jìn)行舒適的使用,更加的適合家庭辦公的使用,方便用戶,有需要的用戶們快來下載安裝吧。
系統(tǒng)等級(jí):進(jìn)入下載 >雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載
系統(tǒng)大?。?/em>1.01GB系統(tǒng)類型:WinXP雨林木風(fēng)xp系統(tǒng) xp系統(tǒng)純凈版 winXP ghost xp sp3 純凈版系統(tǒng)下載,雨林木風(fēng)WinXP系統(tǒng)技術(shù)積累雄厚深耕多年,采用了新的系統(tǒng)功能和硬件驅(qū)動(dòng),可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動(dòng)對(duì)硬件的加速,加固了系統(tǒng)安全策略,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,(win10企業(yè)版,win10 ghost,win10鏡像),蘿卜家園win10企業(yè)版 免激活密鑰 激活工具 ghost鏡像 X64位系統(tǒng)下載,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園
系統(tǒng)等級(jí):進(jìn)入下載 >蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 V2023 X64位系統(tǒng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win10蘿卜家園windows10游戲版 win10游戲?qū)I(yè)版 ghost X64位 系統(tǒng)下載,蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,打造了國內(nèi)重裝系統(tǒng)行業(yè)的蘿卜家園品牌,其系統(tǒng)口碑得到許多人認(rèn)可,積累了廣大的用戶群體,蘿卜家園win10純凈版是一款穩(wěn)定流暢的系統(tǒng),一直以來都以用戶為中心,是由蘿卜家園win10團(tuán)隊(duì)推出的蘿卜家園win10國內(nèi)鏡像版,基于國內(nèi)用戶的習(xí)慣,做
系統(tǒng)等級(jí):進(jìn)入下載 >windows11下載 蘿卜家園win11專業(yè)版 X64位 V2023官網(wǎng)下載
系統(tǒng)大?。?/em>0MB系統(tǒng)類型:Win11蘿卜家園在系統(tǒng)方面技術(shù)積累雄厚深耕多年,windows11下載 蘿卜家園win11專業(yè)版 X64位 官網(wǎng)正式版可以更好的發(fā)揮系統(tǒng)的性能,優(yōu)化了系統(tǒng)、驅(qū)動(dòng)對(duì)硬件的加速,使得軟件在WINDOWS11系統(tǒng)中運(yùn)行得更加流暢,加固了系統(tǒng)安全策略,WINDOWS11系統(tǒng)在家用辦公上跑分表現(xiàn)都是非常優(yōu)秀,完美的兼容各種硬件和軟件,運(yùn)行環(huán)境安全可靠穩(wěn)定。
系統(tǒng)等級(jí):進(jìn)入下載 >
相關(guān)文章
- 安卓手機(jī)QQ 4.7.2正式發(fā)布 顯示在線好友的網(wǎng)絡(luò)狀態(tài)
- 瑞星安全隨身WiFi怎么用 瑞星隨身WiFi有何亮點(diǎn)以及使用方法
- 您的WiFi安全嗎?讓路由衛(wèi)士來為您把關(guān)讓它變得更快,更安全
- 大勢(shì)至局域網(wǎng)共享文件管理軟件詳細(xì)記錄服務(wù)器共享文件訪問日志、保護(hù)共享文件安全
- 金山毒霸發(fā)布全新的V11新春版:殺毒速度更快/軟件凈化
- WinXP如何進(jìn)入安全模式?WinXP進(jìn)入安全模式設(shè)置
- 怎樣消除免費(fèi)WIFI的安全隱患?一張圖看懂免費(fèi)WIFI的安全隱患
- 毒app優(yōu)惠券怎么獲得 毒app無門檻優(yōu)惠券攻略
- 京東通信卡流量超標(biāo)怎樣關(guān)閉移動(dòng)網(wǎng)絡(luò)?
- 詳解火絨安全軟件怎么樣
- Win10系統(tǒng)下安全登錄失敗初始化失敗怎么辦?
- 360安全衛(wèi)士怎么更改默認(rèn)軟件?
- 360稱特斯拉應(yīng)用存漏洞 特斯拉不安全?
- win10安全模式跳過開機(jī)密碼可行嗎
熱門系統(tǒng)
推薦軟件
推薦應(yīng)用
推薦游戲
熱門文章
常用系統(tǒng)
- 1雨林木風(fēng)win10游戲?qū)S冒?x64位永久激活 ghost鏡像 筆記本專用下載
- 2蘿卜家園WIN11純凈版免激活 中文系統(tǒng) X64位 V2022.07下載
- 3win10專業(yè)版(深度技術(shù))GHost鏡像系統(tǒng) 21H2 X64位 V2022.04下載
- 4Windows11家庭版下載 雨林木風(fēng) X64位高性能版本下載 筆記本專用
- 5Win11專業(yè)版下載 深度技術(shù)系統(tǒng)特別奉獻(xiàn) 最新免激活ghost系統(tǒng) ISO鏡像 X64位
- 6windows7穩(wěn)定版下載 深度技術(shù)x64萬能版 ghost系統(tǒng)下載 自動(dòng)激活
- 7技術(shù)員聯(lián)盟win10穩(wěn)定版 ghost系統(tǒng)下載 x64位 筆記本專用下載
- 8系統(tǒng)之家winXP純凈版 ghost iso V2022.05 XP ghost鏡像最新版下載
- 9雨林木風(fēng)Win10 企業(yè)版系統(tǒng)下載 Ghost Windows10 32位系統(tǒng) V2021.11