shellcode轉換成彙編程式碼
方法2:提取ShellCode中的機器碼---->用OllyDBG隨便開啟一個exe程式---->把機器碼直接二進位制貼上到OllyDBG---->得到反彙編碼。
方法1:
1.我先寫了個簡單的Perl指令碼,把裡面的機器碼提取出來,當然用其它語言或者手動提取也可以,比較快速的方法是先把ShellCode儲存到記事本里,去掉前後的引號和多餘程式碼,然後用查詢替換把“\x”替換成空,再刪除換行就可以了。
一次性提取程式碼如下(pick.pl):
# -w
while (<>)
{
while(/(x)(\w{2})/)
{
$code .=$2;
s/$1$2//;
}
}
open(HEX,">HEX.TXT") or die("error:$!");
print HEX $code;
在命令列執行
perl pick.pl ShellCode.cpp
就會把ShellCode裡面的機器碼提取到HEX.TXT文字檔案中。
2.開啟HEX.TXT,可以算出我這的機器碼有222位元組。然後複製所有機器碼。
開啟WinHEX,點新建,檔案大小這裡填150位元組,只要大於機器碼位元組數的一半就行了。
然後點貼上,選擇剪貼簿格式那選擇“ASCII Hex”,確定就可以把機器碼貼上到WinHEX。
再把它儲存成EXE檔案,比如ShellCode.exe。
3.用C32Asm開啟剛才儲存的exe檔案,點右鍵-->到對應彙編模式編輯,就可以看到彙編程式碼了。
現在機器碼已經變成了彙編程式碼,就很容易看懂了。
我們可以在C32Asm裡面對ShellCode進行修改,修改完只要記住變化了的機器碼,然後在ShellCode.cpp裡面改對應的機器碼就行了。
方法2:
其實完全可以複製上面提取到的機器碼,然後用OllyDBG隨便開啟一個exe程式,選擇一塊區域,直接右鍵-二進位制-二進位制貼上,就可以看到ShellCode的反彙編程式碼了。而且這樣更加簡單。
我現在一般都是先用記事本替換提取機器碼然後直接貼上到OllyDBG裡面檢視的。
如下圖:紅色部分就是貼上進去的機器碼的反彙編程式碼。
方法2:
其實完全可以複製上面提取到的機器碼,然後用OllyDBG隨便開啟一個exe程式,選擇一塊區域,直接右鍵-二進位制-二進位制貼上,就可以看到ShellCode的反彙編程式碼了。而且這樣更加簡單。
相關文章
- 雜雜雜,彙編,shellcode,
- 彙編程式碼Helloworld
- 編碼轉換
- 將 SQL轉換成 Laravel Query Builder 程式碼SQLLaravelUI
- 字元編碼轉換字元
- URL編碼轉換
- Python編寫shellcode注入程式Python
- c語言if語句是如何變成彙編程式碼的?C語言
- shellcode編寫
- CatFly【彙編程式碼還原】
- 位元組編碼轉換
- java字元編碼轉換Java字元
- Oracle blob型別資料轉換成 base64編碼Oracle型別
- 文字編碼轉換工具iconv 附批量轉換檔案編碼命令
- js將字串轉換為編碼序列程式碼例項JS字串
- 用Javascript實現UTF8編碼轉換成gb2312編碼JavaScript
- javascript字元編碼轉換方法JavaScript字元
- Linux批量編碼轉換Linux
- iconv字元編碼轉換字元
- java編碼之間轉換Java
- ARM彙編解決階乘以及大小寫轉換
- 初學 Delphi 嵌入彙編[26] - 大小寫字母轉換
- 基於Matlab Coder將matlab程式碼轉換成c程式碼MatlabC程式
- php 的字元編碼轉換工具 (轉)PHP字元
- GCC內聯彙編(2)GCC生成彙編程式碼簡單例項GC單例
- 檢測檔案編碼,轉換檔案編碼
- php 漢字轉換成拼音 程式PHP
- BOOT0的主要程式碼兼Unix下彙編小節(轉)boot
- iOS彙編入門教程(二)在Xcode工程中嵌入彙編程式碼iOSXCode
- 彙編debug程式跳轉指令的方法
- C# 基礎知識:字元編碼、編碼轉換C#字元
- 彙編跳轉指令
- 編碼轉換統一防止亂碼
- 使用C編譯器編寫shellcode編譯
- Java程式碼如何檢視位元組碼及彙編碼Java
- 轉換Linux 檔案編碼方式Linux
- Python 字元編碼轉換祕訣Python字元
- python base64 編解碼,轉換成Opencv,PIL.Image圖片格式PythonOpenCV