![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
Проблема только для XP, делается:
CreateProcess с флагом CREATE_SUSPENDED CreateRemoteThread WaitForSingleObject (созданный поток) ResumeThread (оригинальный поток приложения). Чтобы избежать проблем, всё "тёмное" дело делается не в DLL_PROCESS_ATTACH, а при вызове отдельной функции LoadHook, которая экспортируется из dll. Внедряемый код делает: 1) LoadLibraryW(DLL_PATH) 2) StartProc = GetProcAddress("LoadHook") 3) StartProc() 4) ExitThread(0) В результате имеем что программа завершает работу :( Читал форумы, люди на это наталкиваются: http://stackoverflow.com/questions/9695370...-primary-thread http://www.wasm.ru/forum/viewtopic.php?pid=308079 http://www.gamedeception.net/threads/17964...s-what-the-fuck http://bugtraq.ru/cgi-bin/forum.mcgi?type=...=6&m=143610 http://forum.sources.ru/index.php?showtopic=266627 тут тоже проблемы у людей Кто-то пишет что в XP странный загрузчик и если запускать с CREATE_SUSPENDED, то exe ещё недоинициализирован, что исправили в поздних виндах. Тестируется на SP3, более ранние версии неинтересны как устаревшие. Хотелось бы услышать Ваши идеи, заранее спасибо! P.S. Это не вирус ![]() -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
createprocess с флагом CREATE_SUSPENDED
выделение памяти в ап процесса - VirtualAllocEx /PAGE_EXECUTE_READWRITE по адресу точки входа записывается jmp на выделенную память. в выделенную память записывается загрузчик+имя dll+оригинальный код точки входа. ResumeThread Загрузчик загружает внедряемую dll, восстанавливает оригинальный код в точке входа, передает управление на точку входа Добавлено @ 23:12 D7
Выложил код - заметил ошибку. Вложение заменил. Это сообщение отредактировал(а) Чучмек - 25.12.2012, 02:15 Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
Упало :(
См. аттач. DLL пустая чтобы исключить возможные ошибки в коде, Project Manager на картинке не обновился ещё. Это сообщение отредактировал(а) Illusion Dolphin - 24.12.2012, 23:29 Присоединённый файл ( Кол-во скачиваний: 10 ) ![]() -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Да. Дествительно. На MediaPlayerClassic падает. Посмотрю в чем бок.
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
И ещё Windows Media Player, WinRar, Calc, freecell итд... Мне не удалось найти, что работает. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
Чучмек |
|
||||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Была одна программа, которая вылетала при попытке внедрения.
Сегодня, на скорую руку исправил. да вот не учел что delphi компилирует
как
Совсем не так как ожидалось. (ожидалось, что вообще, так не скомпилируется.) На радостях и "исправил". Сейчас исправил, вложение заменил. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
||||
|
|||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
Почему ожидалось, что так не скомпилируется? "Затолкать" в стек можно всё что угодно, включая "возраст бабушки водителя автобуса минус количество галош, имеющихся у этой бабушки умноженное на температуру окружаещего их воздуха в третью пятницу прошлого месяца! ![]() Ибо суть интрукции PUSH - поместить в стек ещё одно целое число. И не важно что оно такое. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Затолкать в стек значение регистра это одна инструкция. Затолкать в стек значение по адресу в регистре (+ смещение) это другая инструкция а вот затолкать в стек значение регистра + константа - Существование такой инструкции маловероятно. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
А почему бы и нет? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
Я это к тому, что в подобных случаях недостаточно "предполагать". Тут надо точно знать как какие инструкции компилятор встроенного ассемблера преобразует в машкод. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
Illusion Dolphin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 4 Всего: 63 |
Финальный код у меня работает! Это уже хорошо
![]() ![]() -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
в х64 нет абсолютного джампа
я юзал пару push-ret, если мне не изменяет склероз. и это больше пяти байт :( Это сообщение отредактировал(а) bems - 25.12.2012, 15:18 -------------------- Обижено школьников: 8 |
|||
|
||||
Чучмек |
|
||||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Illusion Dolphin, как обстоят дела с x64?
Это не совсем вставка, это внедряемый загрузчик. Его можно заменить массивом-константой, но тогда нельзя будет его редактировать. 32for32
64for64
-------------------- умную мысль держи при себе, а дурной - поделись с другими |
||||
|
|||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
64 битную версию не проверял на файлах IMAGE_FILE_MACHINE_IA64. Все файлы IMAGE_FILE_MACHINE_AMD64 . Хотя в описании PE
Наверно описание древнее, а для IMAGE_FILE_MACHINE_IA64 нужен другой загрузчик. Еще встречал файлы с FileHeader.Machine=IMAGE_FILE_MACHINE_I386 и OptionalHeader.Magic=IMAGE_NT_OPTIONAL_HDR64_MAGIC Как с ними быть? Не знаю. В Win7 не для всех exe (для стандартных виндосовских файлов, например) доступны Read(Write)ProcessMemory. Как запросить повышение прав? -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
дельфи не компилит под ia64, так что тут как не крутись
-------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |