史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > Hacker/Cracker 及加解密技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-01-15, 07:42 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 流星網路電視V1.9.2.0的註冊

【破文作者】 rdsnow[BCG][PYG][D.4s]

【作者主頁】 http://rdsnow.ys168.com

【 E-mail 】 rdsnow@163.com

【 作者QQ 】 83757177

【文章題目】 流星網路電視V1.9.2.0的註冊

【軟體名稱】 流星網路電視1.9.2.0

【下載位址】 http://www.jesen.cn

----------------------------------------------------------------------------------------------
【加密方式】 序列號

【破解工具】 FLYOD V1.10

【軟體限制】 功能限制

【破解平台】 Win9x/NT/2000/XP/XP SP2

----------------------------------------------------------------------------------------------
【軟體簡介】

《流星網路電視》可在線收看國內外數百套精彩色電視視瀕道(含CCTV所有頻道,內地省市優秀電視台;港澳台地區:鳳凰中文,鳳凰資訊,陽光衛視,星空衛視,華娛衛視,美亞電影,衛視電影,東森電影,台灣電視台,台灣華視,東森新聞,中天新聞等知名電視瀕道;體育頻道:UBC直播,ESPN,衛視體育,CCTV-5,上海體育,浙江體育等體育頻道,可在線收看各賽事直播;國外頻道:ABC,BBC,CNN,法國時尚,美國國家地理,沙特阿拉伯電視台,阿拉伯電視台等著名電視台)。
★ 1000多套衛星電視節目24小時不間斷直播。
★ 2000多部在線電影免費觀看,影片定時更新。
★ 特別推出大型電視系列片《唐之韻》供您欣賞。
★ 免費試看所有頻道,給您透明化的選項。
★ 獨有的「節目指南」功能,使您不錯過任何一段精彩節目。
★ 軟體自動檢測最新版本,自動在線昇級,無需任何手動操作。
★ 軟體界面簡潔;人性化的的程序設計,使您操作更簡便。
★ 電視螢幕自由縮放,並可置頂懸掛在螢幕的任意角落,讓您在欣賞電視節目的同時,不影響其它操作。
★ 純綠色軟體。不元件服務任何軟體,不產生LJ文件,不修改註冊表!
★ 一次註冊,終生免費在線昇級

【文章簡介】

這個程序原先版本加了Asprotect 2.11的加密外殼的,一直沒有能夠脫殼,不知道什麼原因,新版本的程序換成Aspack 2.12的壓縮殼,手脫或用工具都可以輕鬆搞定。

程序採用了現在流行的重啟驗證的方式。

加密程序中主要使用到了兩個加密算法:MD5 和 DES,都沒有變形。其中DES有兩個函數,DES_EN( )和DES_DE( ),分別用來加密訊息和解密訊息,使用同一個密鑰。

----------------------------------------------------------------------------------------------
【破解程序】

啟動程序,輸入註冊名和假碼,來到這裡:(註冊碼的長度是16、20、24或32)

