目標軟體: Quick CHM V2.4.9
軟體大小:
1061 KB
軟體語言:
簡體中文
軟體類別: 共享版
/ 安裝製作
應用平臺: Win9x/NT/2000/XP
下載地址:
http://www.skycn.com/soft/6785.html
軟體介紹:
原名電子文件處理大師。是真正的所見即所得(WYSIWYG)CHM檔案製作軟體,內建簡單易用的所見即所得網頁編輯器,使你可以不必在兩個軟體之間切換,只使用一個軟體就可以完成CHM檔案的製作。軟體採用html
help workshop的格式儲存和讀取,使你不在為格式不同而煩惱。增強反編譯功能,反編譯後直接可以用QuickCHM讀取,使你的工作更輕鬆。
使用工具:
TRW2000 v1.23
破解過程:
Hmemcpy
設斷,來到:
0167:005017CE
MOV EAX,[EBP-08]
0167:005017D1 MOVZX
EAX,BYTE [EAX+ESI-01] / * 序列號倒序送入EAX * /
0167:005017D6 ADD
EAX,EBX /
* EAX 加上 EBX * /
0167:005017D8 MOV
ECX,FF
/ * 0xFF 送入ECX * /
0167:005017DD CDQ
0167:005017DE
IDIV ECX
/ * 整除 ECX * /
0167:005017E0 MOV EBX,EDX
/ * 餘數送入 EBX * /
0167:005017E2
CMP EDI,[EBP-10]
/ * 和 0x4 比較 * /
0167:005017E5 JNL 005017EA
/ * 大於就跳向 5017EA * /
0167:005017E7
INC EDI
/ * 資料計數器加 1 * /
0167:005017E8 JMP
SHORT 005017EF
0167:005017EA MOV EDI,01
/ * 0x1 送入 ESI * /
0167:005017EF
MOV EAX,[EBP-1C]
0167:005017F2 MOVZX
EAX,BYTE [EAX+EDI-01] / * F、0、E、1 依次送入 EAX * /
0167:005017F7
XOR EBX,EAX
/ * 和上面的餘數做異或運算 * /
0167:005017F9 LEA EAX,[EBP-14]
0167:005017FC
PUSH EAX
0167:005017FD MOV [EBP-28],EBX
0167:00501800
MOV BYTE [EBP-24],00
0167:00501804 LEA
EDX,[EBP-28]
0167:00501807 XOR ECX,ECX
0167:00501809
MOV EAX,005019B8
0167:0050180E CALL
0040A3DC / * 正確的序列號依次輸出
* /
0167:00501813 LEA EAX,[EBP-2C]
0167:00501816
PUSH EAX
0167:00501817 MOV EAX,[EBP-14]
0167:0050181A
CALL 00404D00
0167:0050181F MOV ECX,EAX
0167:00501821
MOV EDX,[EBP-18]
0167:00501824 MOV
EAX,[EBP-0C]
0167:00501827 CALL 00404F60
0167:0050182C
MOV EAX,[EBP-2C]
0167:0050182F MOV
EDX,[EBP-14]
0167:00501832 CALL 00404E4C
0167:00501837
SETZ [EBP-1D]
0167:0050183B LEA EAX,[EBP-30]
0167:0050183E
PUSH EAX
0167:0050183F MOV EAX,[EBP-14]
0167:00501842
CALL 00404D00
0167:00501847 MOV ECX,EAX
0167:00501849
MOV EDX,[EBP-18]
0167:0050184C MOV
EAX,[EBP-0C]
0167:0050184F CALL 00404F60
0167:00501854
MOV EDX,[EBP-30]
0167:00501857 MOV
EAX,[EBP-14]
0167:0050185A CALL 00404E4C
/ * 依次比較 * /
0167:0050185F JNZ
0050186C
0167:00501861 MOV EAX,[EBP-14]
0167:00501864
CALL 00404D00
0167:00501869 ADD [EBP-18],EAX
0167:0050186C
DEC ESI
/ * ESI 減 1 * /
0167:0050186D TEST ESI,ESI
/ * 測試 ESI * /
0167:0050186F
JNZ NEAR 005017CE / * 不為0則向上迴圈
* /
0167:00501875 CMP BYTE [EBP-1D],00
0167:00501879 JZ NEAR 00501958
/ * 否則返回 * /
最後總結:
以使用者名稱:fengma
為例:
1:取使用者名稱最後一個字母 a(0x61)
;
2:0x61 + 0x80;
3:步驟(2)的結果
MOD 0xFF ;
4:取資料 “FOE1”
的第一個字母 F,與步驟(3)做異或運算(取完則又返回地一個字母);
5:取使用者名稱倒數第二個字母
m(0x6D) ;
……
OK,這下就可以寫序號產生器了!:)
main()
{
char name[15];
int i,a,b,c=0x80,len,temp_len,temp_data,data[4]={'F','0','E','1'};
printf("**************************************************************\n");
printf("*
Quick CHM V2.4.9 Keygen
*\n");
printf("*
Made by fengma(fengma@2911.net)
*\n");
printf("*
2003-1-12
*\n");
printf("**************************************************************\n");
printf("\nInput your name:");
gets(name);
len=strlen(name)-1;
temp_len=len;
temp_data=0;
printf("\nYour number is:");
for(i=0;i<=temp_len;i++)
{ a=name[len]+c;
b=(a%0xff);
c=b^data[temp_data];
if(c<0x10)
printf("0%X",c);
else
printf("%X",c);
if(temp_data>=3)
temp_data=0;
else
temp_data++;
len--;
}
printf("\n\nHave fan!\n\nBye!\n");
}
TurboC
2.0 編譯透過。
小菜鳥,不足之處,請高手指點。
風馬於
2003年1月15日凌晨5:05分