Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Выполнить программу из массива байт Добавлено: 07.11.06 16:02  

Автор вопроса:  gvozd | Web-сайт: www.gvozdsoft.com
Здравствуйте, уважаемые форумчане!
Понадобилось реализовать такую вещь:
Открываем незапускающийся exe обычным образом for binary -> считываем в массив байт -> преобразовываем соответствующим образом (exe становится запускающимся) -> выполняем прямо из массива байт.
В общем-то проблема заключается в последнем пункте. Вы скажете: "А почему бы не сохранить массив байт в файл?", и будете правы, но, к моему глубочайшему сожалению, такой вариант в моем случае не имеет место быть, потому что хитроумный пользователь файлик-то может и перехватить.

Поиск в Google дал результат не по теме, хотя, может быть, я просто не умею искать.

Что может подсказать мне наше уважаемое сообщество (просьба подтолкнуть в нужном направлении)?

Ответить

  Ответы Всего ответов: 21  

Номер ответа: 1
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #1
Добавлено: 07.11.06 16:54
В общем-то проблема заключается в последнем пункте. Вы скажете: "А почему бы не сохранить массив байт в файл?", и будете правы, но, к моему глубочайшему сожалению, такой вариант в моем случае не имеет место быть, потому что хитроумный пользователь файлик-то может и перехватить
1)Если из нерабочего приложения таким образом нужно сделать рабочее, то так или иначе его придется сохранить. Почему бы это не сделать в тот exe, из которого мы все это брали?
2)Перехватаить? Каким образом? По-моему в его интересах будет этого не делать. Хм, в крайнем случае сделать резервную копию, спрятать, запретить доступ... много способов

Ответить

Номер ответа: 2
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #2
Добавлено: 07.11.06 17:18
1). Нельзя, так как приложение должно быть таким всегда, и оно расположено на CD.
2). Может FileMon'ом перехватить файл, куда было сохранено приложение и скопировать его.

Ответить

Номер ответа: 3
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #3 Добавлено: 07.11.06 17:18
2)Перехватаить? Каким образом?
хотя б сделать дамп памяти (или как там делают, чтоб распаковать прогу?)

спрятать,
эт куды? в c:\documents and settings\user\!!!secret folder\ что ли? :)

Ответить

Номер ответа: 4
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #4
Добавлено: 07.11.06 17:54
спрятать мона хотя бы даже в корзину
или в специально сформированную zip-папку
большинство даже хитроумных пользователей не юзают тотал.

скорее всего запустить экзешник без экзешника невозможно. но я плохо знаю винду, чтобы утверждать это наверняка.
если экзешник твой, то перепиши его в библиотеку и тогда точно проблем не будет
кроме того можно по рихтеру: сохранить незапускающийся экзешник, запустить его с suspend'ом, подправить байты и продолжить выполнение.

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 07.11.06 18:10
скорее всего запустить экзешник без экзешника невозможно. но я плохо знаю винду, чтобы утверждать это наверняка

А как например работают упаковщики типа UPX, ASProtect, ExeCryptor?

Можно, надо только знать как :)

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 07.11.06 18:24
http://www.wasm.ru/article.php?article=memfile

Ответить

Номер ответа: 7
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #7
Добавлено: 07.11.06 18:38
А как например работают упаковщики типа UPX, ASProtect, ExeCryptor?

я так понимаю, что они запускаются, распаковывают свой хвост и передают управление на него. т.е. нового процесса не создаётся.

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 07.11.06 19:01
Заблокируй все потенциально-опасные процессы компа на время копирования.
Когда програма скопируется, также программно измени дату её появления в ... папке

Работа мастера :))))

Ответить

Номер ответа: 9
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #9
Добавлено: 07.11.06 19:06
А ну можешь ещё сохранить под другим расширением, а потом программно его изменить, ...
На этом моя фантазия заканчивается

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 07.11.06 20:48
угугагааа... коммент в статье что Шарп ссылку дал читали? :) Sne там отжжог походу :)))

Ответить

Номер ответа: 11
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #11 Добавлено: 07.11.06 23:08
коммент в статье что Шарп ссылку дал читали? :) Sne там отжжог походу :)))
жестко послали...

Ответить

Номер ответа: 12
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #12
Добавлено: 07.11.06 23:57
коммент в статье что Шарп ссылку дал читали? :) Sne там отжжог походу :)))
Нашли кого послать :)

Ответить

Номер ответа: 13
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #13
Добавлено: 08.11.06 00:23
Суть сводится к одному - на васике такое крайне сложно (если вообще) реализуемо. Но для данной задачи есть много решений, без таких извращений.

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 08.11.06 00:26
Да проще скомпилить по готвым исходником dll с экспортируемой функцией, которая будет принимать этот самый массив байт :) И заюзать это в вб

Ответить

Номер ответа: 15
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #15
Добавлено: 08.11.06 09:13
Да, Sharp дал самый дельный совет. Всякие извраты с сохранением на винт использовать нельзя, так как у юзера может не хватить места на винте. А еще такой вопрос, вышеописанным способом можно запустить программу, размер которой больше установленной памяти?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам