Ручной Joiner, запуск программы
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Ручной 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 у мя есть. Создавать на диске файлы нельзя (архинежелательно, ибо палево дичайшее).
|
|
|
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](хотя это и не так весело).
|
|
|
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 (ибо эту прогу тоже сам делаю). Уж законнее некуда )
|
|
|
RE: Ручной Joiner, запуск программы - 2007-09-08 00:43:01.300000
|
|
|
Inspektor
Сообщений: 143
Оценки: 0
Присоединился: 2007-08-31 11:37:20.710000
|
Тебе должна помочь функция SetThreadContext, я её не использовал, но пишут, что она может изменять значения любых регистров(eip не исключение). "Прыгай" куда хочешь:D.
|
|
|
RE: Ручной Joiner, запуск программы - 2007-09-08 14:17:25.150000
|
|
|
WizardSD
Сообщений: 6
Оценки: 0
Присоединился: 2005-05-27 14:40:41
|
И куда тогда прыгать? На EP? А кто статические библиотеки распихает по памяти? Можно конечно руками попробовать… но думаю багов не оберешься. Кто-нибудь уже такое вытворял? Работает?
|
|
|
|
|