005BD888 |. 55 PUSH EBP
005BD889 |. 68 F5DA5B00 PUSH unpacked.005BDAF5
005BD88E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005BD891 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005BD894 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
005BD897 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
005BD89D |. E8 7275E9FF CALL unpacked.00454E14 ; 取出輸入的用戶名
005BD8A2 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
005BD8A5 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
005BD8A8 |. E8 CFB5E4FF CALL unpacked.00408E7C
005BD8AD |. 837D F0 00 CMP DWORD PTR SS:[EBP-10],0 ; 檢查是否成功取出
005BD8B1 |. 0F84 E9010000 JE unpacked.005BDAA0
005BD8B7 |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
005BD8BA |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
005BD8C0 |. E8 4F75E9FF CALL unpacked.00454E14 ; 取出輸入的註冊碼
005BD8C5 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
005BD8C8 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
005BD8CB |. E8 ACB5E4FF CALL unpacked.00408E7C
005BD8D0 |. 837D E8 00 CMP DWORD PTR SS:[EBP-18],0 ; 檢查是否成功取出
005BD8D4 |. 0F84 C6010000 JE unpacked.005BDAA0
005BD8DA |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
005BD8DD |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
005BD8E3 |. E8 2C75E9FF CALL unpacked.00454E14 ; 計算用戶名的長度
005BD8E8 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
005BD8EB |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005BD8EE |. E8 89B5E4FF CALL unpacked.00408E7C
005BD8F3 |. 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28] ; 下面開始對註冊碼變換
005BD8F6 |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
005BD8FC |. E8 1375E9FF CALL unpacked.00454E14 ; 取出註冊碼的長度
005BD901 |. 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
005BD904 |. 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24]
005BD907 |. E8 70B5E4FF CALL unpacked.00408E7C
005BD90C |. 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
005BD90F |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005BD912 |. E8 11B3E4FF CALL unpacked.00408C28 ; 註冊碼大寫轉為小寫
005BD917 |. 8D55 D4 LEA EDX,DWORD PTR SS:[EBP-2C]
005BD91A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BD91D |. E8 52A5EBFF CALL unpacked.00477E74 ; 對註冊碼採用MD5運算
005BD922 |. 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
005BD925 |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
005BD928 |. BA 0CDB5B00 MOV EDX,unpacked.005BDB0C ; ASCII "dream"
005BD92D |. E8 5697EBFF CALL unpacked.00477088 ; 再經過DES加密,Key="dream"因為密鑰至少要有64位,不夠用0x00替代
005BD932 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BD935 |. E8 D66DE4FF CALL unpacked.00404710 ; 計算輸入註冊碼的長度
005BD93A |. 83E8 10 SUB EAX,10 ; Switch (cases 10..20)
005BD93D |. 74 11 JE SHORT unpacked.005BD950
005BD93F |. 83E8 04 SUB EAX,4
005BD942 |. 74 26 JE SHORT unpacked.005BD96A
005BD944 |. 83E8 04 SUB EAX,4
005BD947 |. 74 3B JE SHORT unpacked.005BD984
005BD949 |. 83E8 08 SUB EAX,8
005BD94C |. 74 50 JE SHORT unpacked.005BD99E
005BD94E |. EB 68 JMP SHORT unpacked.005BD9B8
005BD950 |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 10 of switch 005BD93A
005BD955 |. 50 PUSH EAX
005BD956 |. B9 0A000000 MOV ECX,0A
005BD95B |. BA 06000000 MOV EDX,6
005BD960 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD963 |. E8 0870E4FF CALL unpacked.00404970 ; 如果輸入16位註冊碼,從DES結果的第6位起取10個字元
005BD968 |. EB 6B JMP SHORT unpacked.005BD9D5
005BD96A |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 14 of switch 005BD93A
005BD96F |. 50 PUSH EAX
005BD970 |. B9 0E000000 MOV ECX,0E
005BD975 |. BA 03000000 MOV EDX,3
005BD97A |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD97D |. E8 EE6FE4FF CALL unpacked.00404970 ; 如果輸入20位註冊碼,從DES結果的第3位起取14個字元
005BD982 |. EB 51 JMP SHORT unpacked.005BD9D5
005BD984 |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 18 of switch 005BD93A
005BD989 |. 50 PUSH EAX
005BD98A |. B9 10000000 MOV ECX,10
005BD98F |. BA 05000000 MOV EDX,5
005BD994 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD997 |. E8 D46FE4FF CALL unpacked.00404970 ; 如果輸入24位註冊碼,從DES結果的第5位起取16個字元
005BD99C |. EB 37 JMP SHORT unpacked.005BD9D5
005BD99E |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 20 of switch 005BD93A
005BD9A3 |. 50 PUSH EAX
005BD9A4 |. B9 0C000000 MOV ECX,0C
005BD9A9 |. BA 0C000000 MOV EDX,0C
005BD9AE |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD9B1 |. E8 BA6FE4FF CALL unpacked.00404970 ; 如果輸入32位註冊碼,從DES結果的第12位起取32個字元
005BD9B6 |. EB 1D JMP SHORT unpacked.005BD9D5 ; 以上已經完成了對註冊碼的處理,取出的字元等待存入註冊表
005BD9B8 |> 6A 30 PUSH 30 ; Default case of switch 005BD93A
005BD9BA |. B9 14DB5B00 MOV ECX,unpacked.005BDB14 ; 如果輸入的註冊碼不是以上長度,就到這裡,OVER了
005BD9BF |. BA 20DB5B00 MOV EDX,unpacked.005BDB20
005BD9C4 |. A1 A46C5C00 MOV EAX,DWORD PTR DS:[5C6CA4]
005BD9C9 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005BD9CB |. E8 A477EBFF CALL unpacked.00475174
005BD9D0 |. E9 CB000000 JMP unpacked.005BDAA0 ; 這個JMP,跳向註冊碼錯誤的對話視窗
005BD9D5 |> B2 01 MOV DL,1
005BD9D7 |. A1 FCD34300 MOV EAX,DWORD PTR DS:[43D3FC]
005BD9DC |. E8 1BFBE7FF CALL unpacked.0043D4FC
005BD9E1 |. 8BD8 MOV EBX,EAX
005BD9E3 |. BA 02000080 MOV EDX,80000002
005BD9E8 |. 8BC3 MOV EAX,EBX
005BD9EA |. E8 ADFBE7FF CALL unpacked.0043D59C
005BD9EF |. B1 01 MOV CL,1
005BD9F1 |. BA 48DB5B00 MOV EDX,unpacked.005BDB48 ; ASCII "\SOFTWARE\Microsoft\Windows\CurrentVersion\zlb"
005BD9F6 |. 8BC3 MOV EAX,EBX
005BD9F8 |. E8 07FCE7FF CALL unpacked.0043D604
005BD9FD |. 84C0 TEST AL,AL
005BD9FF |. 74 14 JE SHORT unpacked.005BDA15
005BDA01 |. 8B0D 586A5C00 MOV ECX,DWORD PTR DS:[5C6A58] ; unpacked.005C92E0
005BDA07 |. 8B09 MOV ECX,DWORD PTR DS:[ECX]
005BDA09 |. BA 0CDB5B00 MOV EDX,unpacked.005BDB0C ; ASCII "dream"
005BDA0E |. 8BC3 MOV EAX,EBX
005BDA10 |. E8 3300E8FF CALL unpacked.0043DA48 ; 下面程式碼是將註冊碼的處理結果存入註冊表中
005BDA15 |> 8BC3 MOV EAX,EBX
005BDA17 |. E8 50FBE7FF CALL unpacked.0043D56C
005BDA1C |. 8BC3 MOV EAX,EBX
005BDA1E |. E8 E15BE4FF CALL unpacked.00403604

