September 18th, 2003, 07:36 PM
i'm working on application protection/authentication scheme for some time now and i got it down pretty well and improved it over the last month. I know it's weird to code such an application in VB but it's simply the only language i know.
i have one need since the beginning of the project: all encryption/hasing/protection/check routines are stored enrypted within the wrapper of the file i want to protect, are being decrypted on runtime as a .dll an then being used by the main app to start the whole veryfication process.
i did not find another way to secure the sensitive parts of my application/prot. Scheme and being able to access the functions. i want to get around the dll file stored on disk.
is there a way to directly decrypt it into memory and access the functions from there? i know this can be done in C and assembler and so on, but i'm stuck in VB. i found out that you can utilize undocumeted pointers in VB, but the usage is completely over my head.
Sure, even if i would somehow manage to do this one could still memory dump the file, but nonetheless it would be a bit more difficult.
I'm looking for a solution on this one quiet some time know. Anyone has a hint, a proof that it's not possible ... anything? Thanks!
September 19th, 2003, 04:37 PM
You could always post your question on JupiterMedia's VB Forum
September 19th, 2003, 06:21 PM
thanks for the link - i didn't know that forum ... i found a similar thread from someone else, but nobody had an answer or understood what that guy wanted ;-)
To again elaborate a bit on my question: applications such as SecuRom or SafeDisk, Slovak Decryptor and so on are wrapper systems which utilize a strong cryptosystem on the application you want to protect, wrapp the decryptor around the encrypted .exe it and decrypt it on runtime / run the application from within memory without having it stored anywhere else.
That's what i want to do. I just don't know how to run it from memory. I need to have an image of the .exe in memory, need pointers to the code and create process or something? Well i simply don't know ... everyone with lots or little info feel free to fire away ;-)
I anyone know how to do this in c or asm, please tell me the concept - maybe i can use this information.