Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
 |  |  |
компилишь, а потом objdump или команда x в gdb 20.04.03 07:42 Число просмотров: 1327
Автор: makeworld Статус: Member Отредактировано 20.04.03 07:47 Количество правок: 1
|
|
|
|
<beginners>
|
Как перевести shellcode в ascii? 18.04.03 16:51
Автор: choor Статус: Elderman
|
|
|
 |
Ты имеешь ввиду OEM кодировку символов? 18.04.03 21:13
Автор: Den <Денис Т.> Статус: The Elderman
|
|
|
 |  |
поясняю 19.04.03 11:03
Автор: choor Статус: Elderman
|
Как из этого:
.globl _start
_start:
moveq #11,%d0
pea 0x2f2f7368
pea 0x2f62696e
movel %sp,%d1
eorl %d2,%d2
movel %d2,%sp@-
pea 0x130
movel %sp,%d2
movel %d2,%d3
trap #0
---
получили вот это:
char execve_shellcode[]=
"\x70\x0b"
"\x48\x79\x2f\x2f\x73\x68"
"\x48\x79\x2f\x62\x69\x6e"
"\x22\x0f"
"\xb5\x82"
"\x2f\x02"
"\x48\x78\x01\x30"
"\x24\x0f"
"\x26\x02"
"\x4e\x40";
---
|
 |  |  |
компилишь, а потом objdump или команда x в gdb 20.04.03 07:42
Автор: makeworld Статус: Member Отредактировано 20.04.03 07:47 Количество правок: 1
|
|
|
 |  |  |
Скомпилили и перегнали в хексы 19.04.03 17:44
Автор: amirul <Serge> Статус: The Elderman
|
|
Компилится как обычно. А потом куча тулзов есть чтоб ковыряться, сохранять понравившиеся куски. Например hiew
|
 |  |  |  |
компилить с помощью gcc или асмовского компилера? 20.04.03 11:02
Автор: choor Статус: Elderman Отредактировано 20.04.03 11:30 Количество правок: 1
|
|
|
 |  |  |  |  |
компилить с помощью gcc или асмовского компилера? 22.04.03 06:36
Автор: makeworld Статус: Member
|
|
Если сурец на асме и синтаксис AT&T используй as (тот исходник, который выше, написан в синтаксисе AT&T), если синтаксис как для masm'a или tasm'a (не помню его название) для ассемблирования используй nasm. А если кусок кода вставлент в сишный сурец (__asm__()) тогда естественно gcc -))
|
 |  |  |  |  |  |
Это понятно, НО! 22.04.03 11:39
Автор: choor Статус: Elderman
|
|
Когда я с помощью objdump его смотрю, он всё равно выдаёт асмовский год, а не ascii
|
 |  |  |  |  |  |  |
Я могу ошибаться - проверить щас негде 22.04.03 15:27
Автор: amirul <Serge> Статус: The Elderman
|
> Когда я с помощью objdump его смотрю, он всё равно выдаёт > асмовский год, а не ascii Но по-мойму objdump -s
или по гнусному objdump --full-contents
должен выдавать содержимое в хексах. Ну или найди любыми утилсами смещение начала и длину этого куска в файле и выкуси его через dd например.
|
 |  |  |  |  |  |  |  |
лучше objdump -d 23.04.03 07:55
Автор: makeworld Статус: Member Отредактировано 23.04.03 08:11 Количество правок: 3
|
objdump -d a.out
получишь пимерно такой вывод (кусок):
80494fc: 89 d8 mov %ebx,%eax
80494fe: 40 inc %eax
^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
смещение опкод команда ---
Тебе нужен естественно опкод, т.е. для вышеприведенного куска кода то, что тебе нужно будет выглядеть так:
char shellcode[]="\x89\xd8\x40";
или для лучше читабельности можно так:
char shellcode[]=
"\x89\xd8\"
"\x40";
\x означает, что используем 16-ричную сист. счсисления.
|
 |  |  |  |  |  |  |  |  |
big 10x :) 23.04.03 15:30
Автор: choor Статус: Elderman
|
|
|
|
|