Имя: Пароль:
IT
 
Как "завернуть" исполняемый файл?
,
0 Kalambur
 
10.02.14
09:57
Есть задача запустить экзешник с параметром. с экзешником идет длл.
Хотел завернуть оба файла в один эзешник, распоковать во временные, запускать с параметром, потом удалить.

Может есть еще идеи или кто подскажет как запаковать файлы?
стоит Visual Studio 12/
1 Fish
 
10.02.14
09:58
архиватором запакуй.
2 Kalambur
 
10.02.14
10:06
(1) смысл в том, чтобы не показывать параметры запуска, все-таки достать их закомпиленного в .ехе виде будет сложнее, защита от любопытных неодоодминов. Понятно что ломается все, но так процент "ломальщиков" сокращается в разы.
3 Fish
 
10.02.14
10:17
(2) Может, тогда посмотреть в сторону таких программ? http://freesoft.ru/?sec=devinstall1
4 Принт
 
10.02.14
10:22
Завернуть параметры в exe?
5 Kalambur
 
10.02.14
10:23
(4) не понял?
6 ifso
 
10.02.14
10:25
(2) Вменяемый мануал не будет адекватней?
7 Kalambur
 
10.02.14
10:30
(6) про какай мануал речь? мне бы направление правильное...
просто не хотелось бы использовать (3) стороннее решение.
8 Принт
 
10.02.14
10:34
для (0) есть (3), если нужно что-то более хитрое давай больше конкретики. про ломальщиков какую-то ерунду пишешь.
9 Kalambur
 
10.02.14
10:48
(8) Ну как чайников этом вопросе может объяснить? возможно придется стелепатировать :)
Просто скачал студию, хотел создать проект, запихать туда файлики и выполнить.

Решение в (3) хорошо и безгеморно, но это не путь самурая ибо не хочется использовать стороннее решение.
10 spock
 
10.02.14
10:51
В ресурс исполняемого файла запихнуть, а потом работать с ним, как с ресурсом.
11 Kalambur
 
10.02.14
10:53
(10) да это сделал, не могу понять как с ним работать
12 Kalambur
 
10.02.14
10:54
вернее даже не с ним, а с нимим, у меня же 2 файла в ресурсе
13 Кирпич
 
10.02.14
10:54
чисто по братски даю ссылку
http://yandex.ru/yandsearch?lr=213&text=dll+в+исполняемый+файл
14 Kalambur
 
10.02.14
10:55
Ковыряю мсдн долго, но там все чет не то
15 spock
 
10.02.14
10:55
(11)
либо почитать msdn;
либо идти на форум <твой язык программирования> за помощью;

на чем пишешь-то, боец?
16 Kalambur
 
10.02.14
10:56
(15) самое простое :)  ВБ
17 Кирпич
 
10.02.14
10:57
Сначала узнай как засунуть dll  в ресурс. Потом узнай как достать dll из ресурса и записать на диск. Потом узнай как динамически подключить dll. Всё.
18 Новиков
 
10.02.14
11:01
Запакуй потом каким-нить паковщиком типа UPX.
19 Kalambur
 
10.02.14
11:03
(17) да спасибо, уже по твоей ссылке сказали что компилятор сам все засунет. осталось разобраться как запустить все это дело.
(18) а можно ссылку не для продвинутых?
20 spock
 
10.02.14
11:04
21 spock
 
10.02.14
11:05
22 H A D G E H O G s
 
10.02.14
11:27
Ресурсы - фигня.

Я годную инфу записывал тупо в конец exe файла.
23 Принт
 
10.02.14
11:30
(22) колумб..
24 H A D G E H O G s
 
10.02.14
11:33
(23) брысь
25 Принт
 
10.02.14
11:35
(24) нихачу
26 le_
 
10.02.14
11:40
(0) Параметры запуска всё равно видно в Диспетчере задач и таких утилитах, как Process Explorer.
http://s019.radikal.ru/i639/1402/37/ebf7c8132441.png
http://s020.radikal.ru/i715/1402/3a/3aeed0ec36d9.png
27 Kalambur
 
10.02.14
11:45
(26) ну это, как я понимаю, если один внешний процесс запускает другой с параметром
28 Kalambur
 
10.02.14
11:46
(22) есть что с примером для тупого 1сника?
29 le_
 
10.02.14
11:47
(27) Что значит "внешний процесс"?
Там отображается командная строка процесса.
30 Kalambur
 
10.02.14
12:08
(29) имелось ввиду когда один процесс запускает другой. если же все делать в пределах одного процесса, то я думаю такого не должно быть.
31 H A D G E H O G s
 
10.02.14
12:26
Ничего не понимаю.

Берем exeшник, в него, в конец дописываем GUID + dll-ку, сохраняем.

Ексешник, при работе, с конца ползет по себе, ищет GUID, нашел - с этого места и до своего конца - считывает dll-ку, пишет в tmp, подгружает ее.

Я так делал, работает.

Не нравиться, что dll на диске? - можно поиграться с маппированием файла в память, эмулируя загрузку dll виндой.
Я так не делал, пробуй.

Не нравиться, что PE видят командную строку? Можно заставить exe-шник переписать свой PE заголовок с командной строкой - мусором. Пробуй!
32 le_
 
10.02.14
12:29
(30) В пределах одного процесса - это в адресном пространстве первого процесса?
Всё равно параметры будет видно.
Думаю, поможет только сокрытие процесса от windows вообще. Но это уже какое-то "грязное" администрирование.

Лучше сделать так, чтобы параметры не использовались вообще, если в них что-то секретное. Или если там пароли, то можно написать утилитку, которая будет автоматизировать их ввод по запросу...
33 mehfk
 
10.02.14
12:34
(31) Лучше в ресурс.
34 Принт
 
10.02.14
12:37
(31) >с конца ползет по себе, ищет GUID
ну ты научишь
35 Kalambur
 
10.02.14
12:37
(32) да там логин-пароль и адрес сервера.

(31) :) да ну нафииг это я еще год буду делать
36 le_
 
10.02.14
12:41
(35) А ввод этой информации из файла поддерживается?
37 Kalambur
 
10.02.14
12:49
(36) не понял
38 Принт
 
10.02.14
12:50
(37) exe-шник, который ты хочешь завернуть, не твой?
39 le_
 
10.02.14
12:51
(36) Некоторые программы поддерживают ввод параметров из файла.
Например: prog.exe -o "параметры.txt"
А в параметры.txt содержится и логин и пароль и еще что-нибудь...
40 le_
 
10.02.14
12:52
(39) В этом случае "параметры.txt" можно шифровать.
41 Kalambur
 
10.02.14
12:57
(38) нет, не мой. В принципе есть к нему .lib и .h файлики, но с ними тоже разбираться надо.

(39)(40) дешифратор писать уметь надо же, думал уже об этом :)
42 le_
 
10.02.14
13:06
(41) Чего там уметь-то? В .NET Framework всё уже придумано до нас.
43 Torquader
 
10.02.14
15:26
Если параметры беруться с StdIn-а, то можно через Pipe из одного процесса передавать в другой без всякого файла.
44 mistеr
 
10.02.14
15:30
(2) Количество сокращается лишь на тех, кто не в состоянии посмотреть командную строку запущенного процесса (Process Explorer и т.д.). Сам подумай, много ли таких? Бесполезная трата времени IMHO
45 Torquader
 
10.02.14
15:37
(44) Просто, те, кто не может посмотреть в системе - их и командная строка устроит.
Остальные же будут смотреть отладчиком, а там всё как на ладони.
46 Kalambur
 
10.02.14
15:41
(45) вот отладчиком могут пользоваться немногие, в отличии от других. Так бы и не парился.
47 Torquader
 
10.02.14
15:48
(46) Если данные передавать через потоки, то и отладчик не очень-то и поможет, но нужно делать это очень аккуратно.
48 mistеr
 
10.02.14
15:52
(47) Я так понимаю, что экзешник чужой, и из потока ничего не ждет
49 Rebelx
 
10.02.14
16:20
не судьба CMD сделать? можно даже переименовывать файл exe из другого расширения в этом CMD. это конечно если нужна защита от дурака, а не от маньяка
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn