Небольшое предложение

Добрый день!
Не знаю реализовано это сейчас у Вас как то, и вообще возможно ли это реализовать из вне компилятора. Но мысль такая, добавить возможность сохранения параметров переменных, каждый раз в новой области памяти.
Это позволит избежать чекпоинтов взломщика в определённых местах. Как к примеру работает ArtMoney, нашел место в памяти, поставил поинт, и в след раз уже знаешь место куда обращаться.
Сейчас данный момент можно решить при помощи настроек компилятора(BCB/Delphi)…тут парень описал это Trimming The Fat в своем блоге.

В блоге описывается как отключить создание релоков стандартными средствами компилятора, в результате чего незначительно уменьшается размер файла. Какое это имеет отношение к вашему вопросу?

Просто этот автор на другом форуме дал ссылку на свой блог с пометкой, что он там описал принцип реализации. Я поверил. Пробовал реализовать, но так и не тестировал.
Если дезинформировал, то прошу прощения.

Ваша задача реализуется достаточно просто на уровне исходных кодов программы. Для хранения глобальных переменных достаточно использовать контейнеры, которые будут:

  1. Хранить данные в динамически выделяемой памяти
  2. Шифровать сохраняемые данные при записи и расшифровывать при чтении. В качестве основы подойдет любой симметричный алгоритм, ключ для которого будет создавать в конструкторе контейнера случайным образом.

На уровне VMProtect эта задача не решается, т.к. нет информации о “Data Flow Graph” поэтому нет возможности на автомате определить все возможные варианты доступа (включая размер самих данных) к конкретной переменной.

Ясно, спасибо!