информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
поясняю 19.04.03 11:03  Число просмотров: 1069
Автор: 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";  

---
<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