информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - 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
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach