我的overlay(附加資料)處理再學習
【破解作者】 stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s]
【作者郵箱】 stasi@163.com
【作者主頁】 stasi.7169.com
【使用工具】 ollydbg winhex
【破解平臺】 Win9x/NT/2000/XP
【軟體名稱】 封神榜掛機加速外掛2.1
【下載地址】 www.wgdown.com祈禱工作室
【軟體簡介】 封神榜變態外掛:需收費使用者才能正常使用;
本外掛收費為300元/年(提供升級)
200元/半年(提供升級)
【軟體大小】 5m
【加殼方式】 aspack
【破解宣告】 我是一隻小菜鳥,偶得一點心得,願與大家分享:)
--------------------------------------------------------------------------------
【破解內容】
看了Lenus剛寫的《淺談脫殼中的附加資料問題(overlay)》一文,大呼過癮,概念明晰,結構清爽!
正好看到論壇裡有人給了東西,我就拿來自學了:)
peid ->ASPack 2.12 -> Alexey Solodovnikov [重疊]
怎麼脫殼和文章無關,stripper或修api都可以的
執行脫殼後的東西,彈出搭建之星的對話方塊,說明原有的尾部資料沒有被正確讀入,要修正的!
理論部分可以看《淺彈》,我寫就有點垃圾了,可以跳過不看:)
00616070 8B45 F8 mov eax,dword ptr ss:[ebp-8]
00616073 BA B0616100 mov edx,fsbwg21.006161B0 ; ASCII "FSJM IPD W32"
00616078 E8 DBEDDEFF call fsbwg21.00404E58
0061607D 0F85 E4000000 jnz fsbwg21.00616167
00616083 8B03 mov eax,dword ptr ds:[ebx]
00616085 8B10 mov edx,dword ptr ds:[eax]
00616087 FF12 call dword ptr ds:[edx]
ds:[0041CD34]=004218B4 (fsbwg21.004218B4)
00616089 52 push edx
0061608A 50 push eax
0061608B 8B06 mov eax,dword ptr ds:[esi]
0061608D 99 cdq
0061608E 290424 sub dword ptr ss:[esp],eax
eax=0000000C
Stack ss:[0012FF24]=000D267F
00616091 195424 04 sbb dword ptr ss:[esp+4],edx
00616095 58 pop eax
00616096 5A pop edx
00616097 83E8 08 sub eax,8
0061609A 83DA 00 sbb edx,0
0061609D 52 push edx
0061609E 50 push eax
0061609F 8B03 mov eax,dword ptr ds:[ebx]
006160A1 E8 FAB7E0FF call fsbwg21.004218A0
004218A0=fsbwg21.004218A0
006160A6 8D55 F0 lea edx,dword ptr ss:[ebp-10]
006160A9 8B03 mov eax,dword ptr ds:[ebx]
006160AB B9 04000000 mov ecx,4
006160B0 E8 F7B9E0FF call fsbwg21.00421AAC
006160B5 8B45 F0 mov eax,dword ptr ss:[ebp-10]
Stack ss:[0012FF58]=000D265A
006160B8 99 cdq
006160B9 52 push edx
006160BA 50 push eax
006160BB 8B03 mov eax,dword ptr ds:[ebx]
006160BD E8 DEB7E0FF call fsbwg21.004218A0
006160C2 8BD6 mov edx,esi
006160C4 8B03 mov eax,dword ptr ds:[ebx]
006160C6 B9 04000000 mov ecx,4
006160CB E8 DCB9E0FF call fsbwg21.00421AAC
006160D0 8B06 mov eax,dword ptr ds:[esi]
006160D2 3B45 F0 cmp eax,dword ptr ss:[ebp-10]
006160D5 74 37 je short fsbwg21.0061610E
006160D7 8D45 F8 lea eax,dword ptr ss:[ebp-8]
006160DA 8B16 mov edx,dword ptr ds:[esi]
006160DC E8 B7EFDEFF call fsbwg21.00405098
006160E1 8B55 F8 mov edx,dword ptr ss:[ebp-8]
006160E4 8B03 mov eax,dword ptr ds:[ebx]
006160E6 8B0E mov ecx,dword ptr ds:[esi]
006160E8 E8 BFB9E0FF call fsbwg21.00421AAC
006160ED 8BD6 mov edx,esi
006160EF 8B03 mov eax,dword ptr ds:[ebx]
006160F1 B9 04000000 mov ecx,4
006160F6 E8 B1B9E0FF call fsbwg21.00421AAC
006160FB A1 342E6200 mov eax,dword ptr ds:[622E34]
00616100 8B00 mov eax,dword ptr ds:[eax]
00616102 8B0E mov ecx,dword ptr ds:[esi]
00616104 8B55 F8 mov edx,dword ptr ss:[ebp-8]
00616107 8B38 mov edi,dword ptr ds:[eax]
00616109 FF57 3C call dword ptr ds:[edi+3C]
0061610C ^ EB B4 jmp short fsbwg21.006160C2
0061610E 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
00616111 A1 342D6200 mov eax,dword ptr ds:[622D34]
00616116 8B00 mov eax,dword ptr ds:[eax]
00616118 E8 8B15E9FF call fsbwg21.004A76A8
0061611D 8B45 E4 mov eax,dword ptr ss:[ebp-1C]
00616120 8D55 E8 lea edx,dword ptr ss:[ebp-18]
00616123 E8 4841DFFF call fsbwg21.0040A270
00616128 8B55 E8 mov edx,dword ptr ss:[ebp-18]
0061612B A1 242B6200 mov eax,dword ptr ds:[622B24]
00616130 E8 6BE9DEFF call fsbwg21.00404AA0
00616135 8D4D DC lea ecx,dword ptr ss:[ebp-24]
00616138 A1 342E6200 mov eax,dword ptr ds:[622E34]
0061613D 8B00 mov eax,dword ptr ds:[eax]
0061613F 33D2 xor edx,edx
00616141 8B18 mov ebx,dword ptr ds:[eax]
00616143 FF53 0C call dword ptr ds:[ebx+C]
00616146 8B55 DC mov edx,dword ptr ss:[ebp-24]
00616149 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
0061614C A1 242B6200 mov eax,dword ptr ds:[622B24]
00616151 8B00 mov eax,dword ptr ds:[eax]
00616153 E8 740BEBFF call fsbwg21.004C6CCC
00616158 8B55 E0 mov edx,dword ptr ss:[ebp-20]
0061615B 8B45 FC mov eax,dword ptr ss:[ebp-4]
0061615E E8 3DE9DEFF call fsbwg21.00404AA0
00616163 B3 01 mov bl,1
00616165 EB 0D jmp short fsbwg21.00616174
00616167 8B03 mov eax,dword ptr ds:[ebx]
00616169 E8 8EDADEFF call fsbwg21.00403BFC
0061616E 33C0 xor eax,eax
00616170 8903 mov dword ptr ds:[ebx],eax
00616172 33DB xor ebx,ebx
00616174 33C0 xor eax,eax
00616176 5A pop edx
00616177 59 pop ecx
00616178 59 pop ecx
00616179 64:8910 mov dword ptr fs:[eax],edx
0061617C 68 9E616100 push fsbwg21.0061619E
00616181 8D45 DC lea eax,dword ptr ss:[ebp-24]
00616184 BA 05000000 mov edx,5
00616189 E8 E2E8DEFF call fsbwg21.00404A70
0061618E 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00616191 E8 B6E8DEFF call fsbwg21.00404A4C
00616196 C3 retn
00616197 ^ E9 08E2DEFF jmp fsbwg21.004043A4
0061619C ^ EB E3 jmp short fsbwg21.00616181
0061619E 8BC3 mov eax,ebx
006161A0 5F pop edi
006161A1 5E pop esi
006161A2 5B pop ebx
006161A3 8BE5 mov esp,ebp
006161A5 5D pop ebp
006161A6 C3 retn
看api參考:
DWORD SetFilePointer(
HANDLE hFile, //在用CreateFileA開啟後得到的檔案控制程式碼
LONG lDistanceToMove, //要移動的距離,這個是低32位
PLONG lpDistanceToMoveHigh, //要移動的距離,這是高32位,要注意這是一個指向資料的指標
DWORD dwMoveMethod //表示指標開始的位置
);
winhex裡,未脫殼的尾部資料:
000d264dh: 4E 3E 4E 3E 0A 4E 3E 4E 3E 00 00 00 00 09 00 00 ; N>N>.N>N>.......
000d265dh: 00 2E 5C 66 73 62 2E 49 50 44 00 24 0C 00 5A 26 ; ..\fsb.IPD.$..Z&
000d266dh: 0D 00 20 20 20 20 46 53 4A 4D 20 49 50 44 20 57 ; .. FSJM IPD W
000d267dh: 33 32 ; 32
000C2400就對應:DWORD dwMoveMethod
000D265A就是指向長度的偏移地址
所以修復的兩個要點就是overlay的長度和overlay的開始地址!
要做的就是選中整個overlay的資料段,copy到脫殼檔案裡。
選000C2400為段開始,選000D267E為段結束,這就是整個overlay的資料段,編輯-》複製選塊-》正常。
winhex開啟脫殼後檔案,不需要費心找空白的地方,直接在最後一位元組後paste,因為winhex可以自動擴充套件檔案長度。
paste後檔案尾部地址和資料情況:
00259a4dh: 4E 3E 4E 3E 0A 4E 3E 4E 3E 00 00 00 00 09 00 00 ; N>N>.N>N>.......
00259a5dh: 00 2E 5C 66 73 62 2E 49 50 44 00 24 0C 00 5A 26 ; ..\fsb.IPD.$..Z&
00259a6dh: 0D 00 20 20 20 20 46 53 4A 4D 20 49 50 44 20 57 ; .. FSJM IPD W
00259a7dh: 33 32
; 32
檢視長度地址09的偏移量為00259A5A
所以修改000D265A為00259A5A
修改overlay資料開始地址,修改000C2400為00249800
修改後資料情況:
00259a4dh: 4E 3E 4E 3E 0A 4E 3E 4E 3E 00 00 00 00 09 00 00 ; N>N>.N>N>.......
00259a5dh: 00 2E 5C 66 73 62 2E 49 50 44 00 98 24 00 5A 9A ; ..\fsb.IPD.?.Z?
0259a6dh: 25 00 20 20 20 20 46 53 4A 4D 20 49 50 44 20 57 ; %. FSJM IPD W
00259a7dh: 33 32 ; 32
儲存就ok了:)
--------------------------------------------------------------------------------
【破解總結】
這類overlay問題和《淺談脫殼中的附加資料問題(overlay)》所提到的overkay問題好象
是同屬一個問題的兩個型別。本文提到的overlay的處理時,是不能運用《淺談》一文裡爆
句的方法,因為這裡的資料雖然是附加資料,但是檔案資料的主體的一部分,缺少這部分數
據,檔案雖然能執行,但卻是沒有意義的!所以只能手動修正尾部的overlay資料。
這種資料產生的原因大概是dephi對附加資源的儲存過程中產生的,具體流程不太瞭解:(
以下給出這類dephi的overlay資料手動處理的快捷方法,無須使用ollydbg,有點機械,如有
錯誤望指出。
1)脫掉主檔案的殼,修復錯誤的輸入表
2)16進位制編輯器開啟原檔案,查詢文字“f2000”把所得的偏移量減去5就是原檔案裡overlay
資料的開始地址,copy至檔案尾部。
3)開啟脫殼後檔案,從檔案最後一位元組,開始貼上,並記起始地址為A.
4)再查詢文字“FSJM IPD W32”,所得的偏移量減去C就是存放起始地址的地方,用地址A代替
(注意資料的儲存方式)
5)最後用存放起始地址的地方前最近的“00 00 00 00”後一個位元組的偏移量替換存放起始地
址後的4位元組的內容,儲存就ok!
其實最好就是把外掛省下的錢給點xikug,forgot,老羅...寫個工具出來,“他們那個都是程式設計
強人,說了少了,他不幹,俺啊俺啊...”:)
--------------------------------------------------------------------------------
【版權宣告】 本文純屬技術交流, 轉載請註明作者並保持文章的完整, 謝謝!
相關文章
- 再談資料的併發處理2009-08-20
- 深度學習--資料預處理2024-07-28深度學習
- 深度學習——資料預處理篇2019-02-18深度學習
- SpringMVC入門學習---資料的處理2019-05-11SpringMVC
- 深度學習中的資料預處理方法2017-03-06深度學習
- YOLO-V4 實現口罩識別(附加資料、資料批量處理程式)2021-08-06YOLO
- 從LinkedIn的資料處理機制學習資料架構2014-06-09架構
- 深度學習煉丹-資料處理和增強2022-12-20深度學習
- Python深度學習(處理文字資料)--學習筆記(十二)2020-11-12Python深度學習筆記
- 大資料學習之Hadoop如何高效處理大資料2018-09-20大資料Hadoop
- YOLOv3學習筆記之資料處理2020-12-12YOLO筆記
- 深度學習煉丹-資料預處理和增強2022-12-22深度學習
- SpringMVC 學習筆記(四) 處理模型資料2016-12-18SpringMVC筆記模型
- 如何用深度學習處理結構化資料?2017-12-04深度學習
- 我的大資料學習之路2017-03-31大資料
- SQL學習-資料庫的備份和還原 分離和附加2018-08-02SQL資料庫
- 【資料處理】使用深度學習預測未來銷量2018-10-28深度學習
- 【Pandas學習筆記02】-資料處理高階用法2021-12-01筆記
- 【Pandas學習筆記02】處理資料實用操作2021-11-26筆記
- 記錄我的資料庫學習2011-08-21資料庫
- 批處理----學習2007-05-20
- 質疑"我的大腦不能再處理物件導向了"2012-06-12物件
- C# ThreadPool 分批處理資料,所有資料執行完再返回2021-09-04C#thread
- 處理百萬級以上的資料處理2013-12-16
- 我的大資料學習歷程(1)2017-07-08大資料
- 醫學影像處理中的資料讀寫2022-03-12
- 我的《海量資料處理與大資料技術實戰》出版啦!2020-08-28大資料
- 我的大腦不能再處理物件導向程式設計了2013-03-18物件程式設計
- Python資料處理(二):處理 Excel 資料2019-02-16PythonExcel
- 資深博導:我以為資料預處理是常識,直到遇到自己的學生2024-06-26
- 學習學習再學習2007-03-30
- 資料處理2024-07-18
- 我的MYSQL學習心得(四)資料型別2016-05-05MySql資料型別
- 我的MYSQL學習心得(4) : 資料型別2015-06-03MySql資料型別
- Excel竟可以處理大資料,我驚呆了下巴!2020-09-29Excel大資料
- 大資料storm學習之我觀2016-04-19大資料ORM
- 自然語言處理背後的資料科學2019-04-29自然語言處理資料科學
- Windows批處理學習(二)——批處理(3)薦2013-07-27Windows