實用圖書管理系統1.1
軟體名稱:實用圖書管理軟體v1.1版
下栽地址:
http://count.skycn.com/softdown.php?id=13993&url=http://on165-http.skycn.net:8181/down/bokMger0828.rar
作者:譚志勇
破解工具:ollydbg,w32Dasm ver10;hiew;fi;
破解者: mejy
破解步驟:1、安裝該軟體!為什麼要提這個呢?呵呵!!看看作者的理想:
為振興中華軟體業而奮鬥!:)
2、我們的動作開始了!先執行一下該軟體,試著註冊一下,
試練碼:123456;註冊碼:654321 看見“註冊碼不對,註冊
不成功”,記下這句話。
(先來看看爆破)3、Fi出場,檢測加殼否。結果:三無產品!!Delphi編寫!!
4、快樂中。。。。。
5、用W32Dasm反之。用“字串參考”----〉“註冊不成功。”
雙擊,來到
:0051F271 803D048F520000 cmp byte ptr [00528F04], 00
:0051F278 0F84CE000000 je 0051F34C
:0051F27E 8D45F0 lea eax, dword ptr [ebp-10]
:0051F281 E87655EEFF call 004047FC
:0051F286 8D55F8 lea edx, dword ptr [ebp-08]
:0051F289 8B8600030000 mov eax, dword ptr [esi+00000300]
:0051F28F E83C99F2FF call 00448BD0
:0051F294 8D55F4 lea edx, dword ptr [ebp-0C]
:0051F297 8B8604030000 mov eax, dword ptr [esi+00000304]
:0051F29D E82E99F2FF call 00448BD0 //可在此附近設斷
:0051F2A2 8D4DF0 lea ecx, dword ptr [ebp-10]
:0051F2A5 8B55F8 mov edx, dword ptr [ebp-08]
:0051F2A8 A1008F5200 mov eax, dword ptr [00528F00] //使用者申請碼
:0051F2AD E8FEFBFFFF call 0051EEB0 //此處為計算注
冊碼的演算法,我們f8跟進很快找到!
:0051F2B2 8B55F0 mov edx, dword ptr [ebp-10]
:0051F2B5 8B45F4 mov eax, dword ptr [ebp-0C]
:0051F2B8 E82B9BEEFF call 00408DE8 //可見此處為
比較註冊碼的關鍵的call
:0051F2BD 85C0 test eax, eax
:0051F2BF 740C je 0051F2CD //跳則成功,不跳玩完。
爆破時必改!---〉jne
* Possible StringData Ref from Code Obj ->"註冊碼不對,註冊不成功!"
|
:0051F2C1 B8B0F35100 mov eax, 0051F3B0
:0051F2C6 E8E12AF2FF call 00441DAC
:0051F2CB EB7F jmp 0051F34C
對如爆破軟體每次啟動都檢測登錄檔,所以每次都得註冊一下,很煩!不過還好未註冊版沒功能限制,只有次數限制。
改完後你就能成功註冊!不過下次啟動又變成了未註冊版!別急!!!
再來看看解除它的次數限制。同樣用串試參考---〉“軟體使用次數已到!“雙擊之
來到這0051F10D B8E8F15100 mov eax, 0051F1E8
我們從這往上看,來到一下地點:
* Possible StringData Ref from Code Obj ->"軟體沒註冊!還有"
|
:0051F0CA 68BCF15100 push 0051F1BC
:0051F0CF 8D55E8 lea edx, dword ptr [ebp-18]
:0051F0D2 A1088F5200 mov eax, dword ptr [00528F08]
:0051F0D7 E8D0A1EEFF call 004092AC
:0051F0DC FF75E8 push [ebp-18]
* Possible StringData Ref from Code Obj ->"次使用機會!" //顯而易見此處是計算使用次數的,我改了幾次都提示記憶體出錯,沒成功!不過沒關係,往下看:(若誰知道怎麼改這的次數請補充)
:0051F0DF 68D4F15100 push 0051F1D4
:0051F0E4 8D45EC lea eax, dword ptr [ebp-14]
:0051F0E7 BA03000000 mov edx, 00000003
:0051F0EC E8835AEEFF call 00404B74
:0051F0F1 8B55EC mov edx, dword ptr [ebp-14]
:0051F0F4 A1008F5200 mov eax, dword ptr [00528F00]
:0051F0F9 8B8008030000 mov eax, dword ptr [eax+00000308]
:0051F0FF E8FC9AF2FF call 00448C00
:0051F104 833D088F520000 cmp dword ptr [00528F08], 00000000
:0051F10B 7F16 jg 0051F123 //來到這,呵熟悉的面孔!如果超過試用次數往下執行,死悄悄,這兒很好改,jmp,管你超不超過我都跳走,不向下執行。呵呵!你執行10的n次方次都沒問題!;〉
* Possible StringData Ref from Code Obj ->"軟體使用次數已到!"
|
:0051F10D B8E8F15100 mov eax, 0051F1E8
:0051F112 E8952CF2FF call 00441DAC
:0051F117 A1B0755200 mov eax, dword ptr [005275B0]
:0051F11C 8B00 mov eax, dword ptr [eax]
:0051F11E E8F19FF4FF call 00469114
其註冊資訊儲存在
* Possible StringData Ref from Code Obj ->"Software
egbook emark" //註冊碼的儲存鍵,將此主鍵下的值全部刪去,你的註冊版又變成了未註冊版!呵呵!可多次研究!
|
:0051F2EA BAD0F35100 mov edx, 0051F3D0
:0051F2EF E8A055EEFF call 00404894
:0051F2F4 B101 mov cl, 01
:0051F2F6 8B55FC mov edx, dword ptr [ebp-04]
:0051F330 C605048F520000 mov byte ptr [00528F04], 00
:0051F337 A1008F5200 mov eax, dword ptr [00528F00]
:0051F33C 8B8008030000 mov eax, dword ptr [eax+00000308]
* Possible StringData Ref from Code Obj ->"軟體已註冊"
以上就是爆破:總結一下 1、改0051F2BF 740C je為jne(可註冊成功)
2、改0051F10B 7F16 jg 為jmp(可解除限制)
用什麼工具就不用說啦!;)
下面看看註冊碼演算法:
上面已標出關鍵位置,下面看看註冊碼的計算方法:
0051F2AD E8FEFBFFFF call 0051EEB0 //跟進f7鍵
來到
0051EEB0 /$ 55 PUSH EBP
0051EEB1 |. 8BEC MOV EBP,ESP
0051EEB3 |. 83C4 F0 ADD ESP,-10
0051EEB6 |. 53 PUSH EBX
0051EEB7 |. 56 PUSH ESI
0051EEB8 |. 57 PUSH EDI
0051EEB9 |. 33DB XOR EBX,EBX
0051EEBB |. 895D F0 MOV DWORD PTR SS:[EBP-10],EBX
0051EEBE |. 895D F4 MOV DWORD PTR SS:[EBP-C],EBX
0051EEC1 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
0051EEC4 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
0051EEC7 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051EECA |. E8 CD5DEEFF CALL 實用圖書.00404C9CSS:[
0051EECF |. 33C0 XOR EAX,EAX
0051EED1 |. 55 PUSH EBP
0051EED2 |. 68 6AEF5100 PUSH 實用圖書.0051EF6A
0051EED7 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
0051EEDA |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
0051EEDD |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0051EEE0 |. E8 1759EEFF CALL 實用圖書.004047FCSS:[
0051EEE5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0051EEE8 |. E8 C75BEEFF CALL 實用圖書.00404AB4SS:[
0051EEED |. 8BF0 MOV ESI,EAX //esi為使用者申請碼長度
0051EEEF |. 85F6 TEST ESI,ESI
0051EEF1 |. 7E 49 JLE SHORT 實用圖書.0051EF3C
0051EEF3 |. BB 01000000 MOV EBX,1 //ebx為計數器,即為申請碼各個字元的位序,設為i;
0051EEF8 |> 8BCB /MOV ECX,EBX //ecx=ebx第一次是1,第二次是2……i=1,2,3…..
0051EEFA |. 0FAFCB |IMUL ECX,EBX //ecx=i*i, i的平方
0051EEFD |. 8BC1 |MOV EAX,ECX //將ecx賦給eax,下面的除法要用到作為分子。
0051EEFF |. F7EB |IMUL EBX //計算i的立方
0051EF01 |. F7EB |IMUL EBX //計算i的四次方
0051EF03 |. 8D53 1E |LEA EDX,DWORD PTR DS:[EBX+1E] //將i+1EH賦值給edx
0051EF06 |. 8BFA |MOV EDI,EDX //將edx賦給edi,作為除數即分母
0051EF08 |. 99 |CDQ
0051EF09 |. F7FF |IDIV EDI // 計算 eax/edi 商為eax,餘數為edx
0051EF0B |. 8BFA |MOV EDI,EDX //將餘數存到 edi中,下面要用到
0051EF0D |. 8BC1 |MOV EAX,ECX //將i*i,賦給eax作為被除數;
0051EF0F |. 8D53 14 |LEA EDX,DWORD PTR DS:[EBX+14] //將(i+14H)賦值給 edx
0051EF12 |. 8BCA |MOV ECX,EDX //ecx=edx;作為分母;即除數
0051EF14 |. 99 |CDQ
0051EF15 |. F7F9 |IDIV ECX //除法運算 eax為商;edx為餘數
0051EF17 |. 03FA |ADD EDI,EDX //將edi=第一次的餘數與第二次的餘數相加
0051EF19 |. 03FB |ADD EDI,EBX //將edi=edi+i;
0051EF1B |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10] //
0051EF1E |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0051EF21 |. 0FB6541A FF |MOVZX EDX,BYTE PTR DS:[EDX+EBX-1] //得到申請碼的第i為字元的ascii碼
0051EF26 |. 03D7 |ADD EDX,EDI //將第i位的ascii碼值+上面求得的edi ;即為改為對應的註冊碼
0051EF28 |. E8 AF5AEEFF |CALL 實用圖書.004049DC
0051EF2D |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10]
0051EF30 |. 8D45 F4 |LEA EAX,DWORD PTR SS:[EBP-C]
0051EF33 |. E8 845BEEFF |CALL 實用圖書.00404ABCSS:[
0051EF38 |. 43 |INC EBX
0051EF39 |. 4E |DEC ESI //申請註冊碼的長度,沒算完一次減1
0051EF3A |.^75 BC JNZ SHORT 實用圖書.0051EEF8
算完了!簡單吧!
我的123456-----〉4HNZXF
我的第一篇破文,寫得不好,技術也有限,讓大家見笑了!!
序號產生器vc編寫
#include <iostream.h>
void main()
{
char a[10];int len=0;
int i,j,k,x,y,m;
cin>>a;
for(i=0;a[i]!=' ';i++)
len++;
for(i=0;i<len;i++)
{ k=(i+1)*(i+1);
j=k*k;
m=i+1+30;
x=j%m;
y=k%(i+1+20);
x=x+y+1+i;
a[i]+=x;
}
for(i=0;i<len;i++)
cout<<a[i];
cout<<endl;
}
相關文章
- 圖書管理系統2015-06-14
- 圖書管理系統類圖2015-06-07
- VB 圖書管理系統2017-07-17
- 圖書管理系統22024-03-17
- 實驗專案四:圖書管理系統2020-12-25
- 圖書管理系統需求說明書2015-06-04
- 圖書管理系統(小程式)2018-08-18
- C++圖書館管理系統 [STL實現]2018-06-13C++
- 圖書管理系統設計類圖2015-06-07
- 校園圖書管理系統開發-中小學智慧圖書管理系統開發2019-08-26
- Rails 實戰——圖書管理系統——基礎建設2018-03-26AI
- 圖書館管理系統UML建模2015-05-31
- 圖書館管理系統 SRS文件2015-05-31
- Python—簡單圖書管理系統2021-09-15Python
- Django教程 —— 初步完善圖書管理系統2020-10-25Django
- Django入門案例:圖書管理系統2020-12-30Django
- 圖書管理系統-專案介紹2018-03-20
- 圖書管理系統測試計劃2015-05-31
- 圖書館管理系統程式設計2015-06-13程式設計
- php+MySQL圖書管理系統(二)2015-06-07PHPMySql
- 工會圖書管理系統 V1.02003-03-08
- 學舟圖書閱讀管理系統2024-11-17
- 物件導向設計-圖書管理系統2015-06-14物件
- 圖書管理系統——執行及總結2015-06-21
- 圖書管理系統——測試與除錯2015-06-21除錯
- flask框架圖書管理系統客戶端2024-04-16Flask框架客戶端
- Java圖書管理系統,課程設計必用(原始碼+文件)2021-06-22Java原始碼
- 用易圖書館管理系統 2003 V3.02015-11-15
- 圖書系統2024-03-17
- python實現一個無介面的小型圖書管理系統2021-05-20Python
- Django學習筆記《二》圖書管理系統2018-11-15Django筆記
- 圖書館管理系統程式測試計劃2015-06-07
- flask框架圖書管理系統伺服器端2024-04-16Flask框架伺服器
- Jsp struts實現的圖書館管理系統專案原始碼2018-01-03JS原始碼
- Java寫圖書管理系統(四、管理員功能許可權)2018-12-10Java
- 解讀圖書管理系統為書店帶來的好處2023-04-26
- java大作業總結——圖書借閱管理系統2018-11-26Java
- 圖書館管理系統物件導向程式設計2015-06-14物件程式設計