exe转换shellcode

前言

前些天听到团队在问有没有exe转换成shellcode的工具,然后拿来做免杀,然后我就突发奇想的一个念头。那既然找不到脚本为啥不自己去开发一个呢!!!

exe转换shellcode_第1张图片

脚本开发

这个开发起来其实比较简单,因为shellcode的本质其实就16进制的机器码,在当时看到某个shellcode编程开发的视频的时候。其实就是用反编译exe 然后来提取机器码再加上个\x 然后就完成了 ,那其实用脚本来实现也是一样的,但是中途遇到很多的问题,比如用readlines()函数去读取的时候出现了一些编码的报错,然后就去百度了一下,使用了read()的函数进行读取 完美解决

exe转换shellcode_第2张图片

再然后就是直接全部进行hex编码是不行的,比如10-14 这些数值直接编译的话是为0xe这样格式的,而在shellcode里面的格式是\x00 这样的所以说这样直接拿去执行肯定会报错,所以还需要做些处理,加个0。在shellcode当中\x00是属于空字节,也就是0的16进制编码,在shellcode运行的时候,这些空字节会影响shellcode的运行,所以我在这里直接就对空字节做了处理。

exe转换shellcode_第3张图片

把github地址贴上来给大佬们:

https://github.com/nice0e3/exe2shellcode

结尾

脚本比较简单,而是突发奇想的一个念头,在开发的过程中遇到的一些问题大部分都一些编码格式的问题,还得进行一系列的类型转换,这是比较难受的一个事情。
exe转换shellcode_第4张图片

你可能感兴趣的:(exe转换shellcode)