[問題] ShellCode中, String後面帶Null的問題

作者: mikemagic88 (Mikemagic88)   2019-05-03 22:01:52
開發平台(Platform): (Ex: Win10, Linux, ...)
ubantu 16.04
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc吧
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
1. 格式是參考手邊一個8號sys_creat的(程式碼和sys_call需要的參數一樣)
2. 有參考StackOverFlow的mkdir組合語言( https://reurl.cc/0Qgek )
3. 問題在於String後面好像要帶null, 所以我不知道要不要把
db "123", 00 <- 後面這個, 00刪除直接改用手動填入00的方式
4. 手動填入00又不能讓op code跑出00 只能用xor ecx, ecx的方式
所以最大問題應該是...pop出來的值要怎麼在最後面填00?
5. 我參考的資料的內容是寫 db 'abc.txt' 是單引號但有副檔名
不知道為什麼不能單純單引號abc就好呢?
餵入的資料(Input):
預期的正確結果(Expected Output):
應該要開一個資料夾出來
錯誤結果(Wrong Output):
Segmentation fault
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://pastebin.com/Eavbf3SX
補充說明(Supplement):
作者: tjjh89017 (伊達政宗)   2019-05-04 14:03:00
用bit反轉方式存進去,執行的時候用反轉回來再用名稱跑掉可能因為蓋錯地方,去確認下little endian

Links booklink

Contact Us: admin [ a t ] ucptt.com