实现将字符串转换为指令执行
生活随笔
收集整理的這篇文章主要介紹了
实现将字符串转换为指令执行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
了解匯編和對應的寄存器之后,我們完全的可以將存儲字符串的地址塊的首的地址交付給EBP (指令堆棧指針寄存器)當作指令執行。
所以我們的實現基于匯編,在c 代碼中嵌入匯編即可:
那一段字符串必須是二進制的機器碼,就像下面demo的字符串 hack那樣的。然后在fvck函數執行完后,會跳到字符串hack內,把字符串hack當作匯編指令繼續執行hack內把EAX賦值為0xdeadbeef,改變了fvck函數的返回值,最后ret 返回到主函數中。有vc6.0之類的可以運行看一下,gcc也是可以的,不過要把里面的_asm換了。
這種的實現類似 虛擬機中的JIT. 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的实现将字符串转换为指令执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone如何快速传输照片到电脑上?
- 下一篇: 为什么必须下载iTunes?