Enigma Protector Examples
Enigma Protector Examples
Hi all,
I'm newbie at Enigma, first steps, started with Examples
1)
First two examples CheckEnigma and CheckVirtualizationTools (Delphi and C builder)
EP_CheckupIsProtected returns True right after buld/run even the output file is not protected.
Is this correct behavior for this function?
I could not find a more detailed description in the help.chm file.
Perhaps I missed something, since full-text search does not work, only by section names
Embarcadero® RAD Studio 11 Version 28.0.46141.0937
Enigma Protector (x64) 7.40 (build 20230424)
PPS: Pls make it possible to copy program version from About via Ctrl-C
I'm newbie at Enigma, first steps, started with Examples
1)
First two examples CheckEnigma and CheckVirtualizationTools (Delphi and C builder)
EP_CheckupIsProtected returns True right after buld/run even the output file is not protected.
Is this correct behavior for this function?
I could not find a more detailed description in the help.chm file.
Perhaps I missed something, since full-text search does not work, only by section names
Embarcadero® RAD Studio 11 Version 28.0.46141.0937
Enigma Protector (x64) 7.40 (build 20230424)
PPS: Pls make it possible to copy program version from About via Ctrl-C
Re: Enigma Protector Examples
Hi, it would be better if you explain the kind of protection you would like to get from Enigma Protector.
Is it code protection, protection with the license and trial, protection against reverse engineering etc.
As for Enigma API functions, the common idea of this - communication between protected program and protection. Enigma API functions, when the application is not protected, are imported from the library enigma_ide.dll or enigma_ide64.dll. All Enigma API functions fails, until the file is protected. After protection, these .dll files are not needed anymore since protection replaces calls of the functions from these .dlls with real functions. So enigma_ide.dll/enigma_ide64.dll are dummy and are used to run compiled file that uses Enigma API without protection. But there is some trick that allows to return Enigma API values even for non protected file. Using configuration files enigma_ide.ini/enigma_ide64.ini it is possible to change the return result of Enigma API for non protected file.
Hope this is a good start for beginning)
Is it code protection, protection with the license and trial, protection against reverse engineering etc.
As for Enigma API functions, the common idea of this - communication between protected program and protection. Enigma API functions, when the application is not protected, are imported from the library enigma_ide.dll or enigma_ide64.dll. All Enigma API functions fails, until the file is protected. After protection, these .dll files are not needed anymore since protection replaces calls of the functions from these .dlls with real functions. So enigma_ide.dll/enigma_ide64.dll are dummy and are used to run compiled file that uses Enigma API without protection. But there is some trick that allows to return Enigma API values even for non protected file. Using configuration files enigma_ide.ini/enigma_ide64.ini it is possible to change the return result of Enigma API for non protected file.
Hope this is a good start for beginning)
Re: Enigma Protector Examples
Спасибо за ответ (я посмотрел в других сообщениях, разные языки общения не запрещены?)
Базисный пункт: функции EP_xxx работоспособны только после после защиты или их поведение можно эмулировать настройками *.ini.
( When file is not protected, all Enigma API functions fail/return empty results.)
Вопрос: могли бы вы предоставить рабочий вариант примера (HardwareID), который можно скомпилировать в варианте x64 для компилятора Embarcadero C++Builder 11?
1) Решена частично, см.ниже Пункт 2)
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Мои попытки пока неудачны
Использую конструкцию, описанную ниже, enigma_ide64.a получен из enigma_ide64.dll с помощью утилиты MKEXP.EXE
#include "../../../EnigmaSDK/Bcb/enigma_ide.h"
#if _WIN64
#pragma link "../../../EnigmaSDK/Bcb/enigma_ide64.a"
#elif _WIN32
#pragma link "../../../EnigmaSDK/Bcb/enigma_ide.lib"
#endif
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2) Насколько я понял, enigma_ide64.dll получилась методом компиляции enigma_ide.dll в x64 и переименованием.
Внутри осталась ссылка на исходное имя Полученный enigma_ide64.a также содержит исходное имя
Может все и не так, но программа, скомпилированная для x64 "просит" наличие файла enigma_ide.dll
Переименовав enigma_ide64.dll, x64 программа запускается, но EP_RegHardwareID() возвращает пустую строку (или default HardwareID=6564-3213-3213 при наличии ini) и в незащищенном и в защищенном вариантах
Программа х32 работает верно
По ссылке ниже - проект программы
https://www.dropbox.com/s/4wvivj6oh8kuc ... D.zip?dl=0
Базисный пункт: функции EP_xxx работоспособны только после после защиты или их поведение можно эмулировать настройками *.ini.
( When file is not protected, all Enigma API functions fail/return empty results.)
Вопрос: могли бы вы предоставить рабочий вариант примера (HardwareID), который можно скомпилировать в варианте x64 для компилятора Embarcadero C++Builder 11?
1) Решена частично, см.ниже Пункт 2)
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Мои попытки пока неудачны
Использую конструкцию, описанную ниже, enigma_ide64.a получен из enigma_ide64.dll с помощью утилиты MKEXP.EXE
#include "../../../EnigmaSDK/Bcb/enigma_ide.h"
#if _WIN64
#pragma link "../../../EnigmaSDK/Bcb/enigma_ide64.a"
#elif _WIN32
#pragma link "../../../EnigmaSDK/Bcb/enigma_ide.lib"
#endif
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2) Насколько я понял, enigma_ide64.dll получилась методом компиляции enigma_ide.dll в x64 и переименованием.
Внутри осталась ссылка на исходное имя Полученный enigma_ide64.a также содержит исходное имя
Может все и не так, но программа, скомпилированная для x64 "просит" наличие файла enigma_ide.dll
Переименовав enigma_ide64.dll, x64 программа запускается, но EP_RegHardwareID() возвращает пустую строку (или default HardwareID=6564-3213-3213 при наличии ini) и в незащищенном и в защищенном вариантах
Программа х32 работает верно
По ссылке ниже - проект программы
https://www.dropbox.com/s/4wvivj6oh8kuc ... D.zip?dl=0
You do not have the required permissions to view the files attached to this post.
Last edited by flashEP on Sat Jun 03, 2023 10:55 am, edited 4 times in total.
Re: Enigma Protector Examples
Разница
x32 x64 Поддержка молчит
x32 x64 Поддержка молчит

