|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-01-12, 04:49 PM | #1 |
榮譽會員
|
破解分析快遞單列印專家 1.0
==>快遞單列印專家 1.0
【破文標題】==>快遞單列印專家 1.0 【破文作者】pentacle[PYG] 【作者郵信箱】 【作者主頁】www.chinapyg.cn 【破解工具】OD漢化第二版、PEidV0.93 【破解平台】Win9x/NT/2000/XP 【軟體名稱】快遞單列印專家 1.0 【軟體大小】2666KB 【原版下載】http://bj.onlinedown.net/soft/45556.htm 【保護方式】註冊碼 【軟體簡介】·可列印所有快遞單!可批量列印信封、標籤、快遞單、包裹單、明信片等需要套打的單據。 ·獨創所見即所得的快遞單設計功能,用戶可自行設計快遞單,5分鍾即可設計一個新的快遞單。 ·可批量列印快遞單,並從Excel中匯入位址資料。 ·綠色軟體,不需安裝,解壓即可使用。 ------------------------------------------------------------------------ 【破解程序】1、綠色軟體,解壓即用 用PEid查得殼為UPX的。簡單。手動脫OK,這就不說了。經查DELPHI寫的,應該用DEDE的,但我的DEDE被我刪了,還用OD吧 2、破解分析 試了一下789789,重啟認證 未用FlieMon等工具,經猜測並證實。註冊碼儲存在ExpPrinter.fdb中,看文件產生時間:) 用OD載入,查字串。基本是英文。我暈。搜尋reg,哈。找到了regcode和machinecode 找著關鍵就好辦 3、OD實戰 執行程序。輸入假註冊碼 重啟程序 下斷bp CreateFileA F9執行後來到 7C801A24 > 8BFF MOV EDI,EDI 7C801A26 55 PUSH EBP 7C801A27 8BEC MOV EBP,ESP 7C801A29 FF75 08 PUSH DWORD PTR SS:[EBP+8] 那我們就開始慢慢跟吧,來到 005F1680 /$ 55 PUSH EBP ; 中間有幾個異常,我們到這兒 005F1681 |. 8BEC MOV EBP,ESP 005F1683 |. 33C9 XOR ECX,ECX 005F1685 |. 51 PUSH ECX 005F1686 |. 51 PUSH ECX 005F1687 |. 51 PUSH ECX 005F1688 |. 51 PUSH ECX 005F1689 |. 53 PUSH EBX 005F168A |. 33C0 XOR EAX,EAX 005F168C |. 55 PUSH EBP 005F168D |. 68 FA165F00 PUSH ExpPrint.005F16FA 005F1692 |. 64:FF30 PUSH DWORD PTR FS:[EAX] 005F1695 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 005F1698 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10] 005F169B |. A1 74577300 MOV EAX,DWORD PTR DS:[735774] 005F16A0 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 005F16A2 |. 8B40 60 MOV EAX,DWORD PTR DS:[EAX+60] 005F16A5 |. E8 B22DF6FF CALL ExpPrint.0055445C ; 將加密的註冊碼還原 005F16AA |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 還原的註冊碼入EAX 005F16AD |. 8D4D FC LEA ECX,DWORD PTR SS:[EBP-4] 005F16B0 |. BA 09000000 MOV EDX,9 005F16B5 |. E8 229FE6FF CALL ExpPrint.0045B5DC 005F16BA |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 005F16BD |. E8 C2DFF5FF CALL ExpPrint.0054F684 ; 取機器碼(CPU序列號+硬碟晶片序列號) 005F16C2 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8] 005F16C5 |. BA 10175F00 MOV EDX,ExpPrint.005F1710 ; expprinter 005F16CA |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 機器碼入EAX 005F16CD |. E8 A2E0F5FF CALL ExpPrint.0054F774 ; 取機器碼的CALL 005F16D2 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 真碼入EDX 005F16D5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 假碼入EAX 005F16D8 |. E8 5B84E1FF CALL ExpPrint.00409B38 ; 對比CALL,在這兒寫記憶體註冊機 005F16DD |. 8BD8 MOV EBX,EAX 005F16DF |. 33C0 XOR EAX,EAX 005F16E1 |. 5A POP EDX 005F16E2 |. 59 POP ECX 005F16E3 |. 59 POP ECX 005F16E4 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 005F16E7 |. 68 01175F00 PUSH ExpPrint.005F1701 005F16EC |> 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 005F16EF |. BA 04000000 MOV EDX,4 005F16F4 |. E8 7B33E1FF CALL ExpPrint.00404A74 005F16F9 \. C3 RETN 我們接下來進入005F16A5 |. E8 B22DF6FF CALL ExpPrint.0055445C ; 將加密的註冊碼還原 0055445C /$ 55 PUSH EBP ; 算法還原CALL 0055445D |. 8BEC MOV EBP,ESP 0055445F |. 6A 00 PUSH 0 00554461 |. 53 PUSH EBX 00554462 |. 56 PUSH ESI 00554463 |. 8BF2 MOV ESI,EDX 00554465 |. 8BD8 MOV EBX,EAX 00554467 |. 33C0 XOR EAX,EAX 00554469 |. 55 PUSH EBP 0055446A |. 68 A8445500 PUSH ExpPrint.005544A8 0055446F |. 64:FF30 PUSH DWORD PTR FS:[EAX] 00554472 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 00554475 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 00554478 |. 50 PUSH EAX 00554479 |. 33C9 XOR ECX,ECX 0055447B |. BA BC445500 MOV EDX,ExpPrint.005544BC ; regcode 00554480 |. 8B43 08 MOV EAX,DWORD PTR DS:[EBX+8] 00554483 |. 8B18 MOV EBX,DWORD PTR DS:[EAX] 00554485 |. FF53 0C CALL DWORD PTR DS:[EBX+C] ; 取加密後的註冊碼 00554488 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 將加密後的註冊碼放入EAX 0055448B |. 8BD6 MOV EDX,ESI 0055448D |. E8 62ABFFFF CALL ExpPrint.0054EFF4 ; 註冊碼還原CALL 00554492 |. 33C0 XOR EAX,EAX 00554494 |. 5A POP EDX 00554495 |. 59 POP ECX 00554496 |. 59 POP ECX 00554497 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 0055449A |. 68 AF445500 PUSH ExpPrint.005544AF 0055449F |> 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 005544A2 |. E8 A905EBFF CALL ExpPrint.00404A50 005544A7 \. C3 RETN 接下來我看再看看005F16BD |. E8 C2DFF5FF CALL ExpPrint.0054F684 ; 取機器碼(CPU序列號+硬碟晶片序列號) 0054F684 /$ 55 PUSH EBP ; 機器碼的取值 0054F685 |. 8BEC MOV EBP,ESP 0054F687 |. 33C9 XOR ECX,ECX 0054F689 |. 51 PUSH ECX 0054F68A |. 51 PUSH ECX 0054F68B |. 51 PUSH ECX 0054F68C |. 51 PUSH ECX 0054F68D |. 51 PUSH ECX 0054F68E |. 51 PUSH ECX 0054F68F |. 51 PUSH ECX 0054F690 |. 53 PUSH EBX 0054F691 |. 8BD8 MOV EBX,EAX 0054F693 |. 33C0 XOR EAX,EAX 0054F695 |. 55 PUSH EBP 0054F696 |. 68 59F75400 PUSH ExpPrint.0054F759 0054F69B |. 64:FF30 PUSH DWORD PTR FS:[EAX] 0054F69E |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 0054F6A1 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 0054F6A4 |. E8 97FAFFFF CALL ExpPrint.0054F140 ; 取CPU序列號 0054F6A9 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] 0054F6AC |. E8 4BFCFFFF CALL ExpPrint.0054F2FC ; 取硬碟晶片序列號 0054F6B1 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 0054F6B4 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] 0054F6B7 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 0054F6BA |. E8 9D56EBFF CALL ExpPrint.00404D5C 0054F6BF |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 0054F6C2 |. 50 PUSH EAX 0054F6C3 |. B9 04000000 MOV ECX,4 0054F6C8 |. BA 01000000 MOV EDX,1 0054F6CD |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F6D0 |. E8 9B58EBFF CALL ExpPrint.00404F70 ; 取CPU+硬碟後特徵碼前4位 0054F6D5 |. FF75 F0 PUSH DWORD PTR SS:[EBP-10] 0054F6D8 |. 68 70F75400 PUSH ExpPrint.0054F770 ; - 0054F6DD |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14] 0054F6E0 |. 50 PUSH EAX 0054F6E1 |. B9 04000000 MOV ECX,4 0054F6E6 |. BA 05000000 MOV EDX,5 0054F6EB |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F6EE |. E8 7D58EBFF CALL ExpPrint.00404F70 0054F6F3 |. FF75 EC PUSH DWORD PTR SS:[EBP-14] 0054F6F6 |. 68 70F75400 PUSH ExpPrint.0054F770 ; - 0054F6FB |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18] 0054F6FE |. 50 PUSH EAX 0054F6FF |. B9 04000000 MOV ECX,4 0054F704 |. BA 09000000 MOV EDX,9 0054F709 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F70C |. E8 5F58EBFF CALL ExpPrint.00404F70 0054F711 |. FF75 E8 PUSH DWORD PTR SS:[EBP-18] 0054F714 |. 68 70F75400 PUSH ExpPrint.0054F770 ; - 0054F719 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 0054F71C |. 50 PUSH EAX 0054F71D |. B9 04000000 MOV ECX,4 0054F722 |. BA 0D000000 MOV EDX,0D 0054F727 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F72A |. E8 4158EBFF CALL ExpPrint.00404F70 0054F72F |. FF75 E4 PUSH DWORD PTR SS:[EBP-1C] 0054F732 |. 8BC3 MOV EAX,EBX 0054F734 |. BA 07000000 MOV EDX,7 0054F739 |. E8 9256EBFF CALL ExpPrint.00404DD0 0054F73E |. 33C0 XOR EAX,EAX 0054F740 |. 5A POP EDX 0054F741 |. 59 POP ECX 0054F742 |. 59 POP ECX 0054F743 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 0054F746 |. 68 60F75400 PUSH ExpPrint.0054F760 0054F74B |> 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 0054F74E |. BA 07000000 MOV EDX,7 0054F753 |. E8 1C53EBFF CALL ExpPrint.00404A74 ; 將特徵碼格式化,4位一組用-連線 0054F758 \. C3 RETN 接下來我們再到005F16CD |. E8 A2E0F5FF CALL ExpPrint.0054F774 ; 電腦器碼的CALL 0054F774 /$ 55 PUSH EBP ; 計算註冊碼的地方 0054F775 |. 8BEC MOV EBP,ESP 0054F777 |. 6A 00 PUSH 0 0054F779 |. 6A 00 PUSH 0 0054F77B |. 6A 00 PUSH 0 0054F77D |. 6A 00 PUSH 0 0054F77F |. 6A 00 PUSH 0 0054F781 |. 6A 00 PUSH 0 0054F783 |. 6A 00 PUSH 0 0054F785 |. 6A 00 PUSH 0 0054F787 |. 53 PUSH EBX 0054F788 |. 8BD9 MOV EBX,ECX 0054F78A |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX 0054F78D |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 0054F790 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F793 |. E8 6857EBFF CALL ExpPrint.00404F00 0054F798 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 0054F79B |. E8 6057EBFF CALL ExpPrint.00404F00 0054F7A0 |. 33C0 XOR EAX,EAX 0054F7A2 |. 55 PUSH EBP 0054F7A3 |. 68 A3F85400 PUSH ExpPrint.0054F8A3 0054F7A8 |. 64:FF30 PUSH DWORD PTR FS:[EAX] 0054F7AB |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 0054F7AE |. 8BC3 MOV EAX,EBX 0054F7B0 |. E8 9B52EBFF CALL ExpPrint.00404A50 0054F7B5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F7B8 |. E8 5355EBFF CALL ExpPrint.00404D10 0054F7BD |. 83F8 13 CMP EAX,13 ; 判斷機器碼是否為19位,不是就OVER 0054F7C0 |. 75 1B JNZ SHORT ExpPrint.0054F7DD 0054F7C2 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F7C5 |. 8078 04 2D CMP BYTE PTR DS:[EAX+4],2D ; 判斷機器碼的格式是否正確 0054F7C9 |. 75 12 JNZ SHORT ExpPrint.0054F7DD 0054F7CB |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F7CE |. 8078 09 2D CMP BYTE PTR DS:[EAX+9],2D 0054F7D2 |. 75 09 JNZ SHORT ExpPrint.0054F7DD 0054F7D4 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F7D7 |. 8078 0E 2D CMP BYTE PTR DS:[EAX+E],2D 0054F7DB |. 74 1B JE SHORT ExpPrint.0054F7F8 ; 都沒問題了,跳 0054F7DD |> B9 B8F85400 MOV ECX,ExpPrint.0054F8B8 ; machine code is invalid! 0054F7E2 |. B2 01 MOV DL,1 0054F7E4 |. A1 B08A4000 MOV EAX,DWORD PTR DS:[408AB0] 0054F7E9 |. E8 76F9EBFF CALL ExpPrint.0040F164 0054F7EE |. E8 E54BEBFF CALL ExpPrint.004043D8 0054F7F3 |. E9 90000000 JMP ExpPrint.0054F888 0054F7F8 |> 8D4D F0 LEA ECX,DWORD PTR SS:[EBP-10] 0054F7FB |. BA 09000000 MOV EDX,9 0054F800 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0054F803 |. E8 D4BDF0FF CALL ExpPrint.0045B5DC 0054F808 |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C] 0054F80B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 0054F80E |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] 0054F811 |. E8 BAF1FFFF CALL ExpPrint.0054E9D0 ; 中間值1 0054F816 |. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14] 0054F819 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] ; 中間值1壓入EDX 0054F81C |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 字元串「ExpPrinter」 0054F81F |. E8 ACF1FFFF CALL ExpPrint.0054E9D0 ; 中間值2 0054F824 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] 0054F827 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 0054F82A |. E8 B952EBFF CALL ExpPrint.00404AE8 0054F82F |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18] 0054F832 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F835 |. E8 B2EEFFFF CALL ExpPrint.0054E6EC ; 中間值3,通過此中間值3得最終註冊碼 0054F83A |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18] 0054F83D |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 0054F840 |. E8 A352EBFF CALL ExpPrint.00404AE8 0054F845 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] 0054F848 |. 50 PUSH EAX 0054F849 |. B9 04000000 MOV ECX,4 0054F84E |. BA 0C000000 MOV EDX,0C 0054F853 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F856 |. E8 1557EBFF CALL ExpPrint.00404F70 ; 取註冊碼前4位 0054F85B |. FF75 E4 PUSH DWORD PTR SS:[EBP-1C] 0054F85E |. 68 DCF85400 PUSH ExpPrint.0054F8DC ; - 0054F863 |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20] 0054F866 |. 50 PUSH EAX 0054F867 |. B9 04000000 MOV ECX,4 0054F86C |. BA 16000000 MOV EDX,16 0054F871 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 0054F874 |. E8 F756EBFF CALL ExpPrint.00404F70 ; 註冊碼後4位 0054F879 |. FF75 E0 PUSH DWORD PTR SS:[EBP-20] 0054F87C |. 8BC3 MOV EAX,EBX 0054F87E |. BA 03000000 MOV EDX,3 0054F883 |. E8 4855EBFF CALL ExpPrint.00404DD0 0054F888 |> 33C0 XOR EAX,EAX 0054F88A |. 5A POP EDX 0054F88B |. 59 POP ECX 0054F88C |. 59 POP ECX 0054F88D |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 0054F890 |. 68 AAF85400 PUSH ExpPrint.0054F8AA 0054F895 |> 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20] 0054F898 |. BA 08000000 MOV EDX,8 0054F89D |. E8 D251EBFF CALL ExpPrint.00404A74 0054F8A2 \. C3 RETN 啊。就跟到這兒吧~~那個計算中間值的算法沒看明白。有空再看吧。 |
__________________ |
|
送花文章: 3,
|