Page 1 of 2

Enigma Protector Examples

Posted: Wed May 31, 2023 10:48 am
by flashEP
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

Re: Enigma Protector Examples

Posted: Wed May 31, 2023 6:44 pm
by Enigma
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)

Re: Enigma Protector Examples

Posted: Thu Jun 01, 2023 9:44 am
by flashEP
Спасибо за ответ (я посмотрел в других сообщениях, разные языки общения не запрещены?)
Базисный пункт: функции 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 и переименованием.
Внутри осталась ссылка на исходное имя
123.jpg
Полученный 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

Re: Enigma Protector Examples

Posted: Sat Jun 03, 2023 10:26 am
by flashEP
Разница

x32
x32.jpg
x64
x64.jpg
Поддержка молчит :cry:

Re: Enigma Protector Examples

Posted: Mon Jun 05, 2023 3:46 pm
by Enigma
Здравствуйте, прошу прощения, поддержка была на выходных)

Основная "проблема" тут в том, что при использовании Enigma API и при компиляции 32 битной программы импортируются функции из enigma_ide.dll, а при компиляции 64 битной программы, те же функции импортируются из enigma_ide64.dll.

Возьмите вот эти файлы, добавьте их в проект, все должно заработать для x64.
В модулях, где используете Enigma API добавьте только

Code: Select all

#include "enigma_ide.h"
Lib файлы инклудить не надо.
enigma_ide.zip

Re: Enigma Protector Examples

Posted: Mon Jun 05, 2023 4:34 pm
by flashEP
Здравствуйте.
С enigma_ide64.lib (из директории VC от 2019г) я проверял ранее (и сейчас еще раз проверил) - ошибка формата
omfcoff.jpg
Предполагаю, что библиотека enigma_ide64.lib - COFF формата или что-то еще...

Re: Enigma Protector Examples

Posted: Tue Jun 06, 2023 8:18 am
by Enigma
flashEP wrote: Mon Jun 05, 2023 4:34 pm Предполагаю, что библиотека enigma_ide64.lib - COFF формата или что-то еще...
Да, все верно, постараемся оперативно решить проблему.

Re: Enigma Protector Examples

Posted: Tue Jun 06, 2023 11:04 am
by Enigma
Используйте вот эти файлы, все должно работать:
enigma_ide64.zip

Re: Enigma Protector Examples

Posted: Tue Jun 06, 2023 11:41 am
by flashEP
Enigma wrote: Tue Jun 06, 2023 11:04 am Используйте вот эти файлы, все должно работать:
enigma_ide64.zip
Не хотит :(
enigmax64.jpg

Re: Enigma Protector Examples

Posted: Wed Jun 07, 2023 4:59 pm
by Enigma
Ответили в письме, давайте туда перенесем дискуссию по вопросу!