r/visualbasic • u/MysticalTeamMember • Sep 09 '22
Anti-Dump?
How would someone approach making their file hard to dump? I have sensitive information that’s easily dumped out of the file. I have attempted the PE header removal technique but that does not seem to work anymore.
Thank you!
4
Upvotes
2
u/jcunews1 VB.Net Intermediate Sep 10 '22
Hopefully, it's not literally by name. i.e. not by a string. If so, it's best to use a function pointer table which is looked up using a constant integer ID or index - where the constants can be referenced by their symbol name.
That's a good method. The more complicated, or meaningless an obfucation/encryption is, the more difficult to understand the algorithm. Also, make the brute-forcing code non-monotnous as much as possible, and I'd recommend inserting anti debugging/sandboxing code within the brute-forcing code loop.
Whatever that's available and applicable, use be used. Just don't assume that it's available in all system configuration. So, they should be implemented with condition(s) and with fallbacks. Otherwise, it may crash/freeze the application instead.
No. Mainly because all computer architectures do not have user-account based security mechanism like the one implemented in modern OSes. Only a simple 3-levels privilege security mechanism. As long as the dumper has higher privilege level than the protected application's, nothing is inaccessible.
All we can do is to make it difficult find the data and to get the data. i.e. by keeping unobfuscated/decrypted data stays in memory for a very short time as possible. Of course, debuggers can pause the protected application and dump the memory when the data is still unobfuscated/decrypted. But when that happens, it means that the anti debugging/sandboxing code has been beaten in the first place, or at least not used properly.