實戰破解000- 短信轟炸機的爆破


實戰破解000- 短信轟炸機的爆破

軟件截圖

image


爆破

軟件鏈接
X96Dbg附加上去 , 有殼子 ,轉到0X401000
image
是易語言程序的特征 , 並且沒有將代碼VM , 搜索特征碼FF55FC5F5E(易語言按鈕事件)

image

E-Debug分析一下 , 單步跟蹤進去

image

判斷編輯框1是否有內容

image

將40B42F其改成jmp ,40B4C1是判斷編輯框2是否有內容 , 也改成jmp

image

單步跟蹤到40B59F,進入了第一個驗證CALL(0040BF09) , 返回 “ 賬號不能為空” ,在這下上斷點,我們修改編輯框1內容

image

賬號不為空的時候返回 eax:""簽名錯誤""

image

因為我們沒有正版卡密,所以無法知道這個驗證CALL應該返回什么值,給驗證CALL打上標簽,並在驗證CALL下上斷點,防止第二次驗證,讓我們繼續往下跟,發送token,我不知道token是啥,在未來的網絡驗證編寫后,一定補上這個知識點

image

單步到這里 , 發現一個長跳轉 , 按下G鍵 , 打開流程圖

image

我們要跳轉的地方,要執行的代碼太少了 (我們優先讓代碼走更多的代碼)將0040B66E NOP掉

image

往下單步 , 走到了 這個地方 , 0040B6A0 , 0040B6C0 , 應該是屬於驗證回調,EAX為回調ID
0040B691      | 8D45 FC                      | lea eax,dword ptr ss:[ebp-4]              | [ebp-4]:"\"簽名錯誤\""
0040B694      | 50                           | push eax                                  |
0040B695      | 8D45 F8                      | lea eax,dword ptr ss:[ebp-8]              | [ebp-8]:&"{(K"
0040B698      | 50                           | push eax                                  |
0040B699      | 8B0424                       | mov eax,dword ptr ss:[esp]                |
0040B69C      | 8B00                         | mov eax,dword ptr ds:[eax]                |
0040B69E      | 8B00                         | mov eax,dword ptr ds:[eax]                |
0040B6A0      | FF50 0C                      | call dword ptr ds:[eax+C]                 |
0040B6A3      | B8 EFD15600                  | mov eax,短電炸死你.56D1EF                      | 56D1EF:"user"
0040B6A8      | 8945 F4                      | mov dword ptr ss:[ebp-C],eax              | [ebp-C]:"user"
0040B6AB      | 8D45 F4                      | lea eax,dword ptr ss:[ebp-C]              | [ebp-C]:"user"
0040B6AE      | 50                           | push eax                                  |
0040B6AF      | 8D45 F8                      | lea eax,dword ptr ss:[ebp-8]              | [ebp-8]:&"{(K"
0040B6B2      | 50                           | push eax                                  |
0040B6B3      | 8B0424                       | mov eax,dword ptr ss:[esp]                |
0040B6B6      | 8B00                         | mov eax,dword ptr ds:[eax]                |
0040B6B8      | 8B00                         | mov eax,dword ptr ds:[eax]                |
0040B6BA      | FF50 24                      | call dword ptr ds:[eax+24]                |
0040B6BD      | 8945 F0                      | mov dword ptr ss:[ebp-10],eax             |
0040B6C0      | 8B5D F4                      | mov ebx,dword ptr ss:[ebp-C]              | [ebp-C]:"user"

image

繼續往下跟蹤 , 還會有幾個進 "回調"CALL的地址 不管他們
0040B787 ->0040B828 ,一段很多參數的CALL , 很多參數一般不管他,F8步過

image

EAX變為了0,沒啥用,給這個CALL(00407CEE)打上未知CALL , F8下去
單步走下去遇到了第二個驗證 0040C265 , 返回值eax:""簽名錯誤""

image

往下單步,出現文本比較,5849E0:""驗證成功"" - [ebp-10]:""簽名錯誤""

image

看來 0040C265 驗證2CALL是關鍵CALL 了 , 將其修改成這樣

image

載入功能窗口了 , F9運行起來

image

彈出"驗證成功",看來0040C265是判斷是否是VIP ,00407CEE是判斷用戶操作是否合法

image

測試功能(正常) 保存補丁

image

效果圖

image


請勿用於非法用途,后果自負!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM