Search found 33 matches

by lach
Tue Sep 09, 2025 8:38 pm
Forum: Technical questions
Topic: Сброс времени работы программы
Replies: 3
Views: 12063

Re: Сброс времени работы программы

> Очень странный кейс если честно. Своеобразная форма Always-on DRM, однако согласен что в vmprotect система лицензирования не совсем для этого предназначена. Было бы неплохо если бы была какая-то возможность на лету расшифровывать байткод виртуальных машин самого vmp, однако в моём случае это требо...
by lach
Tue Sep 09, 2025 8:22 pm
Forum: Technical questions
Topic: musl support
Replies: 5
Views: 4244

Re: musl support

> if at least the vmp lib code were public, I could try to build it directly on Alpine Linux and solve the building problems You can easily recreate this library, as it only contains empty functions, i.e write this into a file: void VMProtectBeginUltra(char* name) {} Build it into a VMProtectSDK64.s...
by lach
Wed Jul 02, 2025 3:38 pm
Forum: Technical questions
Topic: Сброс времени работы программы
Replies: 3
Views: 12063

Сброс времени работы программы

У меня есть юзкейс, когда лицензию использующую running time limit и полученную через встроенную систему лицензирования нужно продлевать каждые несколько часов (каждый раз стучать к серверу активации). Однако как выяснилось, time limit ведёт отсчёт с момент запуска программы, и задание нового serial...
by lach
Fri Jun 13, 2025 3:09 pm
Forum: Technical questions
Topic: VM complexity scripting function
Replies: 6
Views: 19785

Re: VM complexity scripting function

IntelFunction:setComplexity, I see, thanks!
by lach
Fri Jun 13, 2025 2:57 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

> На самом деле немного не так. Он пересекается с GNU_V3, поэтому деманглинг от GCC частично обрабатывает символы от Rust: Это я понимаю, под признаками я имел в виду как отличить идентификаторы что gnu v3 demangler будет неправильно переваривать - у Rust всегда последний компонент это ::h0000000000...
by lach
Thu Jun 12, 2025 2:10 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

Чтобы не приходилось возиться с экспортами, vmprotect по хорошему должен уметь делать demangling Определить что для символа стоит использовать librustc_demangle вместо того что сейчас vmprotect использует сейчас можно по одному из двух признаков: Префикс: _Z (по аналогии с C++, однако там возможный ...
by lach
Thu Jun 12, 2025 1:55 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

У вас сейчас там вообще нет никаких символов кроме экспорта. В данном случае потому что библиотека стрипнута Сейчас flow в vmprotect rust sdk - функция с маркером #[protect(ultra)] fn add(a: u32, b: u32) -> u32 { a + b } Преобразуется в #[inline(always)] fn add(a: u32, b: u32) -> u32 { #[inline(nev...
by lach
Thu Jun 12, 2025 12:32 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

Блин, действительно, спасибо. Надо выкинуть из библиотеки использование экспортов, и по нормальному названию матчить, проблема лишь в том что оно mangled, и vmprotect не может названия обработать Сделал так, + через FFI подключил demangler, и решил кучу проблем Было бы однако неплохо если бы сам vmp...
by lach
Thu Jun 12, 2025 12:52 am
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

Спасибо, на репродюсере помогло
Но к сожалению на реальном коде оно всё ещё падает
Приблизил репродюсер к реальному, на нём падает; апи библиотеки аналогичное, послал в ПМ
by lach
Wed Jun 11, 2025 1:39 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

К сожалению в реальном коде это работает несколько иначе Оказлось что реальный код падает по той же причине - используется exports:delete, тут по ошибке было подключено 2 версии Rust vmprotect sdk работающие по разным принципам, приватная версия предварительно обрабатывает код через llvm, и там в с...
by lach
Wed Jun 11, 2025 1:16 pm
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

Вопрос был не про то, что это является причиной креша, а в том, что ваш код LUA работает неправильно и пропускает один из элементов в exports после delete. Это я понял, в последней версии скрипта это исправлено Однако что исправленный вариант for i = exports:count(), 1, -1 do local export = exports...
by lach
Wed Jun 11, 2025 11:36 am
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Re: Краш при использовании системы лицензирования

Этот код удаляет элемент в том числе и из вектора "exports" и вы проскакиваете следующий item после delete: Похоже что в этом репродюсере проблема действительно с этим К сожалению в реальном коде это работает несколько иначе, и там функций изначально в .dynsym нет; Значит там другая пробл...
by lach
Wed Jun 11, 2025 4:00 am
Forum: Technical questions
Topic: VM complexity scripting function
Replies: 6
Views: 19785

VM complexity scripting function

It is possible to set virtualization complexity on per-function basis using GUI, but there is no method to control that in LUA class IntelFunction
by lach
Wed Jun 11, 2025 3:49 am
Forum: Technical questions
Topic: Краш при использовании системы лицензирования
Replies: 17
Views: 150036

Краш при использовании системы лицензирования

Минимизировал и прикрепил пример на котором это воспроизводится, библиотека собрана под Linux Конфиг дефолтный, за исключением включённой системы лицензирования и использованием скрипта https://github.com/CertainLach/vmprotect/blob/master/script.lua (TL;DR: на функции начинающиеся с vmprotect_ приме...