Page 1 of 1

VMProtectFreeString

Posted: Fri Apr 20, 2012 11:00 am
by DeeMAGE
Здравствуйте.
Для чего нужна функция VMProtectFreeString ?
При попытки вызвать VMProtectDecryptStringA в цикле возвращается одинаковый указатель, т.е. дополнительного выделения памяти не происходит, что логично. Тогда зачем что-то освобождать?
Спасибо.

Re: VMProtectFreeString

Posted: Fri Apr 20, 2012 3:27 pm
by Admin
При VMProtectDecryptStringA накручивается счетчик у строки (при первом декрипте выделяется память и создается сама строка, счетчик = 1), при VMProtectFreeString он уменьшается. Когда счетчик будет равен 0, то строка уничтожается.

Re: VMProtectFreeString

Posted: Sat Apr 21, 2012 9:43 pm
by DeeMAGE
Спасибо за ответ.
Думаю, было бы не плохо вести внутренний учёт всех указателей выделенных после Begin и автоматом освобождать их перед End.
Во всяком случае себе такую обёртку я сделаю.