Доброго времени суток. Есть потребность из программы через shellEcxecute распаковать самораспаковывающийся архив в текущую директорию, без вопросов без GUI интерфейса, чем меньше SFX модуль тем лучше. Все архиваторы, делают оконный интерфейс, а я хочу без окон (без дререй), запустил программу (самораспаковывающийся архив), а он без шума и пыли распаковался. Степень сжатия не волнует хоть 1%. Если кто видел исходники киньте линк, или может софтина такая есть (хотя исходник на асме будет лучше).
rar может без вопросов распаковать и запустить. Необходимо в комментарии написать: Код (Text): Setup=file.exe TempMode Silent=1 Silent=1 - значит что вопросы задавать не надо. TempMode - значит что распаковать нужно в папку %Temp% Setup=... - какой файл запустить.
http://ru.wikipedia.org/wiki/UPX http://www.wasm.ru/print.php?article=packlast01 http://www.wasm.ru/article.php?article=packers2 http://www.wasm.ru/toollist.php?list=8
Благодарю за обилие линков, но виноват скорее я сам, ибо не правильно сформулировал вопрос. Об упаковщиках я знаю и у меня их большая колекция равно как и распаковщиках и прочих софтин для работы с РЕ. В SFX архиве будет сидеть текстовый файл, я хочу его распаковать на несколько секунд, и прочитать (програмно чтобы пользователь не видел ) а потом удалить (замести следы). Т.е. моя пограама должна запустить внешний SFX архив а тот просто выбросит в текущую папку текстовый файл.
Еще как думал, тут бы даже банальных ХОR подошел, ибо защита не от профи а от начинающих, ибо реверсера не так просто сбить столку, а если применять сильную навесную защиту на криптор то антивирь будет ругатся. Просто подумал что архивация тоже вид кодирования, тоже сбивает с толку новичков, буду эксперементировать.
rodger Так почему бы и не xor или, еще лучше add ? Антивирь не всегда ругается, поверь. Если шифруешь внешний файл (не exe), то с ним проблем не будет. Главное, побольше мусора в код шифровки/дешифровки - тогда и эксперт долго мозги ломать будет...
именно. Ведь никто не расшифрует информацию, которую ты зашифровал собственным способом без исходного кода твоей программы, а так xor - это слишком очевидно... Можно вообще каждый байт с другим складывать или через один - это дело фантазии. А зашифровать код шифровки/дешифровки - высший пилотаж!!
> Тоже об этом думал, как мозги запудрить реверсерам, но это задача которую решают десителетиями даже во времена доса чуществовала мутация исполняемых файлов типа замена pop edx,ecx на pop edx, push ecx, и так далее, об этих вещах написаны талмуды. Хочу нечто простое маленькое и быстрое.
rodger Простенькое - использовать XOR или ADD. Или экзотику - MUL, SUB. Тока константу, которую выберешь для данных операций, надо запихнуть поглубже в код.