Page 1 of 1

Initialization Error 4

Posted: Tue Nov 17, 2015 6:40 pm
by tripleh
Hi,

I am currently updating my software to support VMP3.
I need to strip out the "Name" field in the Export Directory of my DLL which worked fine in VMP2, in VMP3 I get an error message:
Image

Is there any way to make the dll work with modified export directory? Memory protection is not enabled.

Regards.

Re: Initialization Error 4

Posted: Wed Nov 18, 2015 7:51 am
by Admin
"Initialiation error 4" means that the last VMProtect's segment is modified. We recommend to use the script for deleting of export functions. For example:

Code: Select all

function OnBeforeSaveFile()
   local exports = vmprotect.core():outputArchitecture():exports()
   exports:clear()
end

Re: Initialization Error 4

Posted: Wed Nov 18, 2015 6:25 pm
by tripleh
Hello, thanks for your response.

I don't want to remove all exports I just want to
  • Rename one exported function
  • Change the "name" field in the export directory
Is there any way to accomplish that with VMP Scripts? As far as I understood the Script functions only allow you to read and clear the export directory but not to change certain fields.

Re: Initialization Error 4

Posted: Thu Nov 19, 2015 1:30 pm
by Admin
We have added these features in 3.0.6.548.

Rename one exported function:

Code: Select all

function OnBeforeSaveFile()
   local exports = vmprotect.core():outputArchitecture():exports()
   local export =  exports:itemByName("old_name") 
   if (export) then
      export:setName("new_name")
   else
      print("old_name not found!")
   end
end
Change the "name" field in the export directory:

Code: Select all

function OnBeforeSaveFile()
   local exports = vmprotect.core():outputArchitecture():exports()
   exports:setName("")
end

Re: Initialization Error 4

Posted: Fri Nov 20, 2015 1:38 pm
by tripleh
Thank you very much, keep up the great work!

Re: Initialization Error 4

Posted: Thu Aug 18, 2016 6:14 pm
by tripleh
Hello,

could you please also add functions to change
  • NtHeader->FileHeader.TimeDateStamp
  • NtHeader->OptionalHeader.MinorLinkerVersion
  • IMAGE_EXPORT_DIRECTORY->TimeDateStamp
Regards

Re: Initialization Error 4

Posted: Thu Feb 20, 2020 12:06 pm
by gzh
Dear Admin,

I'm your client and I'm using VMProtect to protect my software. I'm currently seeing "Initialization error 4" in a production environment at customer's site, -- but in a strange manner: my app, protected with VMProtect initially works fine, but then at some point it cannot be started any longer, until the server is rebooted or until the app is reinstalled. Interesting that I supply 2 executables, one being an NT service and second being an auxiliary utility. Both protected with VMProtect, and both are getting unusable at some point at that server, throwing the "Initialization error 4" message box.

I was wondering, what change in the system may cause this behaviour. And why reinstallation of my software helps. Is it the case that something changes VMProtect-covered binaries on the disk? or does this happen in RAM, after binary is loaded? What should be recommended to that server's administrators in order to avoid this problem in future?