You do not have the required permissions to view the files attached to this post.
Re: Enigma Protector Examples
Здравствуйте, прошу прощения, поддержка была на выходных)
Основная "проблема" тут в том, что при использовании Enigma API и при компиляции 32 битной программы импортируются функции из enigma_ide.dll, а при компиляции 64 битной программы, те же функции импортируются из enigma_ide64.dll.
Возьмите вот эти файлы, добавьте их в проект, все должно заработать для x64.
В модулях, где используете Enigma API добавьте только
Lib файлы инклудить не надо.
Основная "проблема" тут в том, что при использовании Enigma API и при компиляции 32 битной программы импортируются функции из enigma_ide.dll, а при компиляции 64 битной программы, те же функции импортируются из enigma_ide64.dll.
Возьмите вот эти файлы, добавьте их в проект, все должно заработать для x64.
В модулях, где используете Enigma API добавьте только
Code: Select all
#include "enigma_ide.h"
You do not have the required permissions to view the files attached to this post.
Re: Enigma Protector Examples
Здравствуйте.
С enigma_ide64.lib (из директории VC от 2019г) я проверял ранее (и сейчас еще раз проверил) - ошибка формата Предполагаю, что библиотека enigma_ide64.lib - COFF формата или что-то еще...
С enigma_ide64.lib (из директории VC от 2019г) я проверял ранее (и сейчас еще раз проверил) - ошибка формата Предполагаю, что библиотека enigma_ide64.lib - COFF формата или что-то еще...
You do not have the required permissions to view the files attached to this post.
Re: Enigma Protector Examples
Используйте вот эти файлы, все должно работать:
You do not have the required permissions to view the files attached to this post.
Re: Enigma Protector Examples
Ответили в письме, давайте туда перенесем дискуссию по вопросу!