Использование VMProtectFreeString
Использование VMProtectFreeString
Подскажите пример использования VMProtectFreeString, что-то не могу разобраться.
Re: Использование VMProtectFreeString
Code: Select all
const char *str = VMProtectDecryptStringA("test");
...
VMProtectFreeString(str);
Re: Использование VMProtectFreeString
Admin wrote:Code: Select all
const char *str = VMProtectDecryptStringA("test"); ... VMProtectFreeString(str);
Code: Select all
#include <windows.h>
#include "VMProtectSDK.h"
int main(int argc, char *argv[]){
VMProtectBegin("marker1");
const char *str = VMProtectDecryptStringA("test");
VMProtectFreeString(str);
VMProtectEnd();
return 1;
}
test.cpp: In function 'int main(int, char**)':
test.cpp:7: error: invalid conversion from 'const void*' to 'void*'
test.cpp:7: error: initializing argument 1 of 'BOOL VMProtectFreeString(void*)'
Re: Использование VMProtectFreeString
Code: Select all
#include <windows.h>
#include "VMProtectSDK.h"
int main(int argc, char *argv[]){
VMProtectBegin("marker1");
char *str = VMProtectDecryptStringA("test");
VMProtectFreeString((void *)str);
VMProtectEnd();
return 1;
}
Re: Использование VMProtectFreeString
Точно. Спасибо за оперативный ответ.Admin wrote:Code: Select all
#include <windows.h> #include "VMProtectSDK.h" int main(int argc, char *argv[]){ VMProtectBegin("marker1"); char *str = VMProtectDecryptStringA("test"); VMProtectFreeString((void *)str); VMProtectEnd(); return 1; }
Re: Использование VMProtectFreeString
VMProtectFreeString - данная процедура очищает то, что я передаю или нет?
т.е. нужно ли мне делать еще один free(str) ?
т.е. нужно ли мне делать еще один free(str) ?
Re: Использование VMProtectFreeString
Я пытаюсь избавиться от утечки в таком элементарном примере. drmemory.exe вот что говорит
DUPLICATE ERROR COUNTS:
Error # 1: 17
Error # 4: 2
SUPPRESSIONS USED:
ERRORS FOUND:
0 unique, 0 total unaddressable access(es)
1 unique, 17 total uninitialized access(es)
0 unique, 0 total invalid heap argument(s)
0 unique, 0 total GDI usage error(s)
0 unique, 0 total warning(s)
2 unique, 3 total, 503 byte(s) of leak(s)
1 unique, 1 total, 23 byte(s) of possible leak(s)
ERRORS IGNORED:
11 unique, 65 total, 8206 byte(s) of still-reachable allocation(s)
Re: Использование VMProtectFreeString
Да, очищает то что вы передаете.VMProtectFreeString - данная процедура очищает то, что я передаю или нет?
Не нужно!т.е. нужно ли мне делать еще один free(str) ?
Re: Использование VMProtectFreeString
При старте защищенной программы рантайм вмпротекта создает в памяти собственные объекты, поэтому на момент завершения процесса у вас всегда будет видна занятая память.Я пытаюсь избавиться от утечки в таком элементарном примере. drmemory.exe вот что говорит