點擊OK後重新啟動程序,找到字元串"dream"或"whole"來到這兒:

005BAB6C . B1 01 MOV CL,1
005BAB6E . BA C0B15B00 MOV EDX,unpacked.005BB1C0 ; ASCII "\SOFTWARE\Microsoft\Windows\CurrentVersion\zlb"
005BAB73 . 8BC3 MOV EAX,EBX
005BAB75 . E8 8A2AE8FF CALL unpacked.0043D604
005BAB7A . 84C0 TEST AL,AL
005BAB7C . 74 1F JE SHORT unpacked.005BAB9D
005BAB7E . 8D4D D4 LEA ECX,DWORD PTR SS:[EBP-2C]
005BAB81 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAB86 . 8BC3 MOV EAX,EBX
005BAB88 . E8 E72EE8FF CALL unpacked.0043DA74 ; 從註冊表中取出儲存的註冊碼的訊息
005BAB8D . 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C]
005BAB90 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAB93 . 05 00040000 ADD EAX,400
005BAB98 . E8 EB98E4FF CALL unpacked.00404488
005BAB9D > B1 01 MOV CL,1
005BAB9F . BA 08B25B00 MOV EDX,unpacked.005BB208 ; ASCII "\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility"
005BABA4 . 8BC3 MOV EAX,EBX
005BABA6 . E8 592AE8FF CALL unpacked.0043D604
005BABAB . 84C0 TEST AL,AL
005BABAD . 74 1C JE SHORT unpacked.005BABCB
005BABAF . BA 4CB25B00 MOV EDX,unpacked.005BB24C ; ASCII "{6BF52A52-394A-11D3-B153-00C04F79FAA6}"
005BABB4 . 8BC3 MOV EAX,EBX
005BABB6 . E8 A530E8FF CALL unpacked.0043DC60
005BABBB . 84C0 TEST AL,AL
005BABBD . 74 0C JE SHORT unpacked.005BABCB
005BABBF . BA 4CB25B00 MOV EDX,unpacked.005BB24C ; ASCII "{6BF52A52-394A-11D3-B153-00C04F79FAA6}"
005BABC4 . 8BC3 MOV EAX,EBX
005BABC6 . E8 5D2BE8FF CALL unpacked.0043D728
005BABCB > BA 01000080 MOV EDX,80000001
005BABD0 . 8BC3 MOV EAX,EBX
005BABD2 . E8 C529E8FF CALL unpacked.0043D59C
005BABD7 . B1 01 MOV CL,1
005BABD9 . BA 7CB25B00 MOV EDX,unpacked.005BB27C ; ASCII "\SoftWare\Microsoft\Windows\CurrentVersion\polly"
005BABDE . 8BC3 MOV EAX,EBX
005BABE0 . E8 1F2AE8FF CALL unpacked.0043D604
005BABE5 . 84C0 TEST AL,AL
005BABE7 . 74 1F JE SHORT unpacked.005BAC08
005BABE9 . 8D4D D0 LEA ECX,DWORD PTR SS:[EBP-30]
005BABEC . BA B8B25B00 MOV EDX,unpacked.005BB2B8 ; ASCII "whole"
005BABF1 . 8BC3 MOV EAX,EBX
005BABF3 . E8 7C2EE8FF CALL unpacked.0043DA74 ; 從註冊表中取出儲存用戶名的訊息
005BABF8 . 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]
005BABFB . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BABFE . 05 04040000 ADD EAX,404
005BAC03 . E8 8098E4FF CALL unpacked.00404488
005BAC08 > 8BC3 MOV EAX,EBX
005BAC0A . E8 5D29E8FF CALL unpacked.0043D56C
005BAC0F . 8BC3 MOV EAX,EBX
005BAC11 . E8 EE89E4FF CALL unpacked.00403604
005BAC16 . 8D4D CC LEA ECX,DWORD PTR SS:[EBP-34]
005BAC19 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC1C . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC22 . BA C8B25B00 MOV EDX,unpacked.005BB2C8 ; ASCII "zlbpolly"
005BAC27 . E8 44C6EBFF CALL unpacked.00477270 ; 用DES_DE( )解密用戶名,將用戶名還原出來
005BAC2C . 8B55 CC MOV EDX,DWORD PTR SS:[EBP-34]
005BAC2F . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC32 . 05 04040000 ADD EAX,404
005BAC37 . E8 4C98E4FF CALL unpacked.00404488
005BAC3C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC3F . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC45 . BA DCB25B00 MOV EDX,unpacked.005BB2DC ; 丁世龍
005BAC4A . E8 0D9CE4FF CALL unpacked.0040485C
005BAC4F . 74 69 JE SHORT unpacked.005BACBA
005BAC51 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC54 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC5A . BA ECB25B00 MOV EDX,unpacked.005BB2EC ; ASCII "8348006"
005BAC5F . E8 F89BE4FF CALL unpacked.0040485C
005BAC64 . 74 54 JE SHORT unpacked.005BACBA
005BAC66 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC69 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC6F . BA FCB25B00 MOV EDX,unpacked.005BB2FC ; ASCII "zhaoguihu"
005BAC74 . E8 E39BE4FF CALL unpacked.0040485C
005BAC79 . 74 3F JE SHORT unpacked.005BACBA
005BAC7B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC7E . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC84 . BA 10B35B00 MOV EDX,unpacked.005BB310 ; ASCII "wwwjjj"
005BAC89 . E8 CE9BE4FF CALL unpacked.0040485C
005BAC8E . 74 2A JE SHORT unpacked.005BACBA
005BAC90 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC93 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC99 . BA 20B35B00 MOV EDX,unpacked.005BB320 ; 吳小龍
005BAC9E . E8 B99BE4FF CALL unpacked.0040485C
005BACA3 . 74 15 JE SHORT unpacked.005BACBA
005BACA5 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACA8 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BACAE . BA 30B35B00 MOV EDX,unpacked.005BB330 ; 劉光軍
005BACB3 . E8 A49BE4FF CALL unpacked.0040485C
005BACB8 . 75 1A JNZ SHORT unpacked.005BACD4
005BACBA > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACBD . E8 EAFCFFFF CALL unpacked.005BA9AC
005BACC2 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACC5 . 05 04040000 ADD EAX,404
005BACCA . BA 40B35B00 MOV EDX,unpacked.005BB340
005BACCF . E8 B497E4FF CALL unpacked.00404488
005BACD4 > 8D55 C0 LEA EDX,DWORD PTR SS:[EBP-40] ; 上面的名字都是一些黑名單,對比後跳到這裡繼續對用戶名處理
005BACD7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACDA . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BACE0 . E8 8FD1EBFF CALL unpacked.00477E74 ; MD5(用戶名)
005BACE5 . 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40]
005BACE8 . 8D4D C4 LEA ECX,DWORD PTR SS:[EBP-3C]
005BACEB . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005BACEE . 8B92 08040000 MOV EDX,DWORD PTR DS:[EDX+408]
005BACF4 . E8 8FC3EBFF CALL unpacked.00477088 ; DES_EN(),Key=機器碼
005BACF9 . 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C]
005BACFC . 8D55 C8 LEA EDX,DWORD PTR SS:[EBP-38]
005BACFF . E8 70D1EBFF CALL unpacked.00477E74 ; MD5( )
005BAD04 . 8B55 C8 MOV EDX,DWORD PTR SS:[EBP-38]
005BAD07 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD0A . 05 10040000 ADD EAX,410
005BAD0F . E8 7497E4FF CALL unpacked.00404488
005BAD14 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD17 . 8B80 00040000 MOV EAX,DWORD PTR DS:[EAX+400]
005BAD1D . E8 EE99E4FF CALL unpacked.00404710 ; 判斷註冊表中儲存註冊碼訊息的長度,應該有四種可能:10,14,16,12分別對應註冊碼的長度是16、20、24、32
005BAD22 . 83E8 0A SUB EAX,0A ; Switch (cases A..10)
005BAD25 . 74 7E JE SHORT unpacked.005BADA5
005BAD27 . 83E8 02 SUB EAX,2
005BAD2A . 74 17 JE SHORT unpacked.005BAD43
005BAD2C . 83E8 02 SUB EAX,2
005BAD2F . 0F84 52010000 JE unpacked.005BAE87
005BAD35 . 83E8 02 SUB EAX,2
005BAD38 . 0F84 2B020000 JE unpacked.005BAF69
005BAD3E . E9 E6030000 JMP unpacked.005BB129
005BAD43 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; Case C of switch 005BAD22
005BAD46 . 05 0C040000 ADD EAX,40C ; 如果長度位12,即當時填入32位假碼,就跳到這裡
005BAD4B . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005BAD4E . 8B92 10040000 MOV EDX,DWORD PTR DS:[EDX+410]
005BAD54 . E8 2F97E4FF CALL unpacked.00404488
005BAD59 . 68 E0925C00 PUSH unpacked.005C92E0
005BAD5E . 8D55 B8 LEA EDX,DWORD PTR SS:[EBP-48]
005BAD61 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD64 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAD6A . E8 05D1EBFF CALL unpacked.00477E74 ; MD( )如果輸入32個字元的假碼,就在這裡做記憶體註冊機吧
005BAD6F . 8B45 B8 MOV EAX,DWORD PTR SS:[EBP-48]
005BAD72 . 8D4D BC LEA ECX,DWORD PTR SS:[EBP-44]
005BAD75 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAD7A . E8 09C3EBFF CALL unpacked.00477088 ; DES_EN( ),Key="dream"
005BAD7F . 8B45 BC MOV EAX,DWORD PTR SS:[EBP-44]
005BAD82 . B9 0C000000 MOV ECX,0C
005BAD87 . BA 0C000000 MOV EDX,0C
005BAD8C . E8 DF9BE4FF CALL unpacked.00404970 ; 第12位起取12個字元
005BAD91 . 33C0 XOR EAX,EAX
005BAD93 . A3 E8925C00 MOV DWORD PTR DS:[5C92E8],EAX
005BAD98 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAD9B . E8 9496E4FF CALL unpacked.00404434
005BADA0 . E9 B9020000 JMP unpacked.005BB05E
005BADA5 > 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C] ; Case A of switch 005BAD22
005BADA8 . 50 PUSH EAX ; 如果長度位10,即當時填入16位假碼,就跳到這裡
005BADA9 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADAC . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADB2 . B9 05000000 MOV ECX,5
005BADB7 . BA 10000000 MOV EDX,10
005BADBC . E8 AF9BE4FF CALL unpacked.00404970 ; 第16位起取灌水限制符
005BADC1 . FF75 B4 PUSH DWORD PTR SS:[EBP-4C]
005BADC4 . 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50]
005BADC7 . 50 PUSH EAX
005BADC8 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADCB . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADD1 . B9 04000000 MOV ECX,4
005BADD6 . BA 04000000 MOV EDX,4
005BADDB . E8 909BE4FF CALL unpacked.00404970 ; 第4位起取4個字元
005BADE0 . FF75 B0 PUSH DWORD PTR SS:[EBP-50]
005BADE3 . 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]
005BADE6 . 50 PUSH EAX
005BADE7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADEA . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADF0 . B9 04000000 MOV ECX,4
005BADF5 . BA 12000000 MOV EDX,12
005BADFA . E8 719BE4FF CALL unpacked.00404970 ; 第18位起取4個字元
005BADFF . FF75 AC PUSH DWORD PTR SS:[EBP-54]
005BAE02 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]
005BAE05 . 50 PUSH EAX
005BAE06 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE09 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAE0F . B9 03000000 MOV ECX,3
005BAE14 . BA 1D000000 MOV EDX,1D
005BAE19 . E8 529BE4FF CALL unpacked.00404970 ; 第29起取3個字元
005BAE1E . FF75 A8 PUSH DWORD PTR SS:[EBP-58]
005BAE21 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE24 . 05 0C040000 ADD EAX,40C
005BAE29 . BA 04000000 MOV EDX,4
005BAE2E . E8 9D99E4FF CALL unpacked.004047D0 ; 合併取出的字元,這裡也是一個長度是16的標準版的真註冊碼
005BAE33 . 68 E0925C00 PUSH unpacked.005C92E0
005BAE38 . 8D55 A0 LEA EDX,DWORD PTR SS:[EBP-60]
005BAE3B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE3E . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAE44 . E8 2BD0EBFF CALL unpacked.00477E74 ; MD5( )如果輸入16個字元的假碼,就在這裡做記憶體註冊機吧
005BAE49 . 8B45 A0 MOV EAX,DWORD PTR SS:[EBP-60]
005BAE4C . 8D4D A4 LEA ECX,DWORD PTR SS:[EBP-5C]
005BAE4F . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAE54 . E8 2FC2EBFF CALL unpacked.00477088 ; DES_EN( ),key="dream"
005BAE59 . 8B45 A4 MOV EAX,DWORD PTR SS:[EBP-5C]
005BAE5C . B9 0A000000 MOV ECX,0A
005BAE61 . BA 06000000 MOV EDX,6
005BAE66 . E8 059BE4FF CALL unpacked.00404970 ; 第6位起取10個字元
005BAE6B . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],1
005BAE75 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAE78 . BA 4CB35B00 MOV EDX,unpacked.005BB34C
005BAE7D . E8 4A96E4FF CALL unpacked.004044CC
005BAE82 . E9 D7010000 JMP unpacked.005BB05E
005BAE87 > 8D45 9C LEA EAX,DWORD PTR SS:[EBP-64] ; Case E of switch 005BAD22
005BAE8A . 50 PUSH EAX ; 如果長度位14,即當時填入20位假碼,就跳到這裡
005BAE8B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE8E . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAE94 . B9 05000000 MOV ECX,5
005BAE99 . BA 03000000 MOV EDX,3
005BAE9E . E8 CD9AE4FF CALL unpacked.00404970 ; 從上面用戶名處理結果中第3位起取灌水限制符
005BAEA3 . FF75 9C PUSH DWORD PTR SS:[EBP-64]
005BAEA6 . 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
005BAEA9 . 50 PUSH EAX
005BAEAA . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAEAD . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAEB3 . B9 02000000 MOV ECX,2
005BAEB8 . BA 1D000000 MOV EDX,1D
005BAEBD . E8 AE9AE4FF CALL unpacked.00404970 ; 第29位起取2個字元
005BAEC2 . FF75 98 PUSH DWORD PTR SS:[EBP-68]
005BAEC5 . 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C]
005BAEC8 . 50 PUSH EAX
005BAEC9 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAECC . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAED2 . B9 06000000 MOV ECX,6
005BAED7 . BA 0C000000 MOV EDX,0C
005BAEDC . E8 8F9AE4FF CALL unpacked.00404970 ; 第13位起取6個字元
005BAEE1 . FF75 94 PUSH DWORD PTR SS:[EBP-6C]
005BAEE4 . 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
005BAEE7 . 50 PUSH EAX
005BAEE8 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAEEB . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAEF1 . B9 07000000 MOV ECX,7
005BAEF6 . BA 06000000 MOV EDX,6
005BAEFB . E8 709AE4FF CALL unpacked.00404970 ; 第6位起取7個字元
005BAF00 . FF75 90 PUSH DWORD PTR SS:[EBP-70]
005BAF03 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF06 . 05 0C040000 ADD EAX,40C
005BAF0B . BA 04000000 MOV EDX,4
005BAF10 . E8 BB98E4FF CALL unpacked.004047D0 ; 合併上面字元,得到一個長度位20的VIP版的真註冊碼
005BAF15 . 68 E0925C00 PUSH unpacked.005C92E0
005BAF1A . 8D55 88 LEA EDX,DWORD PTR SS:[EBP-78]
005BAF1D . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF20 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAF26 . E8 49CFEBFF CALL unpacked.00477E74 ; MD5( )如果輸入20個字元的假碼,就在這裡做記憶體註冊機吧
005BAF2B . 8B45 88 MOV EAX,DWORD PTR SS:[EBP-78]
005BAF2E . 8D4D 8C LEA ECX,DWORD PTR SS:[EBP-74]
005BAF31 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAF36 . E8 4DC1EBFF CALL unpacked.00477088 ; DES_EN( )運算,Key="dream"
005BAF3B . 8B45 8C MOV EAX,DWORD PTR SS:[EBP-74]
005BAF3E . B9 0E000000 MOV ECX,0E
005BAF43 . BA 03000000 MOV EDX,3
005BAF48 . E8 239AE4FF CALL unpacked.00404970 ; 從第3位起取14個字元
005BAF4D . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],2
005BAF57 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAF5A . BA 60B35B00 MOV EDX,unpacked.005BB360
005BAF5F . E8 6895E4FF CALL unpacked.004044CC
005BAF64 . E9 F5000000 JMP unpacked.005BB05E
005BAF69 > 8D45 84 LEA EAX,DWORD PTR SS:[EBP-7C] ; Case 10 of switch 005BAD22
005BAF6C . 50 PUSH EAX ; 如果長度位16,即當時填入24位假碼,就跳到這裡
005BAF6D . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF70 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAF76 . B9 06000000 MOV ECX,6
005BAF7B . BA 08000000 MOV EDX,8
005BAF80 . E8 EB99E4FF CALL unpacked.00404970 ; 第8位起取6個字元
005BAF85 . FF75 84 PUSH DWORD PTR SS:[EBP-7C]
005BAF88 . 8D45 80 LEA EAX,DWORD PTR SS:[EBP-80]
005BAF8B . 50 PUSH EAX
005BAF8C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF8F . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAF95 . B9 07000000 MOV ECX,7
005BAF9A . BA 12000000 MOV EDX,12
005BAF9F . E8 CC99E4FF CALL unpacked.00404970 ; 第18位起取7個字元
005BAFA4 . FF75 80 PUSH DWORD PTR SS:[EBP-80]
005BAFA7 . 8D85 7CFFFFFF LEA EAX,DWORD PTR SS:[EBP-84]
005BAFAD . 50 PUSH EAX
005BAFAE . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFB1 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAFB7 . B9 08000000 MOV ECX,8
005BAFBC . BA 17000000 MOV EDX,17
005BAFC1 . E8 AA99E4FF CALL unpacked.00404970 ; 第23位起取8個字元
005BAFC6 . FFB5 7CFFFFFF PUSH DWORD PTR SS:[EBP-84]
005BAFCC . 8D85 78FFFFFF LEA EAX,DWORD PTR SS:[EBP-88]
005BAFD2 . 50 PUSH EAX
005BAFD3 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFD6 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAFDC . B9 03000000 MOV ECX,3
005BAFE1 . BA 0D000000 MOV EDX,0D
005BAFE6 . E8 8599E4FF CALL unpacked.00404970 ; 第13位起取3個字元
005BAFEB . FFB5 78FFFFFF PUSH DWORD PTR SS:[EBP-88]
005BAFF1 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFF4 . 05 0C040000 ADD EAX,40C
005BAFF9 . BA 04000000 MOV EDX,4
005BAFFE . E8 CD97E4FF CALL unpacked.004047D0 ; 合併得到鑽石版的真註冊碼
005BB003 . 68 E0925C00 PUSH unpacked.005C92E0
005BB008 . 8D95 70FFFFFF LEA EDX,DWORD PTR SS:[EBP-90]
005BB00E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB011 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BB017 . E8 58CEEBFF CALL unpacked.00477E74 ; MD5( )如果輸入24個字元的假碼,就在這裡做記憶體註冊機吧
005BB01C . 8B85 70FFFFFF MOV EAX,DWORD PTR SS:[EBP-90]
005BB022 . 8D8D 74FFFFFF LEA ECX,DWORD PTR SS:[EBP-8C]
005BB028 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BB02D . E8 56C0EBFF CALL unpacked.00477088 ; DES_EN( ),Key="dream"
005BB032 . 8B85 74FFFFFF MOV EAX,DWORD PTR SS:[EBP-8C]
005BB038 . B9 10000000 MOV ECX,10
005BB03D . BA 05000000 MOV EDX,5
005BB042 . E8 2999E4FF CALL unpacked.00404970 ; 第5位起取16的字元
005BB047 . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],3
005BB051 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BB054 . BA 70B35B00 MOV EDX,unpacked.005BB370
005BB059 . E8 6E94E4FF CALL unpacked.004044CC
005BB05E > 8D85 68FFFFFF LEA EAX,DWORD PTR SS:[EBP-98] ; 下面程式碼比較第2位起的灌水限制符
005BB064 . 50 PUSH EAX
005BB065 . B9 05000000 MOV ECX,5
005BB06A . BA 02000000 MOV EDX,2
005BB06F . A1 E0925C00 MOV EAX,DWORD PTR DS:[5C92E0]
005BB074 . E8 F798E4FF CALL unpacked.00404970 ; 第2位起取灌水限制符
005BB079 . 8B85 68FFFFFF MOV EAX,DWORD PTR SS:[EBP-98]
005BB07F . 8D95 6CFFFFFF LEA EDX,DWORD PTR SS:[EBP-94]
005BB085 . E8 36F8FFFF CALL unpacked.005BA8C0 ; 轉換位ASC碼+空格的形式
005BB08A . 8B85 6CFFFFFF MOV EAX,DWORD PTR SS:[EBP-94]
005BB090 . 50 PUSH EAX
005BB091 . 8D85 60FFFFFF LEA EAX,DWORD PTR SS:[EBP-A0]
005BB097 . 50 PUSH EAX
005BB098 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB09B . 8B80 00040000 MOV EAX,DWORD PTR DS:[EAX+400]
005BB0A1 . B9 05000000 MOV ECX,5
005BB0A6 . BA 02000000 MOV EDX,2
005BB0AB . E8 C098E4FF CALL unpacked.00404970 ; 第2位起取灌水限制符
005BB0B0 . 8B85 60FFFFFF MOV EAX,DWORD PTR SS:[EBP-A0]
005BB0B6 . 8D95 64FFFFFF LEA EDX,DWORD PTR SS:[EBP-9C]
005BB0BC . E8 FFF7FFFF CALL unpacked.005BA8C0 ; 轉換位ASC碼+空格的形式
005BB0C1 . 8B95 64FFFFFF MOV EDX,DWORD PTR SS:[EBP-9C]
005BB0C7 . 58 POP EAX
005BB0C8 . E8 8F97E4FF CALL unpacked.0040485C ; 比較
005BB0CD . 75 5A JNZ SHORT unpacked.005BB129
005BB0CF . C605 E0645C00 0>MOV BYTE PTR DS:[5C64E0],1
005BB0D6 . 833D E8925C00 0>CMP DWORD PTR DS:[5C92E8],1
005BB0DD . 74 07 JE SHORT unpacked.005BB0E6
005BB0DF . C605 E4645C00 0>MOV BYTE PTR DS:[5C64E4],1
005BB0E6 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB0E9 . 8B80 AC030000 MOV EAX,DWORD PTR DS:[EAX+3AC]
005BB0EF . 33D2 XOR EDX,EDX

