Правильно получить Shellcode из Object Dump - PullRequest
0 голосов
/ 17 сентября 2018

Я прочитал несколько уроков по основам шеллкодинга и у меня есть вопрос. Я написал небольшую функцию в 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.

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 окончательным шелл-кодом. Мой английский не очень хорош, и я не уверен, правильно ли я понял.

Спасибо

...