→ azureblaze:undefined behavior 06/17 23:50
→ Nathan8489:???????? 06/17 23:52
→ azureblaze:開組語看a放什麼地方撈出來,然後祈禱compiler不要亂搞 06/17 23:53
→ azureblaze:還有祈禱complier不要直接把a丟掉 06/17 23:55
→ chuckAI:我似乎是遇到azu大說的問題 有讀到a的位置 但compiler後會 06/17 23:59
→ chuckAI:會跑掉 06/17 23:59
→ azureblaze:有什麼特別的理由需要這樣做嗎? 06/18 00:05
→ chuckAI:因為有大量的函式需要紀錄下裡面那些參數 但每個函式參數 06/18 00:24
→ chuckAI:名子卻又都不一樣 改起來工程浩大 06/18 00:25
推 purpose:用 regular expression 抓就好了 06/18 00:45
推 AstralBrain:這種事交給gdb吧 06/18 01:10
推 elfkiller:是要自己寫debugger? 06/18 02:23
推 Killercat:這看起來會因為call convention不同而必須有不同做法 06/18 03:06
→ Killercat:不過我覺得頗難 一來是function本身拿不到自己的pointer 06/18 03:09
→ Killercat:所以沒辦法hack自家的stack,二來則是我想就算拿的到 06/18 03:10
→ Killercat:應該也只有stdcall做的到你說的事情 06/18 03:10
→ Killercat:cdecl的話因為stack在caller那裡管 callee(以本例來講 06/18 03:11
→ Killercat:就是function自己)是沒辦法直接從記憶體hack到參數位置 06/18 03:11
推 Killercat:hum...stdarg搞不好可以在cdecl下做到 06/18 03:34
→ Killercat:gcc.gnu.org/onlinedocs/gcc/Return-Address.html 06/18 03:46
→ Killercat:__builtin_frame_address 這樣也許能抓 06/18 03:47
→ Killercat:ok 上面是正確解答 我回一篇給你 06/18 04:16
→ Killercat:的,看起來這不是通解.... 傷腦筋 06/18 04:26
推 h520:calling 兩個(動)名詞放一起 前面那個會隱式轉型當adj來用 06/18 17:02
推 LPH66:隱式轉型 XDDD 06/18 18:19
推 lc85301:幹嘛跟自己過不去XDD 06/19 10:43
推 michael0728n:看完討論怎麼感覺一個一個手動改變數工程可能小些XD 06/19 18:16