- UID
- 84499
- 帖子
- 985
- 主題
- 48
- 精華
- 0
- 積分
- 1050
- 楓幣
- 4380
- 威望
- 1017
- 存款
- 0
- 贊助金額
- 0
- 推廣
- 0
- GP
- 0
- 閱讀權限
- 100
- 性別
- 保密
- 在線時間
- 668 小時
- 註冊時間
- 2014-11-21
- 最後登入
- 2022-4-24
|
本帖最後由 anderson101866 於 2014-12-31 04:25 編輯
MS88088 發表於 2014-12-31 00:07 [/url]
v1.71.2 ---> [EBP-04]V1.75.1兩者差上4*3 = 12 BYTES = 0C (16進位)
所以你可以試試看 [EBP-(04+0C)] = ...
感謝 我懂了XD
因為原本172.1的Function:- 00E3B23F - 55 - push ebp
- 00E3B240 - 8B EC - mov ebp,esp
- 00E3B242 - 83 EC 24 - sub esp,24
- ...
- 00E3B252 - 8B CF - mov ecx,edi <<
- 00E3B254 - 89 7D EC - mov [ebp-14],edi <<=========
- 00E3B257 - FF 50 18 - call dword ptr [eax+18] <<
- 00E3B25A - 8B CF - mov ecx,edi <<
複製代碼 與175.1- MapleStory.exe+AB3C55 - 6A 28 - push 28
- MapleStory.exe+AB3C57 - B8 7B2A1601 - mov eax,MapleStory.exe+D62A7B
- MapleStory.exe+AB3C5C - E8 5D990F00 - call MapleStory.exe+BAD5BE
- MapleStory.exe+AB3C61 - 8B D9 - mov ebx,ecx
- MapleStory.exe+AB3C63 - 8B 3D 68A16401 - mov edi,[MapleStory.exe+124A168]
- MapleStory.exe+AB3C69 - 8B 07 - mov eax,[edi]
- MapleStory.exe+AB3C6B - 8B CF - mov ecx,edi <<
- MapleStory.exe+AB3C6D - 89 7D E0 - mov [ebp-20],edi <<===
- MapleStory.exe+AB3C70 - FF 50 20 - call dword ptr [eax+20]<<
- MapleStory.exe+AB3C73 - 8B CF - mov ecx,edi <<
複製代碼 原本同一個區域變數[ebp-14] 變成[ebp-20], 所以多了(0x20-0x14)的offset
, 也就是猜想原本[ebp-04]的區域變數被往後挪到[ebp-(04+C)] 的位置了
不過你是怎麼直接看出他是4*3的呀XD 經驗嗎(?)
我只看得懂172.1那個Function的Entry
175.1的Entry我看不懂XDD
172.1:- 00E3B23F - 55 - push ebp //推入caller的ebp
- 00E3B240 - 8B EC - mov ebp,esp //此function的ebp指向esp
- 00E3B242 - 83 EC 24 - sub esp,24 //esp分配24的空間給local variable
複製代碼 175.1:- MapleStory.exe+AB3C55 - 6A 28 - push 28 //傳入參數28
- MapleStory.exe+AB3C57 - B8 7B2A1601 - mov eax,MapleStory.exe+D62A7B //?
- MapleStory.exe+AB3C5C - E8 5D990F00 - call MapleStory.exe+BAD5BE //?
- MapleStory.exe+AB3C61 - 8B D9 - mov ebx,ecx //?
- MapleStory.exe+AB3C63 - 8B 3D 68A16401 - mov edi,[MapleStory.exe+124A168] //?
- ...
複製代碼 後面就都跨謀了哈哈, 只好用猜的
另外我有找到一個網站, 很清楚地講172.1的那個Entry是怎麼做的
說明esp, ebp還有local variable / function parameter / return address的相對位置
以後應該比較看得懂啦XD
推薦給大家, 有同樣問題的朋友可以看下面這網址, 再來看這篇, 會比較看得懂在做啥
[url=redirect/x89eQ]http://en.wikibooks.org/wiki/X86 ... ns_and_Stack_Frames
|
|