PowerArchiver破解過程。
軟體介紹:
相當值得推薦的壓縮程式,除了一般壓縮與解壓縮的功能外,它並可設立密碼及分片壓縮功能,且支援滑鼠右鍵的快顯功能、可立即壓縮與解壓縮或製成自動解壓縮檔案、功能比起WinZip、絲毫不遜色。支援ZIP、RAR、CAB、ARJ、LHA、ACE、ARC、TAR、GZ、ZOO、XXE、UUE等格式。
下載地址:http://soft.563.cn/soft/639.html
破解工具:ollydbg1.09,W32Dasm黃金版
用W32Dasm查詢字串的過程我就不說了。大家都知道。
005F8EE8 /. 55 PUSH EBP //斷在這裡。
005F8EE9 |. 8BEC MOV EBP,ESP
005F8EEB |. 6A 00 PUSH 0
005F8EED |. 6A 00 PUSH 0
005F8EEF |. 53 PUSH EBX
005F8EF0 |. 56 PUSH ESI
005F8EF1 |. 8BD8 MOV EBX,EAX
005F8EF3 |. 33C0 XOR EAX,EAX
005F8EF5 |. 55 PUSH EBP
005F8EF6 |. 68 E5905F00 PUSH POWERARC.005F90E5
005F8EFB |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005F8EFE |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005F8F01 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005F8F04 |. 8B83 F0020000 MOV EAX,DWORD PTR DS:[EBX+2F0]
005F8F0A |. E8 15CEE3FF CALL POWERARC.00435D24
005F8F0F |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005F8F12 |. 8B83 F4020000 MOV EAX,DWORD PTR DS:[EBX+2F4]
005F8F18 |. E8 07CEE3FF CALL POWERARC.00435D24
005F8F1D |. A1 00EC6900 MOV EAX,DWORD PTR DS:[69EC00]
005F8F22 |. 8038 00 CMP BYTE PTR DS:[EAX],0
005F8F25 |. 74 37 JE SHORT POWERARC.005F8F5E
005F8F27 |. A1 C0EB6900 MOV EAX,DWORD PTR DS:[69EBC0]
005F8F2C |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005F8F2E |. E8 51BCE0FF CALL POWERARC.00404B84
005F8F33 |. 8BF0 MOV ESI,EAX
005F8F35 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
005F8F38 |. E8 47BCE0FF CALL POWERARC.00404B84
005F8F3D |. 3BF0 CMP ESI,EAX
005F8F3F |. 75 1D JNZ SHORT POWERARC.005F8F5E
005F8F41 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
005F8F44 |. B8 FC905F00 MOV EAX,POWERARC.005F90FC
005F8F49 |. E8 22BFE0FF CALL POWERARC.00404E70
005F8F4E |. 85C0 TEST EAX,EAX
005F8F50 |. 7E 0C JLE SHORT POWERARC.005F8F5E
005F8F52 |. 8BC3 MOV EAX,EBX
005F8F54 |. E8 3F8EE5FF CALL POWERARC.00451D98
005F8F59 |. E9 6C010000 JMP POWERARC.005F90CA
005F8F5E |> 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
005F8F61 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005F8F64 |. E8 07FFFFFF CALL POWERARC.005F8E70 //關鍵call,進入。
005F8F69 |. 84C0 TEST AL,AL
005F8F6B |. 0F85 9D000000 JNZ POWERARC.005F900E
005F8F71 |. FE05 40F3BE00 INC BYTE PTR DS:[BEF340]
===========================================================================================
===========================================================================================
進入005F8F64 處的關鍵call處後,程式碼如下:
005F8E70 /$ 55 PUSH EBP
005F8E71 |. 8BEC MOV EBP,ESP
005F8E73 |. 83C4 F4 ADD ESP,-0C
005F8E76 |. 53 PUSH EBX
005F8E77 |. 33C9 XOR ECX,ECX
005F8E79 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
005F8E7C |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
005F8E7F |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
005F8E82 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005F8E85 |. E8 AEBEE0FF CALL POWERARC.00404D38 ; guanjian
005F8E8A |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
005F8E8D |. E8 A6BEE0FF CALL POWERARC.00404D38
005F8E92 |. 33C0 XOR EAX,EAX
005F8E94 |. 55 PUSH EBP
005F8E95 |. 68 D98E5F00 PUSH POWERARC.005F8ED9
005F8E9A |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005F8E9D |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005F8EA0 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005F8EA3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005F8EA6 |. E8 95650500 CALL POWERARC.0064F440 //關鍵call,進入。
005F8EAB |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
005F8EAE |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
======================================================================
======================================================================
進入005F8EA6處的關鍵call後,程式碼如下:
0064F440 /$ 55 PUSH EBP
0064F441 |. 8BEC MOV EBP,ESP
0064F443 |. 81C4 CCFDFFFF ADD ESP,-234
0064F449 |. 53 PUSH EBX
0064F44A |. 56 PUSH ESI
0064F44B |. 57 PUSH EDI
0064F44C |. 33C9 XOR ECX,ECX //ecx清零。
0064F44E |. 898D D0FDFFFF MOV DWORD PTR SS:[EBP-230],ECX
0064F454 |. 898D CCFDFFFF MOV DWORD PTR SS:[EBP-234],ECX
0064F45A |. 898D DCFDFFFF MOV DWORD PTR SS:[EBP-224],ECX
0064F460 |. 898D D8FDFFFF MOV DWORD PTR SS:[EBP-228],ECX
0064F466 |. 898D E0FDFFFF MOV DWORD PTR SS:[EBP-220],ECX
0064F46C |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX //以上是一系列的清零操作。
0064F46F |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
0064F472 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0064F475 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] //[ebp-4]=zddddz送eax。
0064F478 |. E8 BB58DBFF CALL POWERARC.00404D38 //測試使用者名稱是否為零。
0064F47D |. 33C0 XOR EAX,EAX //eax 清零。
0064F47F |. 55 PUSH EBP
0064F480 |. 68 8FF66400 PUSH POWERARC.0064F68F
0064F485 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
0064F488 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
0064F48B |. BE A0F66400 MOV ESI,POWERARC.0064F6A0 // ASCII 0B,"IP-POWERARC" 關鍵,後面計算用。
0064F490 |. 8DBD ECFEFFFF LEA EDI,DWORD PTR SS:[EBP-114]
0064F496 |. A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
0064F497 |. A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
0064F498 |. A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
0064F499 |. 8D85 ECFDFFFF LEA EAX,DWORD PTR SS:[EBP-214]
0064F49F |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] //[ebp-4]=zddddz送edx。
0064F4A2 |. B9 FF000000 MOV ECX,0FF //0FF(十六進位制11111111)送ecx。
0064F4A7 |. E8 B456DBFF CALL POWERARC.00404B60 //此call未分析。好象沒有什麼大用處。
0064F4AC |. 33C0 XOR EAX,EAX //eax清零。
0064F4AE |. 8A85 ECFEFFFF MOV AL,BYTE PTR SS:[EBP-114]
0064F4B4 |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX //eax=0送[ebp-c]。
0064F4B7 |. 33FF XOR EDI,EDI //edi清零。
0064F4B9 |. BE 03140000 MOV ESI,1403 //1403送esi。
0064F4BE |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0064F4C1 |. 50 PUSH EAX
0064F4C2 |. 89B5 E4FDFFFF MOV DWORD PTR SS:[EBP-21C],ESI //esi=1403送[ebp-21c]。
0064F4C8 |. C685 E8FDFFFF >MOV BYTE PTR SS:[EBP-218],0 //[ebp-218]置零。
0064F4CF |. 8D95 E4FDFFFF LEA EDX,DWORD PTR SS:[EBP-21C] //[ebp-21c]=1403送edx。
0064F4D5 |. 33C9 XOR ECX,ECX //eca清零。
0064F4D7 |. B8 B4F66400 MOV EAX,POWERARC.0064F6B4 //
0064F4DC |. E8 77D0DBFF CALL POWERARC.0040C558
0064F4E1 |. 33C0 XOR EAX,EAX //eax清零。
0064F4E3 |. 8A85 ECFDFFFF MOV AL,BYTE PTR SS:[EBP-214] //使用者名稱長度送eax。
0064F4E9 |. 85C0 TEST EAX,EAX //測試長度是否為零。
0064F4EB |. 7E 6B JLE SHORT POWERARC.0064F558 //為零則跳。條就over。(未驗證。)
0064F4ED |. 8945 EC MOV DWORD PTR SS:[EBP-14],EAX //eax=6送[ebp-14]。
0064F4F0 |. 8D9D EDFDFFFF LEA EBX,DWORD PTR SS:[EBP-213] //[ebp-213]=zddddz送ebx。
===============================================================================================
以下是計算註冊碼的核心地區,所加註釋均以第一次迴圈為準。
===============================================================================================
0064F4F6 |> 33C0 /XOR EAX,EAX //eax清零。
0064F4F8 |. 8A03 |MOV AL,BYTE PTR DS:[EBX] //ebx=zddddz按位元組依次送入al。
0064F4FA |. 03C6 |ADD EAX,ESI //第一位‘z’=7A與esi=1403相加。結果147D送eax。
0064F4FC |. B9 FF000000 |MOV ECX,0FF //ecx=0FF(十六進位制11111111)送ecx。
0064F501 |. 99 |CDQ //eax符號擴充套件到edx。
0064F502 |. F7F9 |IDIV ECX //eax/ecx結果14送eax。
0064F504 |. 8BF2 |MOV ESI,EDX edx=91送esi。
0064F506 |. 3B7D F4 |CMP EDI,DWORD PTR SS:[EBP-C]
0064F509 |. 7D 03 |JGE SHORT POWERARC.0064F50E
0064F50B |. 47 |INC EDI //edi=2。
0064F50C |. EB 05 |JMP SHORT POWERARC.0064F513
0064F50E |> BF 01000000 |MOV EDI,1
0064F513 |> 33C0 |XOR EAX,EAX //eax清零。
0064F515 |. 8A843D ECFEFFF>|MOV AL,BYTE PTR SS:[EBP+EDI-114] //‘i’=49送al。這裡“IP-POWERARC”逐位送入al。與esi異或。
0064F51C |. 33F0 |XOR ESI,EAX //(esi=91)xor(eax=49)=D8送esi。
0064F51E |. 8D85 E0FDFFFF |LEA EAX,DWORD PTR SS:[EBP-220]
0064F524 |. 50 |PUSH EAX
0064F525 |. 89B5 E4FDFFFF |MOV DWORD PTR SS:[EBP-21C],ESI //D8送[ebp-21c]
0064F52B |. C685 E8FDFFFF >|MOV BYTE PTR SS:[EBP-218],0
0064F532 |. 8D95 E4FDFFFF |LEA EDX,DWORD PTR SS:[EBP-21C] //D8送edx。
0064F538 |. 33C9 |XOR ECX,ECX //ecx清零。
0064F53A |. B8 B4F66400 |MOV EAX,POWERARC.0064F6B4
0064F53F |. E8 14D0DBFF |CALL POWERARC.0040C558
0064F544 |. 8B95 E0FDFFFF |MOV EDX,DWORD PTR SS:[EBP-220] //D8送edx。
0064F54A |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10]
0064F54D |. E8 3A56DBFF |CALL POWERARC.00404B8C
0064F552 |. 43 |INC EBX //ebx加1。
0064F553 |. FF4D EC |DEC DWORD PTR SS:[EBP-14] //使用者名稱長度減1。
0064F556 |.^75 9E JNZ SHORT POWERARC.0064F4F6 //長度不為零則向前跳。繼續迴圈。
0064F558 |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] 把1403與每次esi中的結果連線起來 = 1403D86DF31DA02
0064F55B |. E8 2456DBFF CALL POWERARC.00404B84
0064F560 |. 8BF0 MOV ESI,EAX
0064F562 |. 85F6 TEST ESI,ESI //esi清零。
0064F564 |. 79 03 JNS SHORT POWERARC.0064F569
0064F566 |. 83C6 03 ADD ESI,3
0064F569 |> C1FE 02 SAR ESI,2 //esi算術右移兩位。
0064F56C |. C685 ECFDFFFF >MOV BYTE PTR SS:[EBP-214],0 //[ebp-214]置1。
0064F573 |. BB 01000000 MOV EBX,1 //ebx置1。
0064F578 |> 8D85 DCFDFFFF /LEA EAX,DWORD PTR SS:[EBP-224] //
0064F57E |. 8D95 ECFDFFFF |LEA EDX,DWORD PTR SS:[EBP-214]
0064F584 |. E8 9F55DBFF |CALL POWERARC.00404B28
0064F589 |. 8D85 DCFDFFFF |LEA EAX,DWORD PTR SS:[EBP-224]
0064F58F |. 50 |PUSH EAX
0064F590 |. 8D85 D4FDFFFF |LEA EAX,DWORD PTR SS:[EBP-22C]
0064F596 |. 8BFB |MOV EDI,EBX //ebx=1==>esi=6。
0064F598 |. 0FAFFE |IMUL EDI,ESI //edi*esi=1*4=4。
0064F59B |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10] //1403D86DFC31DA02==>edx。
0064F59E |. 8A543A FF |MOV DL,BYTE PTR DS:[EDX+EDI-1] //取1403D86DFC31DA02的第四位3==>dl。
0064F5A2 |. 8850 01 |MOV BYTE PTR DS:[EAX+1],DL ‘3’=33==>[eax+1]。
0064F5A5 |. C600 01 |MOV BYTE PTR DS:[EAX],1 //1==>eax。
0064F5A8 |. 8D95 D4FDFFFF |LEA EDX,DWORD PTR SS:[EBP-22C]
0064F5AE |. 8D85 D8FDFFFF |LEA EAX,DWORD PTR SS:[EBP-228]
0064F5B4 |. E8 6F55DBFF |CALL POWERARC.00404B28
0064F5B9 |. 8B95 D8FDFFFF |MOV EDX,DWORD PTR SS:[EBP-228]
0064F5BF |. 58 |POP EAX
0064F5C0 |. E8 C755DBFF |CALL POWERARC.00404B8C
0064F5C5 |. 8B95 DCFDFFFF |MOV EDX,DWORD PTR SS:[EBP-224]
0064F5CB |. 8D85 ECFDFFFF |LEA EAX,DWORD PTR SS:[EBP-214]
0064F5D1 |. B9 FF000000 |MOV ECX,0FF //0FF==>ecx。
0064F5D6 |. E8 8555DBFF |CALL POWERARC.00404B60
0064F5DB |. 8D85 D0FDFFFF |LEA EAX,DWORD PTR SS:[EBP-230]
0064F5E1 |. 8D95 ECFDFFFF |LEA EDX,DWORD PTR SS:[EBP-214] //3ddddz==>edx。
0064F5E7 |. E8 3C55DBFF |CALL POWERARC.00404B28
0064F5EC |. 8D85 D0FDFFFF |LEA EAX,DWORD PTR SS:[EBP-230]
0064F5F2 |. 50 |PUSH EAX
0064F5F3 |. 8D85 D4FDFFFF |LEA EAX,DWORD PTR SS:[EBP-22C]
0064F5F9 |. 8B55 F0 |MOV EDX,DWORD PTR SS:[EBP-10] //1403D86DFC31DA02==>edx。
0064F5FC |. 8A543A FE |MOV DL,BYTE PTR DS:[EDX+EDI-2] //取1403D86DFC31DA02第三位零==>dl。
0064F600 |. 8850 01 |MOV BYTE PTR DS:[EAX+1],DL //‘0’=30==>[eax+1]。
0064F603 |. C600 01 |MOV BYTE PTR DS:[EAX],1 //eax置1。
0064F606 |. 8D95 D4FDFFFF |LEA EDX,DWORD PTR SS:[EBP-22C]
0064F60C |. 8D85 CCFDFFFF |LEA EAX,DWORD PTR SS:[EBP-234]
0064F612 |. E8 1155DBFF |CALL POWERARC.00404B28
0064F617 |. 8B95 CCFDFFFF |MOV EDX,DWORD PTR SS:[EBP-234]
0064F61D |. 58 |POP EAX
0064F61E |. E8 6955DBFF |CALL POWERARC.00404B8C
0064F623 |. 8B95 D0FDFFFF |MOV EDX,DWORD PTR SS:[EBP-230]
0064F629 |. 8D85 ECFDFFFF |LEA EAX,DWORD PTR SS:[EBP-214]
0064F62F |. B9 FF000000 |MOV ECX,0FF
0064F634 |. E8 2755DBFF |CALL POWERARC.00404B60
0064F639 |. 43 |INC EBX //ebx加1。
0064F63A |. 83FB 05 |CMP EBX,5
0064F63D |.^0F85 35FFFFFF JNZ POWERARC.0064F578 //第二次迴圈則取8,7兩位,第三次取12,11兩位。最後取16,15兩位。
0064F643 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
0064F646 |. 8D95 ECFDFFFF LEA EDX,DWORD PTR SS:[EBP-214] //30D61320==>edx。//呵呵,這個就是真正的註冊碼了,可以註冊了
0064F64C |. E8 D754DBFF CALL POWERARC.00404B28
0064F651 |. 33C0 XOR EAX,EAX
0064F653 |. 5A POP EDX
0064F654 |. 59 POP ECX
0064F655 |. 59 POP ECX
0064F656 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
0064F659 |. 68 96F66400 PUSH POWERARC.0064F696
0064F65E |> 8D85 CCFDFFFF LEA EAX,DWORD PTR SS:[EBP-234]
0064F664 |. BA 02000000 MOV EDX,2
0064F669 |. E8 8252DBFF CALL POWERARC.004048F0
0064F66E |. 8D85 D8FDFFFF LEA EAX,DWORD PTR SS:[EBP-228]
0064F674 |. BA 03000000 MOV EDX,3
0064F679 |. E8 7252DBFF CALL POWERARC.004048F0
0064F67E |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0064F681 |. E8 4652DBFF CALL POWERARC.004048CC
0064F686 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
0064F689 |. E8 3E52DBFF CALL POWERARC.004048CC
0064F68E . C3 RETN
0064F68F .^E9 304BDBFF JMP POWERARC.004041C4
0064F694 .^EB C8 JMP SHORT POWERARC.0064F65E
0064F696 . 5F POP EDI
0064F697 . 5E POP ESI
0064F698 . 5B POP EBX
0064F699 . 8BE5 MOV ESP,EBP
0064F69B . 5D POP EBP
0064F69C . C3 RETN
=================================================================================================================
=================================================================================================================
一個可用的註冊碼
使用者名稱:zddddz
註冊碼;30D61320
試試吧。
相關文章
- powerarchiver 8.00.58 之不完全破解+簡單演算法分析2015-11-15Hive演算法
- 貫通詞典破解過程2004-12-20
- 破解FlashGet1.65的過程2015-11-15
- RegSnap 2.6破解過程 (610字)2001-02-17
- OICQ HACK 1.0 破解過程 (9千字)2001-04-23
- Nullz CrackMe 1.1破解過程 (13千字)2001-09-18Null
- WebTimeSync 5.2.0 破解過程 (14千字)2001-10-05Web
- 凱撒密碼加解密過程與破解原理2024-07-10密碼解密
- 我終於破解了魔裝網神了,破解過程!!,不過是用2.70破解的。 (1千字)2001-10-15
- 中興ZXV10B860AV2.1-A破解過程2019-02-02
- MySQL下載安裝全過程(包含Navicat破解)2017-05-26MySql
- EditPlus
v2.12en破解全過程2004-12-22
- dfx V4.0破解過程 (10千字)2000-09-24
- 破解過程-----請多多指教 (2千字)2000-12-31
- 電腦字型秀破解過程 (1千字)2001-03-18
- webeasymail的簡單破解過程 (2千字)2001-08-04WebAI
- Kryptel 3.8 暴力破解過程 (18千字)2001-09-18
- PUZZLER1.20破解過程 (4千字)2002-01-26
- SuperCleaner2.30破解過程 (11千字)2002-02-04
- 魔術情書
6.55 破解過程+不脫殼打破解補丁【原創】2004-12-07
- 機械設計系統1.0破解實錄------------演算法簡單,破解過程一2015-11-15演算法
- Password Keeper v6.3破解過程 (8千字)2002-04-12
- post NOW! 破解過程!有意思。 (1千字)2000-12-30
- 有聲有色3.33破解過程 (4千字)2001-02-09
- 專業掃雷 1.2破解過程 (4千字)2001-02-17
- fulldisk A32 破解過程!(簡單) (1千字)2001-03-20
- 具體的破解過程來也! (10千字)2001-04-21
- 密碼大師4.0破解過程 (3千字)2001-05-06密碼
- EmEditor v3.16破解過程 (9千字)2001-07-22
- 對VCDCUT 4.03的分析破解過程 (18千字)2001-08-08
- 木馬克星5.33.60破解過程
(9千字)2002-03-28
- GaitCD破解全過程(installshield) (3千字)2015-11-15AI
- myeclipse2017破解過程以及遇到的破解失敗的問題2018-09-13Eclipse
- 一個SQL Server Sa密碼破解的儲存過程2009-02-05SQLServer密碼儲存過程
- 音樂賀卡廠4.10破解過程 (6千字)2001-08-11
- 蒙泰5.0加密狗破解過程 (6千字)2001-10-11加密
- 加密精靈V2.2破解過程 (9千字)2001-10-28加密
- 破解 OverNimble Localize Plus 1.04
全過程! (13千字)2015-11-15