![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
![]()
Пожалуйста, помогите разобраться.
Есть такой код: var rw : cardinal; ThreadHand: THandle; ProcId, hProcess, UBytes, USize: DWord; threadaddr1, ParamAddr, UBuf: Pointer; Код:
Теперь мне нужно вставить jmp, на этот код в память приложения. Я делаю это следующим образом: Код:
![]() 1. почему помимо jmp`а в память приложения вписываются: PUSH EBP MOV EBP,ESP ? 2. и почему при любом значении threadaddr1, jamp происходит на значение ячейки по адресу $D1456C04 ? |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Вообще ты зря вписываешь часть своего кода - не извесно что еще докомпилирует Делфи к нему. Лучше переведи АСМ в его бинарное представление, которое вгони в строку, и уже ее вписывай.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 18.08.2010
Сообщений: 59
|
![]() Цитата:
В принципе у меня только здесь возникают проблемы, не знаю, как правильно вписать в память приложения jmp на внедрённый код. Пожалуйста, подскажите, если есть какие-нибудь решения или идеи по этому поводу. Обратил внимание, что: если убрать эти две переменные, и оставить к примеру только MOV EAX,EAX, то всё равно перед моим кодом вписываются эти две операции. Я не очень хорошо в этом разбираюсь, возможно это какая-то необходимость( хотя, я сомневаюсь). вообще, Delphi дописывает много чего странного, и абсолютно мне ненужного, после моего кода. |
|
![]() |
![]() |
![]() |
#5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Код:
Не в курсе хороший пример или нет, я бы не пробовал, но если тебе интересно поковыряться - попробуй. Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
Лучше запиши в память процесса название dll'ки, сделай CreateRemoteThread с адресом LoadLibrary (он должен быть одинаковый во всех процессах), а в dll'ке - всё, что нужно, можно и на Delphi.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инъекция своего кода в чужое приложение. | Denutrror | Общие вопросы Delphi | 2 | 05.11.2012 15:03 |
Пересоздание кода | Alex Cones | Свободное общение | 13 | 24.01.2011 11:02 |
Распознавание Аски кода и скан кода | MyLastHit | Общие вопросы Delphi | 8 | 06.12.2010 18:34 |
SQL-инъекция | Dimarik | PHP | 12 | 21.07.2010 18:49 |
Выдернуть куски кода из html-кода | trafbite | Помощь студентам | 7 | 18.08.2007 13:51 |