守財奴1.9註冊分析+序號產生器原始碼

看雪資料發表於2015-11-15

標 題:守財奴1.9註冊分析+序號產生器原始碼 

發信人: lordor 

時 間:2003/04/14 11:18am 

詳細資訊: 




軟體名稱:守財奴
   
整理日期:2003.4.3
最新版本:1.9
檔案大小:688KB
軟體授權:
使用平臺:Win9x/Me/NT/2000/XP
釋出公司:Home Page
軟體簡介:
  每天,當你疲於掙錢時,是否清楚自己到底掙了多少,花了多少,花在哪裡?如果你想消除這些疑問的話,那麼請使用本程式,並每天抽出5分鐘時間,擊幾下鍵盤,點幾下滑鼠,那麼即便是日積月累,你也能隨時掌握自己各方面的收入支出情況。本程式為免費軟體,可任意複製使用,絕對沒有任何功能與時間上的限制。但如果您覺得此軟體對您有用,並且資金允許的話,請向作者聯絡註冊。具體註冊方法請在幫助選單中的註冊中檢視。《安裝完成後請先閱讀幫助中的---使用手冊》 ★支援Windows98/ME/NT/2000/XP  ★資料安全,使用者按角色分配許可權★收支專案分類  ★詳細的收支記錄★強大的歷史收支記錄查詢 ★每個使用者獨立的理財日記 ★計算個人所得稅 ★資料備份恢復功能  ★列印及匯出資料為Excel檔案功能。

工具:W32Dasm,ollyDBg1.09

軟體要求先輸入註冊資訊,再在重啟時進行比較。

註冊編號:lordor(各位假設為x1x2x3x4x5x6)
註冊密碼:654321(各位假設為y1y2y3y4y5y6)

一、用GetPrivateProfileStringA下斷,來到如下

00433112   .  68 902E4900   PUSH wbook.00492E90                      ; /lParam = 492E90
00433117   .  55            PUSH EBP                                 ; |wParam
00433118   .  68 80010000   PUSH 180                                 ; |Message = LB_ADDSTRING
0043311D   .  51            PUSH ECX                                 ; |hWnd
0043311E   .  FF15 4C964700 CALL DWORD PTR DS:[<&USER32.SendMessageA>; \SendMessageA
00433124   .  8B3D 9C924700 MOV EDI,DWORD PTR DS:[<&KERNEL32.GetPriv>;  KERNEL32.GetPrivateProfileStringA
0043312A   .  68 4C114900   PUSH wbook.0049114C                      ; /IniFileName = ".\UserInfo.ini"
0043312F   .  8D5424 34     LEA EDX,DWORD PTR SS:[ESP+34]            ; |
00433133   .  6A 0B         PUSH 0B                                  ; |BufSize = B (11.)
00433135   .  52            PUSH EDX                                 ; |ReturnBuffer
00433136   .  68 842E4900   PUSH wbook.00492E84                      ; |Default = "0000000000"
0043313B   .  68 942B4900   PUSH wbook.00492B94                      ; |Key = "RegCode"
00433140   .  68 882B4900   PUSH wbook.00492B88                      ; |Section = "RegUserInfo"
00433145   .  C74424 54 080>MOV DWORD PTR SS:[ESP+54],8              ; |
0043314D   .  895C24 58     MOV DWORD PTR SS:[ESP+58],EBX            ; |
00433151   .  896C24 5C     MOV DWORD PTR SS:[ESP+5C],EBP            ; |
00433155   .  C74424 60 060>MOV DWORD PTR SS:[ESP+60],6              ; |
0043315D   .  895C24 64     MOV DWORD PTR SS:[ESP+64],EBX            ; |
00433161   .  C74424 68 030>MOV DWORD PTR SS:[ESP+68],3              ; |
00433169   .  FFD7          CALL EDI                                 ; \GetPrivateProfileStringA
0043316B   .  68 4C114900   PUSH wbook.0049114C                      ; /IniFileName = ".\UserInfo.ini"
00433170   .  8D4424 2C     LEA EAX,DWORD PTR SS:[ESP+2C]            ; |
00433174   .  6A 07         PUSH 7                                   ; |BufSize = 7
00433176   .  50            PUSH EAX                                 ; |ReturnBuffer
00433177   .  68 7C2E4900   PUSH wbook.00492E7C                      ; |Default = "000000"
0043317C   .  68 802B4900   PUSH wbook.00492B80                      ; |Key = "RegPass"
00433181   .  68 882B4900   PUSH wbook.00492B88                      ; |Section = "RegUserInfo"
00433186   .  FFD7          CALL EDI                                 ; \GetPrivateProfileStringA
00433188   .  33C0          XOR EAX,EAX
0043318A   .  8D4C24 6C     LEA ECX,DWORD PTR SS:[ESP+6C]
0043318E   >  0FBE5404 30   MOVSX EDX,BYTE PTR SS:[ESP+EAX+30]       ;  註冊編號lordor依次入edx
00433193   .  83EA 30       SUB EDX,30                               ;  edx-30
00433196   .  40            INC EAX                                  ;  eax加1X
00433197   .  8911          MOV DWORD PTR DS:[ECX],EDX               ;  edx儲存在stack中,為12fb80],EDX
00433199   .  83C1 04       ADD ECX,4                                ;  ecx加4X
0043319C   .  83F8 06       CMP EAX,6                                ;  eax是否為66
0043319F   .^ 7C ED         JL SHORT wbook.0043318E                  ;  如eax小於6則繼續迴圈k.004331
004331A1   .  33C0          XOR EAX,EAX                              ;  eax清空X,
004331A3   .  8D4C24 54     LEA ECX,DWORD PTR SS:[ESP+54]            ;  作好儲存準備,DWORD
004331A7   >  0FBE5404 28   MOVSX EDX,BYTE PTR SS:[ESP+EAX+28]       ;  註冊密碼依次入edx
004331AC   .  83EA 30       SUB EDX,30                               ;  edx減30,
004331AF   .  40            INC EAX                                  ;  eax加1X
004331B0   .  8911          MOV DWORD PTR DS:[ECX],EDX               ;  把edx值入stack,此為12fb68],EDX
004331B2   .  83C1 04       ADD ECX,4                                ;  ecx加4,其實指向下stack處
004331B5   .  83F8 06       CMP EAX,6                                ;  eax是否為66
004331B8   .^ 7C ED         JL SHORT wbook.004331A7
004331BA   .  899E 8C1E0000 MOV DWORD PTR DS:[ESI+1E8C],EBX
004331C0   .  33C9          XOR ECX,ECX
004331C2   >  8B440C 6C     MOV EAX,DWORD PTR SS:[ESP+ECX+6C]        ;  加工後的密碼編號依次入eax,此為3c=6c-30ECX+6C]
004331C6   .  8B540C 3C     MOV EDX,DWORD PTR SS:[ESP+ECX+3C]        ;  8,1,0,6,1,3依次入edxSS:[ESP+
004331CA   .  03C2          ADD EAX,EDX                              ;  eax與edx相加運算
004331CC   .  83F8 0A       CMP EAX,0A                               ;  判斷eax與0a是否相等
004331CF   .  72 03         JB SHORT wbook.004331D4                  ;  eax小於0a,則跳,否則減0a4331D4
004331D1   .  83E8 0A       SUB EAX,0A                               ;  如果eax不等0a,則eax減0a
004331D4   >  3B440C 54     CMP EAX,DWORD PTR SS:[ESP+ECX+54]        ;  eax再與轉換為十進位制的註冊密碼相比,此為6SP+ECX+54]
004331D8   .  74 06         JE SHORT wbook.004331E0                  ;  如相等則繼續比較,否則設定註冊不成功標誌
004331DA   .  89AE 8C1E0000 MOV DWORD PTR DS:[ESI+1E8C],EBP
004331E0   >  83C1 04       ADD ECX,4                                ;  ecx加4
004331E3   .  83F9 18       CMP ECX,18                               ;  ecx是否等18,判斷是否比較完,18H十進位制為24,即6位        
004331E6   .^ 7C DA         JL SHORT wbook.004331C2
004331E8   .  39AE 8C1E0000 CMP DWORD PTR DS:[ESI+1E8C],EBP
004331EE   .  75 30         JNZ SHORT wbook.00433220
004331F0   .  68 702E4900   PUSH wbook.00492E70
004331F5   .  68 C3040000   PUSH 4C3
004331FA   .  8BCE          MOV ECX,ESI
004331FC   .  E8 D8320200   CALL wbook.004564D9


二、總結演算法
據以上分析,相應等式如下:
第一位:(8+x1)mode10=y1
第二位:(1+x2)mode10=y2
第三位:(0+x3)mode10=y3
第四位:(6+x4)mode10=y4
第五位:(1+x5)mode10=y5
第六位:(3+x6)mode10=y6

總結如下:
註冊編號:844718
註冊密碼:654321

註冊資訊儲存在當前目錄下UserInfo.inf檔案中
[RegUserInfo]
RegCode=844718
RegPass=654321


三、序號產生器TC2.0:

#include<stdlib.h>
#include<stdio.h>
#include<string.h>

main()
{
int i,j;

int name[20];
int sn[10];
int code[6]={8,1,0,6,1,3};

printf("**************************************************************\n");
printf("* 守財奴v1.9 Keygen *\n");
printf("* Made by lordor(lordor@163.com) *\n");
printf("* 2003-4-13 *\n");
printf("**************************************************************\n");

printf("please input your number,must be int number:\n");

for(i=0;i<6;i++)
{
printf("the %d number:\n",i+1);
scanf("%d",&name[i]);
}


printf("\nYour register code:");

for(j=0;j<6;j++)
{
sn[j]=code[j]+name[j];
if(sn[j]>10)
sn[j]=sn[j]-10;
}

for (j=0;j<6;j++)
{
printf("%d",sn[j]);
}
printf("\n\n\n");
printf("Enjoy it!\n\nBye!\n");
}

相關文章