DES加密或解密程序中,因為密鑰至少要有64位,如有幾次密鑰Key="dream",密鑰只有40位,因此要填充24個0

----------------------------------------------------------------------------------------------
【破解心得】

作者沒有採用了註冊碼的明碼比較。對用戶名和註冊碼的處理程序大致是這樣的;

註冊碼——MD5( )——DES_EN( ,Key="dream")——抽取字元——存入註冊表——重啟程序讀註冊表

用戶名——DES_EN( ,Key="zlbpolly")——存入註冊表——重啟程序讀註冊表——DES_DE( ,Key="zlbpolly")還原用戶名——MD5( )——抽取字元形成真註冊碼——MD5( )——DES_EN( Key="dream")——抽取字元

經過上述程序後將用戶名和註冊碼得到的最終結果比較其中的一部分字元。

有沒有發現用戶名和註冊碼最後一段處理是一樣的,其實真碼的形成很簡單:

用戶名——經過MD5( )運算——DES_EN( Key="機器碼")——MD5( )——根據版本鑽石版還是標準版抽取相應字元形成真碼。

編寫算法註冊機時要注意,MD5( )的結果以小寫16進制輸出,DES( )的結果以大寫16禁止文本輸出:

如:"rdsnow[BCG][PYG][D.4s]"的MD5輸出為:"28a5ec4ecec3e6227fbffdcedeec1bc4"

"28a5ec4ecec3e6227fbffdcedeec1bc4"的DES( key=機器碼)輸出(我的Key是"67f2a822")為:"B51E989F74EEE338B51ABC5A6AB315FD42B634367DDF2D96BEC3B6004B5C2422"

再經過一次MD5( )得到"b196b34a23783d94922e8b4ca5f92a7a"

抽取不同位置的字元得到不同版本的註冊碼:

用戶名:rdsnow[BCG][PYG][D.4s],機器碼 "67f2a822"

未知版:b196b34a23783d94922e8b4ca5f92a7a (32個字元)(未能通過後面的長度驗證)

標準版:4922e6b3422e82a7 (16個字元)

VIP 版:96b342a83d94934a2378 (20個字元)

鑽石版:a2378322e8b4c4ca5f92a3d9 (24個字元)

因為個人的機器碼不一樣,所以註冊碼也不一樣。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 12:26 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1