Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Ручной Joiner, запуск программы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Ручной Joiner, запуск программы
Имя
Сообщение << Старые топики   Новые топики >>
Ручной Joiner, запуск программы - 2007-09-07 03:38:47.633333   
WizardSD

Сообщений: 6
Оценки: 0
Присоединился: 2005-05-27 14:40:41
Своим джойнером собрал пару файлов в один. Пусть это будут My.exe + Prog.exe. Соединено именно так, потому что мне НЕ надо, чтобы My.exe загружало все из таблицы импорта Prog.exe. Как запустить Prog.exe зная только смещение его в My.exe?
P.S. Открытый HANDLE на My.exe у мя есть. Создавать на диске файлы нельзя (архинежелательно, ибо палево дичайшее).
Post #: 1
RE: Ручной Joiner, запуск программы - 2007-09-07 16:56:48.886666   
Inspektor

Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
Этот вопрос не так давно поднимался на Hackzon'е. Но т.к. сайт не доступен перескажу, какие там предлагались варианты:
1)Самый простой, не создавать процесс, а создать лишь поток. Я не понимаю почему этот способ может не подойти.
2)Записать данные процесса в dll и запускаем любой exe'шник(cmd.exe например), а затем создаём в процессе новый поток с нашей dll, а остальные потоки завершаем(или находим любой уже запущенный процесс и вклиниваемся в него).
3)И третий, самый сложный(предложен был не мной), суть в том, чтобы использовать адресное пространство запущенного в пункте 2 cmd.exe, путём перезаписи кода его основного потока(зато dll не нужна).
quote:

Создавать на диске файлы нельзя (архинежелательно, ибо палево дичайшее)

ну насмешил[sm=bm.gif]. А процесс создавать не палевно?? Создаём, запускаем, удаляем! Если человек ничего не смыслит в компе, то он никогда не догадается, что на диске был файл, а если смыслит, то тебе будет его очень трудно нае#ать(а если посмотреть на этот топ, то на данный момент просто нереально).
З.Ы.А вообще зачем тебе этой х##нёй маяться? Разрушать всегда проще чем созидать, сделай лучше что-нибудь полезное[sm=de.gif](хотя это и не так весело).
Post #: 2
RE: Ручной Joiner, запуск программы - 2007-09-07 17:37:36.513333   
WizardSD

Сообщений: 6
Оценки: 0
Присоединился: 2005-05-27 14:40:41
Ничего страшного и не делаю ) My.exe просто пороверяет каких статически подключаемых библиотек не хватает для запуска Prog.exe и вызывает соответствующий раздел справки ) Может кто-нибудь ковырял загрузчик EXE под windows и знает, как вызвать его по уже загруженному/отображенному (или еше как-нибудь открытому) в память куску. А про палево, да просто когда Prog.exe упадет, то чтобы это выглядело как упавшее My.exe. Кстати, идея хорошая сделать Prog.dll (ибо эту прогу тоже сам делаю). Уж законнее некуда )
Post #: 3
RE: Ручной Joiner, запуск программы - 2007-09-08 00:43:01.300000   
Inspektor

Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
Тебе должна помочь функция SetThreadContext, я её не использовал, но пишут, что она может изменять значения любых регистров(eip не исключение). "Прыгай" куда хочешь:D.

Post #: 4
RE: Ручной Joiner, запуск программы - 2007-09-08 14:17:25.150000   
WizardSD

Сообщений: 6
Оценки: 0
Присоединился: 2005-05-27 14:40:41
И куда тогда прыгать? На EP? А кто статические библиотеки распихает по памяти? Можно конечно руками попробовать… но думаю багов не оберешься. Кто-нибудь уже такое вытворял? Работает?
Post #: 5
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Ручной Joiner, запуск программы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.