mdilai / Shtreeba

VAC-proof 32bit DLL injector written in C++, using memory mapping and thread hijacking techniques
GNU Lesser General Public License v3.0
294 stars 30 forks source link

How to inject DLL using VMP? #5

Open jackKiZhu opened 3 years ago

jackKiZhu commented 3 years ago

How to inject DLL using VMP?

mdilai commented 3 years ago

Please clarify what is VMP (VMProtector?) and why you think you need it. This project is self-sufficient, protector may only increase chances of detection, because it's easy to detect the fact of using protector. Maybe you'll still don't get VAC ban, but can decrease your trust factor due suspicion activity.

jackKiZhu commented 3 years ago

Please clarify what is VMP (VMProtector?) and why you think you need it. This project is self-sufficient, protector may only increase chances of detection, because it's easy to detect the fact of using protector. Maybe you'll still don't get VAC ban, but can decrease your trust factor due suspicion activity.

The main purpose is to prevent the cracker from cracking

uwuLegacy commented 3 years ago

VMProtect, contrary to popular belief, does not protect you all that well from VAC detection. I don't see a reason to use it. Anyway, assuming VMP was used correctly, the injection process should stay exactly the same.

mdilai commented 3 years ago

If you want to encrypt my injector, it's dumb idea since its, one - open sourced, and two - it's against LGPL3 license. I don't allow you to stole and encrypt my code in your P2C, but you can feel free to include Shtreeba.dll in your bundle and call it from your custom closed encrypted P2C loader with whatever you want.

If you have a unique elite cheat with private functions you want to encrypt - just properly include VMP C++ headers in your project and embrace all valuable functions with VMP virtualization macros. In that way you will encrypt all needed but will not break DLL initialization as you probably do, if you encrypt regular DLL with VMP builder

If you have shitty P2C paste and just don't want anyone to pull out bare DLL from loader, you can XORify your DLL, include it in loader as HEX and slightly change File::File class in Shtreeba library to deXOR it before injection.