完美解除安裝軟體“完美”註冊!
[作 者]:LILITH[CNCG]
[時 間]:2001-12-20
[軟 件]:完美解除安裝軟體
[軟體簡介]:本軟體主要兩大功能,一是安裝/解除安裝軟體,可以做到軟體安裝解除安裝無垃圾;二是電腦垃圾清理,可以清理數十種垃圾保持系統清潔。本軟體包含三個執行檔案:SetupMonitor.exe
軟體安裝監視器;SoftUninstall.exe 軟體解除安裝工具;WjfClean.exe 垃圾清理工具。未註冊使用者將可以解除安裝60個軟體和100次垃圾清理。
[下 載]:http://download.21cn.com/file/utility/xiezai/Coolcln.zip
[保護方式]:註冊碼,未註冊使用者將可以解除安裝60個軟體和100次垃圾清理。
[破解工具]:trw2000
+++++++++++++++++++++++++++++++++++++++++++++++++
本來不想貼,但實在太有趣了,忍不住貼了出來~~另一種經典註冊碼驗證方式!GO!
這個軟體註冊碼採用了分節方式,共有五段註冊框,不管它,分別填"11111","1212","1313","1414","1515"
後下bpx hmemcpy,確定後下pmodule,F12兩下出錯,所以按一下便可,來到……
0177:00409482 LEA EDI,[ESP+14]
0177:00409486 OR ECX,BYTE -01
0177:00409489 XOR EAX,EAX
0177:0040948B REPNE SCASB
0177:0040948D NOT ECX
0177:0040948F DEC ECX
0177:00409490 JNZ 004094A3
0177:00409492 PUSH BYTE +30
0177:00409494 PUSH DWORD 00445740
0177:00409499 PUSH DWORD 00445730
0177:0040949E JMP 00409743
0177:004094A3 LEA ECX,[ESP+A4]
0177:004094AA PUSH BYTE +1E
0177:004094AC PUSH ECX
0177:004094AD PUSH DWORD 03FD
0177:004094B2 MOV ECX,EBP
0177:004094B4 CALL 0042D14C
0177:004094B9 LEA EDX,[ESP+C4]
0177:004094C0 PUSH BYTE +1E
0177:004094C2 PUSH EDX
0177:004094C3 PUSH DWORD 03FE
0177:004094C8 MOV ECX,EBP
0177:004094CA CALL 0042D14C
0177:004094CF LEA EAX,[ESP+64]
0177:004094D3 PUSH BYTE +1E
0177:004094D5 PUSH EAX
0177:004094D6 PUSH DWORD 03FF
0177:004094DB MOV ECX,EBP
0177:004094DD CALL 0042D14C
0177:004094E2 LEA ECX,[ESP+E4]
0177:004094E9 PUSH BYTE +1E
0177:004094EB PUSH ECX
0177:004094EC PUSH DWORD 0400
0177:004094F1 MOV ECX,EBP
0177:004094F3 CALL 0042D14C
0177:004094F8 LEA EDX,[ESP+84]
0177:004094FF PUSH BYTE +1E
0177:00409501 PUSH EDX
0177:00409502 PUSH DWORD 0401
0177:00409507 MOV ECX,EBP
0177:00409509 CALL 0042D14C //取註冊碼第一節,即"11111"
0177:0040950E LEA EAX,[ESP+A4]
0177:00409515 PUSH EAX
0177:00409516 CALL 0041ACA3
0177:0040951B LEA ECX,[ESP+C8]
0177:00409522 MOV ESI,EAX //將11111的十六進位制值傳到esi
0177:00409524 PUSH ECX
//ecx入棧存放第二節"1212"
0177:00409525 CALL 0041ACA3
0177:0040952A LEA EDX,[ESP+6C]
0177:0040952E MOV EDI,EAX //"1212"存到edi
0177:00409530 PUSH EDX
0177:00409531 CALL 0041ACA3 //取註冊碼第三節"1313"並存到eax
0177:00409536 MOV EBX,EAX //"1313"十六進位制值傳到ebx
0177:00409538 LEA EAX,[ESP+F0]
0177:0040953F PUSH EAX
//註冊碼第四節"1414"字元入棧
0177:00409540 CALL 0041ACA3 //十六進位制值存到eax
0177:00409545 LEA ECX,[ESP+94]
0177:0040954C MOV [ESP+20],EAX
0177:00409550 PUSH ECX
//註冊碼第五節"1515"字元入棧
0177:00409551 CALL 0041ACA3
0177:00409556 ADD ESP,BYTE +14
0177:00409559 CMP EAX,BYTE +64 //比較第五節是否為64,轉為十進位制則是"100"
0177:0040955C JG NEAR 0040973A//不是則跳,出錯
0177:00409562 TEST EAX,EAX
0177:00409564 JNG NEAR 0040973A
0177:0040956A CMP ESI,[EAX*4+0044920C] //比較第一節的值是否為"6346"
0177:00409571 JNZ NEAR 00409731
0177:00409577 CMP EDI,[EAX*4+00448FB4] //比較第一節的值是否為"29004"
0177:0040957E JNZ NEAR 00409731
0177:00409584 CMP EBX,[EAX*4+00448D5C] //比較第一節的值是否為"15010"
0177:0040958B JNZ NEAR 00409731
0177:00409591 MOV EDX,[ESP+10]
0177:00409595 MOV ECX,[EAX*4+00448B04] //比較第一節的值是否為"17985"
0177:0040959C CMP EDX,ECX
0177:0040959E JNZ NEAR 00409731
總結:這個程式的註冊驗證比較有趣,首先分別輸入五節註冊碼,依次取它的值後,首先驗證第五位是否為"100",如不是則直接跳過下面驗證出現註冊失敗。然後依次驗證各位註冊碼的值,用?命令即可看到,如我看到的則是:6346 29004 15010 17985 100 ,將它們串成一串就是註冊碼了!和使用者名稱好像無關。
呵不知這個是不是通用註冊碼,各路高人幫忙看看,小弟感激不盡,呵呵……