0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
|
|
1 | |
Run exe from memory (x64)28.02.2014, 14:59. Показов 6456. Ответов 13
Метки нет (Все метки)
Есть необходимость запускать exe из памяти, а не с диска.
Может кто сталкивался с данным проектом? Сам находил много проектов, но они были Win32 и не работали под сборкой x64. А мне нужен именно x64, так как это проект будет использоваться в связки с другими 64-битными проектами.
0
|
28.02.2014, 14:59 | |
Ответы с готовыми решениями:
13
Run-time error '7': Out of memory Run time error 7. Out of memory Как побороть ошибку Run-time error 7: Out of memory ? Run-time error '9' на Windows x64 |
18 / 18 / 2
Регистрация: 21.09.2012
Сообщений: 78
|
|
28.02.2014, 17:01 | 2 |
Вот тут об этом вроде бы хорошо написано (англ)
http://msdn.microsoft.com/en-u... 00794.aspx
0
|
03.03.2014, 08:01 | 3 |
разбираться с этим https://sites.google.com/site/... 4bytestest
или переписать приложение под dll (при вызове dllmain она сама загрузиться в память).
1
|
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
|
|
03.03.2014, 13:51 [ТС] | 4 |
Это не совсем то, что я имел ввиду. На сколько я понял, там описано, как собрать проект под 64 бита, но те проекты, которые я находил не совместимы с х64, в частности из-за ассемблерных вставок.
Добавлено через 6 минут Натыкался на этот проект, но он же на delphi, насколько я понял, перевести его в с++ не получится. Или я что-то не понимаю? Что касается переписывания приложения под dll. Я находил 2 проекта, которые реализуют загрузку dll из памяти и собираются под х64, но я не уверен, что их получится переписать. Проблема в том, что при загрузке dll из памяти необходимо загрузить их в уже имеющийся процесс, а в случае с exe - процесс необходимо создать. А в тех проектах, где была реализована загрузка exe из памяти под Win32, именно с этой частью возникали проблемы при попытки собрать проект под x64.
0
|
03.03.2014, 18:57 | 5 |
что есть такого в delphi чего нет в c++? Перевести можно спокойно. Другое дело переводить с delphi на, например, c# или java.
не вижу никаких проблем. Вы пишите, что ваш проект будет использоваться в связке с другим проектом, инжектите вашу dll в этот другой проект и всё.
1
|
Ушел с форума
|
|
03.03.2014, 19:11 | 6 |
Сталкивался. Но то было давно, в эпоху Win2K/WinXP.
На современных Виндах запуск exe - очень сложный и многоэтапный процесс, полноценно сэмулировать его вряд ли получится. Проще скинуть exe на диск, а затем оттуда уже запускать.
0
|
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
|
|
03.03.2014, 19:31 [ТС] | 7 |
Нет, инжектировать dll в другой проект нельзя, так как это должно быть именно приложение, сейчас объясню поподробнее. Мне необходимо реализовать криптование exe, для этого, я беру исходной приложение и оборачиваю его специальным образом и на выходе получаю новое приложение. Это приложение запускается с диска, декриптует исходное приложения, которое зашито внутри нового приложения, делая при этом необходимые проверки и запускает исходное приложение из памяти. При этом исходное приложение может быть любым, но это должно быть именно приложение.
Добавлено через 2 минуты Нет, совсем не проще, как было описано ранее, цель проекта - реализовать криптование приложения. Какой смысл писать приложение на диск после его проверки и декриптования, чтобы любой мог его взять и использовать?
0
|
Ушел с форума
|
|
03.03.2014, 19:41 | 8 |
Возьмите какой-нибудь хороший протектор типа VmProtect и будет криптование.
А делать все это вручную, не имея нужного опыта - гиблое дело. Кстати, запуск процесса из памяти все равно не спасет от снятия дампа, так что криптование как защита - идея не самая лучшая.
0
|
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
|
|
03.03.2014, 19:54 [ТС] | 9 |
Нет это не вариант. Большая часть приложения реализована, не хватает только этого проекта. Что касается VmProtect, то это не подходит из-за нашего типа защиты. Мы используем HASP и проверки при декриптование связанные с ним необходимы.
0
|
Ушел с форума
|
|
03.03.2014, 20:54 | 10 |
Приведу две цитаты со StackOverflow:
1.
0
|
18 / 18 / 2
Регистрация: 21.09.2012
Сообщений: 78
|
|
04.03.2014, 00:24 | 11 |
Извините, не совсем понял вашу проблему(
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
04.03.2014, 14:17 | 12 |
А ты не боишься, что программой твоей невозможно будет пользоваться из-за этого? Я проверил пару способов для win32 и все они помечаются как подозрительные большинством современных антивирусов. Это значит что пользователь, скачав один раз такую программу и увидев реакцию антивируса, скорее всего больше никогда не будет ее ставить.
0
|
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 3
|
|
04.03.2014, 23:10 | 13 |
А по существу вопроса - можно попробовать запускать раскриптованный EXE как DLL - по сути они не слишком отличаются, загрузил, настроил адреса, импорт/экспорт, прыгнул на точку входа, как-то так Добавлено через 3 минуты Добавлено через 3 минуты
0
|
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
|
|
11.03.2014, 12:16 [ТС] | 14 |
Нет, у меня такой проблемы не возникало. У меня есть рабочая версия приложения Win32.
Добавлено через 2 минуты Нет, защиту нужно подцеплять не к стороннему приложению, но она должна работать с любым приложением. Это связанно с тем, что мы рабочих приложений может быть несколько.
0
|
11.03.2014, 12:16 | |
11.03.2014, 12:16 | |
Помогаю со студенческими работами здесь
14
X64 GetThreadContext Error 998: Invalid Access Memory Location exe,ocx,dll,run-time в одном файле ? Aspnet_wp.exe (PID: 528) was recycled because memory consumption exceeded the 613 MB (60 percent of available RAM). Win7-x64 - Не запускаются exe. Ошибка при запуске EXE: <Run-time error '13': Type mismatch> Ошибка Faild to run IDL2CPP.exe. Не удается найти указанный файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |