Initialization Error 4

Issues related to VMProtect
Post Reply
tripleh
Posts: 4
Joined: Tue Nov 17, 2015 6:34 pm

Initialization Error 4

Post 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.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Initialization Error 4

Post 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
tripleh
Posts: 4
Joined: Tue Nov 17, 2015 6:34 pm

Re: Initialization Error 4

Post 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.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Initialization Error 4

Post 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
tripleh
Posts: 4
Joined: Tue Nov 17, 2015 6:34 pm

Re: Initialization Error 4

Post by tripleh »

Thank you very much, keep up the great work!
tripleh
Posts: 4
Joined: Tue Nov 17, 2015 6:34 pm

Re: Initialization Error 4

Post by tripleh »

Hello,

could you please also add functions to change
  • NtHeader->FileHeader.TimeDateStamp
  • NtHeader->OptionalHeader.MinorLinkerVersion
  • IMAGE_EXPORT_DIRECTORY->TimeDateStamp
Regards
gzh
Posts: 1
Joined: Thu Feb 20, 2020 10:41 am

Re: Initialization Error 4

Post 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?
Post Reply