Как выполнить Shellcode функциями API

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Сергей Юдин
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 08.06.2003 (Вс) 11:06
Откуда: Волгоград

Как выполнить Shellcode функциями API

Сообщение Сергей Юдин » 14.06.2003 (Сб) 14:44

Имеется exe файл размещенный в памяти как String или массив.
Как его запустить на выполнение.
Запись файла на диск и запуск с помощью Shell или ShellExecute не возможны по условиям безопасности.
Нечто подобное делает Asprotect после дешифровки файла.

lenar
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.08.2003 (Сб) 14:34

Сообщение lenar » 25.08.2003 (Пн) 22:41

Забить тело экзешки в байтовый массив и функцией API указать на какой-то байт массива наверно.

Это лишь предположение.
The best from the VB

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 26.08.2003 (Вт) 9:46

Э... Масив и стек - это данные (сегмент данных и сегмент стека), а тебе нежен сегмент кода :!:

Можно так:
У каждого процесса есть таблица сегментов (локальная), ты там можешь (при определенных условиях) создать новый сегмент или два (вернее не сегмент, а дескриптор сегмента). Делаешь два дескриптора, которые указывают на одно и тоже место, один дескриптор описывает сегмент как сегмент данных, а значит ты можешь в него писать. Другой сегмент описывает сегмент как сегмент кода - а значит ты можешь сделать туда переход.

НО:
1.Ты не можешь создать сегменты где попало - память должна принадлежать тебе. (Иначе будет эксепшон).
2.Сегмент принадлежит твоему приложению, а значит права у него твоего приложения.
3.в упор не пойму, зачем все это и на VB?
Origin - это что?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.08.2003 (Ср) 3:27

Люди, обсуждали это уже и решение нашли. Ищите на форуме.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 27.08.2003 (Ср) 8:17

GSerg писал(а):Люди, обсуждали это уже и решение нашли.
Ищите на форуме.

чем :shock: :?:
Origin - это что?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.08.2003 (Ср) 8:55

Ручками листая топики. Я так делаю. :neutral:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 27.08.2003 (Ср) 8:57

Ибо другого способа нет=)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList