Re: [問題] Intel的指令機械碼

看板ASM (組合語言)作者時間17年前 (2007/03/08 01:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
※ 引述《zha0 (zha0)》之銘言: : 如果今天要產生 INC EAX 他可以用亂數去跑那些垃圾指令, : 可以用隨機的方法產生 >_< : (設定 REG = 多少, 丟給 SEH 去跑,跑到條件成立就跳出來, : 然後把那個產生的結果 Copy 過去 . : (在跑的次數(1000 or 1000xxx...)中如果都沒成功,那就用自己的方式讓他成功 XD) 老實說, 這個方法我以前使用過了. :p 產生亂指令, 紀錄 register 屬性 (可否任意破壞, 值是否確定... 等) 然後將產生的指令跑過一遍, 紀錄結果是否是自己想要的... 不一樣的是我沒有用 int 1 (or SEH), 而且只使用在設 register 初值時. 這方法終究有些限制, 例如無法精確掌握暫存器的值, 所以也不可能拿暫存器的值當成存取記憶體的 index, 除非你是分段來做... 但是你還必須掌握記憶體的屬性, 哪些地方是可寫的? 可讀的? 或者值是確定的? : 不過在想一點,那就是如果今天是多型或亂体,其實一看就知道他是有問題的。 : 再想之後可能會把多型作的很像正常的程式 >___< 沒錯, 其實長得像正常程式, 又要維持多變的形體, 比隨便產生垃圾指令困難多了. 最厲害的就是可以做到完全沒有多餘指令, 確又能有很多變化. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.100.133
文章代碼(AID): #15xlEOwL (ASM)
討論串 (同標題文章)
文章代碼(AID): #15xlEOwL (ASM)