🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

bind linking

Started by
1 comment, last by WitchLord 17 years, 9 months ago
BindImportedFunctions will linking functions between modules. But is there any solution to save the linking bytecode ? for example: SysModule: void cmd1() {} void cmd2() {} void cmd3() {} . . . void cmd11() {} script: import void cmd1() from SysModule; import void cmd2() from SysModule; void main() { cmd1(); cmd2(); } the building sequence in the test_saveload.cpp is 1. load SysModule and build 2. load script and build 3. BindImportedFunctions 4. Save script bytecode (but didn't save cmd1(), cmd2() bytecode ) Is there any way to save the linked and runnable bytecde ? In my env. , all of my scripts are pre-building to bytecodes to prevent hacking. But In the coding time, modules cross-linking is everywhere. So, it will be very useful, if there was some solution like c++ linker to linking modules, removing unusable function(cmd3()~cmd11()), and output to single bytecode. I know that using c/c++ will be easier than angel script. But the well-known native X86 machine code is easy to reverse/trace/hack than self-defined script bytecode. I don't know how to achieve this goal with angel script, any suggestion will be welcome.
Advertisement
no any solution ?
What I think you want is a linker. The Bind functionality in AngelScript is for dynamically binding functions between modules loaded separately.

You can still use your pre-compiler script modules, but you have to load all of them, and perform the binding each time you load your application.

Anyway, don't fool yourself into thinking that your code will be any safer from hacking/reverse engineering just because you use pre-compiled scripts instead of compiled C++ code. It may be a little tougher for the hacker to get past the first part, but once that is done the instruction set for the scripting language is much simpler than that of assembler. Also, since AngelScript is open source it won't be difficult to get the structure and meaning of the pre-compiled bytecode.

You probably need to think of other ways to protect your code. Obfuscation only works for the most inexperienced hackers.

Regards,
Andreas

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement