Call “print(“Path:\t”..stripfilename(vmpCore:projectFileName()))” in script,print “E:\工作内容\test.dll.vmp” is ok。
But there is a mistake in the other use(configFile = io.open(vmpCore:projectFileName(), “r”)). the “configFile” is nil。
Sample code:
function OnBeforeCompilation()
vmpCore:inputArchitecture():file()
print("Path:\t"..vmpCore:projectFileName())
configFilePath = vmpCore:projectFileName()
print("Path:"..configFilePath) -- is ok
configFile = io.open(configFilePath, "r") --is error
if configFile == nil then
print("Open config text file \""..configFilePath.."\" error!No such config file or directory!")
return
end
end
How to solve this problem。
proposal:
1、Allow running script to abort;
2、Allow script control “Lock To Serial Number”;
local file = vmprotect.core():inputFile():item(1)
local function = file:functions():itemByName("FUNCTION NAME")
if function then
function:setLockToKey(true)
end
int MultiByteToWideChar(unsigned int CodePage,
unsigned long dwFlags,
const char* lpMultiByteStr,
int cbMultiByte,
wchar_t* lpWideCharStr,
int cchWideChar);
int WideCharToMultiByte(unsigned int CodePage,
unsigned long dwFlags,
const wchar_t* lpWideCharStr,
int cchWideChar,
char* lpMultiByteStr,
int cchMultiByte,
const char* lpDefaultChar,
int* pfUsedDefaultChar);
proposal:
1、Can external script files be referenced? Examples:“XXX.vmp” Support like “LicenseDataFileName="licencemanager.vmp”;
2、Can FFI library be supported?FFI Library
3、Can BitOp library be supported? http://bitop.luajit.org