Poll

Pick one!

Lua
54 (27.3%)
Python
48 (24.2%)
EMCA
13 (6.6%)
Ruby
6 (3%)
Other
77 (38.9%)

Total Members Voted: 198

Author Topic: If Blockland got a new scripting language, what would you pick?  (Read 9738 times)

what i like about python is that it supports huge numbers natively. you dont need external libraries like in c++. so its nice to be able to embed python scripts into c++ and use them. unfortunately for java i dont think you can do that and iirc java doesnt support large numbers natively.

What does everybody think of this language? http://squirrel-lang.org/

Aside from the fact that its script files have the ".nut" extension...

I think it's pretty cool.
Just one question though (since I have like zero knowledge of "hacking" into games like this): if the game engine code was changed enough, wouldn't that change the executable and you'd need to find all the address all over again?

Sooort of. We don't statically link our addresses, at least not after we finish debugging and stuff. We do what's called signature scanning where it searches through the executable to find machine code we ask it to, then return the address it's at. So we find the 'signature' for the assembly at the start of a specific function, then when the DLL gets injected it searches through the executable and finds that function. The only way this would break is if the machine code of the signature changed, meaning Badspot directly modified the beginning of the function we're looking for.

For example, this is the code I use to find the address of the function inside Blockland to register a Torque function that returns an integer:

Code: [Select]
typedef void (WINAPI *aFunc)(const char* className, const char* funcName, void *func, const char* usage, DWORD minArgs, DWORD maxArgs);
aFunc addIntFunction; // address inside Blockland.exe for Con::addCommand (int)

DWORD setup = findPattern("\x83\xEC\x0C\x56\x8B\x35\x00\x00\x00\x00\x85\xF6", "xxxxxx????xx");
addIntFunction = (aFunc)(setup+0xA4+*(int *)(setup+0xA0));
« Last Edit: August 06, 2014, 03:17:52 PM by $trinick »

bash

Edit: forget, I did not notice how old this was. Holy stuff.



I saw this thread and thought "Huh, I made a thread like that a while ago. In fact, I think it was the same titl- oh blueblur made the necropost of the century nvm"

lets all scream and yell at blueblur for bumping this thread and keep it alive

blueblur you crazy old nut whyd you bump this
stop going grave digging at night blueblur
blueblur youre too fast, slow down and read the date
its like a guy showing up at a funeral and opening the coffin and dancing with the corpse. aka blueblur
who likes necrophilia? blueblur does
blueblur the cemetery is that way
for halloween blueblur will return to this thread and bump it from the dead
do not disturb the resting blueblur



Python, I actually know that.