![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| lollollollol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Есть идея запускать приложение прямо в памяти. Т.е. получаю array of byte(массив - ехе файл), который нужно выполнить без сохранения на диск.
Находил такие темы: http://www.delphisources.ru/forum/showthread.php?t=13425 http://www.programmersforum.ru/newthread.p...wthread&f=4 http://hpc.name/thread/31283/p1.html Но это всё не то. В идеале запустить ехе файл как отдельный поток на исполнение, или может быть заменить в памяти мой процесс нужным, помогиТЕ хотябы с теорией, ну или чуть-чуть практики, если не сложно:) Это сообщение отредактировал(а) lollollollol - 12.5.2013, 21:26 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
-------------------- There are always someone smarter than you... |
|||
|
||||
| lollollollol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Это была опечатка/недопечатка
|
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 10 Всего: 133 |
А каким образом получаешь? С диска считываешь?
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| lollollollol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Со своего сервера скачиваю шифрованый файл. Расшифровываю xor алгоритмом. Своего рода защита от реверса
А если вместо exe сделать dll, не проще ли будет? Это сообщение отредактировал(а) lollollollol - 13.5.2013, 06:25 |
|||
|
||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Все это изврат.
Запускаешь любой процесс в приостановленном режиме, и далее путем препарирования гланд через задний проход, меняешь его потроха на свои.
Добавлено @ 09:22 На XP работает, на 7 не проверял, но думаю тоже будет, если есть доступ на чтение/запись к создаваемому процессу. 100% работоспособности для всех процессов не гарантирую. теже яйца, только в профиль. Для твоего случая лучше закодировать(или затереть) часть (секцию кода, например) твоего exe и при запуске (с флагом CREATE_SUSPENDED) восстанавливать через Read/WriteProcessMemory Это сообщение отредактировал(а) Чучмек - 13.5.2013, 09:52 -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| lollollollol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Хорошая идея, спасибо! Вечерком попробую |
|||
|
||||
| lollollollol |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 287 Регистрация: 12.3.2013 Репутация: нет Всего: нет |
Чучмек, любые варианты вылетают с ошибкой (винда 7) сразу после запуска ( ResumeThread)
Раз уж речь зашла об извратах, может есть смысл чтобы не замарачиваться сделать так: То что есть в памяти шифрануть xor ом, сохранить на диск, запустить в остановленном состоянии, в памяти обратно xor ом, и потом уже ResumeThread? Есть вопрос, начиная с кого момента можно шифровать, чтобы ехе файл вообще запустился как исполняемый? |
|||
|
||||
| northener |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
Можно дать совет? Не страдай ерундой. От реверса (если имеется в виду reverse engeneering) это не спасёт. Обратной разработке глубоко начхать на шифрованный файл. Она работает непосредственно с памятью работающей программы. Так что как только ты расшифровал какой-то код и запустил его на выполнение, так сразу ты всё что нужно дал в полное распоряжение всем, кому интересен твой код. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
||||
|
|||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
У меня на 7 работает через-раз. В 90% неудачных запусков обламывается на VirtualAllocEx и в 10% на ZwUnmapViewOfSection.
Будет время, посмотрю как распределяется память. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
а если там занято? -------------------- Обижено школьников: 8 |
||||
|
|||||
| Чучмек |
|
|||
|
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 7 Всего: 41 |
Во-во, там занято. Семерка каждый раз загружает по разным адресам. -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
и под хр не исключено что будет занято
тут нужно делать все что делает загрузчик, тогда при наличии релоков в образе можно будет грузить по любому адресу -------------------- Обижено школьников: 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. |