前些天聽到團隊在問有沒有exe轉換成shellcode的工具,而後拿來作免殺,而後我就突發奇想的一個念頭。那既然找不到腳本爲啥不本身去開發一個呢!!!git
這個開發起來其實比較簡單,由於shellcode的本質其實就16進制的機器碼,在當時看到某個shellcode編程開發的視頻的時候。其實就是用反編譯exe 而後來提取機器碼再加上個\x 而後就完成了 ,那其實用腳原本實現也是同樣的,可是中途遇到不少的問題,好比用readlines()函數去讀取的時候出現了一些編碼的報錯,而後就去百度了一下,使用了read()的函數進行讀取 完美解決github
再而後就是直接所有進行hex編碼是不行的,好比10-14 這些數值直接編譯的話是爲0xe這樣格式的,而在shellcode裏面的格式是\x00 這樣的因此說這樣直接拿去執行確定會報錯,因此還須要作些處理,加個0。在shellcode當中\x00是屬於空字節,也就是0的16進制編碼,在shellcode運行的時候,這些空字節會影響shellcode的運行,因此我在這裏直接就對空字節作了處理。shell
把github地址貼上來給大佬們:編程
腳本比較簡單,而是突發奇想的一個念頭,在開發的過程當中遇到的一些問題大部分都一些編碼格式的問題,還得進行一系列的類型轉換,這是比較難受的一個事情。
工具