終身高級VIP會員
  
- 資源幣
- 11472
- 積分
- 4971
- 貢獻
- 0
- 在線時間
- 2065 小時
- 注冊時間
- 2015-4-20
- 最后登錄
- 2024-7-9

|
本帖最后由 show0p 于 2019-5-21 12:12 編輯
麻婆云授權(quán)網(wǎng)絡(luò)驗證脫殼破解教程(附工具及源碼)
QQ圖片20190520232004.png (800.5 KB, 下載次數(shù): 870)
下載附件
保存到相冊
2019-5-20 23:20 上傳
實戰(zhàn)教你過麻坡云授權(quán)驗證
這里是麻婆脫殼
接下來的操作,懂得都懂
第一步:
去掉壓縮殼到了mapo的入口后
dump,不需要重建輸入表(簡稱dump1)
ok,能運行,將dump1放入od
接下來需要獲取兩個offset(偏移)
一個是mapo的GetProcAddress,和mapo_encApiTable的存儲地址
首先獲取GetProcAddress函數(shù)地址
搜索特征碼:
8B F8 5F 5E 5D 5B 81 C4 10 01 00 00 C3 03 FE 8B C7 5F 5E 5D 5B 81 C4 10 01 00 00 C3 CC
然后來到這里
004F1F20 8BF8 mov edi,eax ; kernel32.BaseThreadInitThunk
004F1F22 5F pop edi ; kernel32.76FC33CA
004F1F23 5E pop esi ; kernel32.76FC33CA
004F1F24 5D pop ebp ; kernel32.76FC33CA
004F1F25 5B pop ebx ; kernel32.76FC33CA
004F1F26 81C4 10010000 add esp,0x110
004F1F2C C3 retn
004F1F2D 03FE add edi,esi
004F1F2F 8BC7 mov eax,edi
004F1F31 5F pop edi ; kernel32.76FC33CA
004F1F32 5E pop esi ; kernel32.76FC33CA
004F1F33 5D pop ebp ; kernel32.76FC33CA
004F1F34 5B pop ebx ; kernel32.76FC33CA
004F1F35 81C4 10010000 add esp,0x110
004F1F3B C3 retn
先將004F1F22處的代碼改成:
jmp 004F1F31,并且記下這個地址:004F1F3B
然后保存這個exe(簡稱dump2)
接著在址:004F1F3B下斷,運行
斷下來之后
執(zhí)行到返回+F8
直到出現(xiàn)mov eax,[0xXXXXX] push xxxx這樣的代碼
像這種
00665C93 A1 CB485100 mov eax,dword ptr ds:[0x5148CB]
00665C98 68 A25C6600 push dll_inj_.00665CA2
00665C9D ^ E9 439AF8FF jmp dll_inj_.005EF6E5
然后內(nèi)存窗口跟隨這個地址
可以看到他是長這樣的,那就是他了。第一個值里面存的就是被加密的api地址
我們記下這個地址:5148CB
然后結(jié)束掉調(diào)試
打開DLL注入工具
第一個選擇dump2.exe
第二個選擇獲取數(shù)據(jù)的dll
然后點運行
這是后讓我們輸入GetProcAddressRet
那么我們就輸入004F1F3B-400000=F1F3B
然后點確認輸入后又讓輸入EncApi地址
我們輸入:5148CB-400000=1148CB
接下來就是等待授權(quán)窗口出來,然后保存獲取的數(shù)據(jù),會在運行目錄下生成mapoSafeApi.txt文件
關(guān)閉軟件后,就可以開始脫殼了
將mapo.exe放入od中,跑到mapo的真正入口
然后在入口的下一行就是oep,直接下斷運行輸入正確卡號登錄進入軟件直到斷下來
斷下來之后,直接dump,勾選上重建輸入表
保存到dump3.exe,保存后運行dump3.exe發(fā)現(xiàn)說缺失,其實是函數(shù)名錯誤了
將dump3.exe放入cff中找到user32.dll中的這個函數(shù)
發(fā)現(xiàn)是NtdllDefWindowProc_A
其實這個函數(shù)只在ntdll中,user32的應(yīng)該是DefWindowProcA,改完后保存,這樣就不會提示缺失了
然后關(guān)閉od
打開MapoSafe.exe后
待修復(fù)文件選擇:dump3.exe的路徑
api表填mapoSafeApi.txt的路徑
結(jié)束地址填代碼段的大小(用CFF看)
然后直接點開始修復(fù)
完畢后,點保存,生成new_mapo.exe
emmm,忘了一步,
ok,回到這里、我們重新點開始修復(fù)保存
發(fā)現(xiàn)還是崩潰,我們看一下輸入日志
30-RVA_Patch>>jmp_xxx:41D4E0-該行不在索引中.
發(fā)現(xiàn)這個是沒有修復(fù)
我們?nèi)apoSafeApi.txt找找30這個索引對應(yīng)的函數(shù),發(fā)現(xiàn)30是缺失的,這里暫時先不管
往下看,發(fā)現(xiàn)69也沒有修復(fù)
69-RVA_Patch>>jmp_xxx:466FA8-該行不在索引中.
查了下mapoSafeApi.txt是有對應(yīng)的api函數(shù)的
69-ntdll.dll-RtlSizeHeap
我們看一下,dump3.exe有沒有導(dǎo)入這個函數(shù),沒有我們就添加,然后點重新修復(fù)保存
添加保存后,重新修復(fù)并保存
再運行,發(fā)現(xiàn)就能運行起來了
看看功能
ok,功能沒問題
教程到這里
因為時間匆促,只能先告訴你們怎么用修復(fù)工具和基本操作,后面會告訴你們?yōu)槭裁?/font>
拜拜,這里是要開心。我愛你
|
|