molebox.com Pack application and data files into a single executable. Run application without external files. MoleBox binds the exe and all its supplementary files into a single file. Moleboxed program works exactly as before processing. Data files are unpacked directly to the memory, and not extracted to the disk. Due to this, your data are not available to the user and thus cannot be viewed or modified. Embed DLL into the exe file. This ability protects your DLLs from usage by third party software and also helps to prevent DLL version conflicts. You application will always have access to the same DLL version it was compiled with. Encrypt the executable and data files. Encryption makes reverse engineering and data recovery extremely difficult.)) Compress the entire application suite. MoleBox uses Zip (Deflate) algorithm to compress the application, DLL's and data files. Executable files size can be reduced by 30-70%. Moreover, processed application requires less disk space due to usage of a single file rather then many data files: for example, 1000 text files of 1 KB occupy 4 MB of disk space, but after processing the overall size may be decreased upto 100 KB. Secure application integrity. Usage of the control sum ('CRC check') option will assure that your program and its data files were not modified, and all the necessary files are present. Counteract API hooking. The application import table is encrypted during processing and, once protected with control sum, it cannot be modified. я тут поковырял немного для убиения времени. примитивная довольно - таки штука а ещё новосибирск мне был интересен подход к криптованию данных похоже они патчат импорт программы и все API работы с файлами хучат а там уже расшифровывают такой вывод я сделал из того что все перхваченные апи имеют отношение к файловому вводу/выводу либо filemaping как кошку использовал я notepad - со сжатием лажа получилась он с 64 к почти в два раза больше стал думаю это из за большого размера кода навесного
> похоже они патчат импорт программы и все API работы с файлами хучат Именно, это какраз чтобы сделать виртуальную файловую систему. Молебоксом можно слить все файлы используемые прогой в один ехе, и она будет думать что читает их с диска а не из своего оверлея. Полезность такой штуки весьма сомнительна, но фича такая вроде есть только у thinstall'a. ЗЫ: Интересно, а такие слитые файлы доступны только на чтение или еще и на запись?
в доке написано что только на чтение хотя я не вижу больших проблем при записи , если использовать блочный шифр
Видел я этот протект. Сам он говно, но фича прикольная (сразу видно за что 299$ просят). И есть такая фича не только у thinstall'a, скоро выйдет еще один протект с такой фичей. Насчет ее полезности: при правильном подходе это затруднит снятие конверта, но в molebox реализация неочень, чтоб достать виртуальные файлы достаточно внедрить свой код в процесс, перечислить все файлы через FindFirstFile, FindNextFile и сбросить их на диск. Поэтому в нормальной реализации перечисления файлов не должно быть. Насчет записи: возникают 2 проблемы: 1) запись в работающий экзешник 2) место хранения файлов может быть легко обнаружено так что запись делать тоже нестоит.
Ms Rem согласен, я не имел в виду слитые в один exe файлы а что при чтении не может быть легко обнаружено? кстати об изменении работающего ехе, а что нам мешает изменить отмапленный файл в памяти( тогда он сразу изменится на диске)? я интересуюсь, сам не пробовал . я до этого не дошёл , а что они даже не зашифрованы в памяти?(то есть когда при старте application sfx-ается данные расшифровываются вместе с ним?)
>а что при чтении не может быть легко обнаружено? Один хрен легко обнаружить, но при записи можно искать различия в файлах. Данные в памяти зашифрованы, но какая разница, если при обращении к апи их приходится расшифровывать? Все равно мы получим эти данные в расшифрованном виде, готовые к сбросу в файл. Насчет изменения файла в памяти: мапиться только readonly, при записи в секцию кода просто делается копия страницы, а в файл ничего не сбрасывается.