![]() Shoutbox (View Full Shoutbox)
|
||||
Click Refresh to load shouts. |
||||
|
Fun with LD_PRELOAD
|
|
01-30-2009, 05:55 PM
Post: #1
|
|||
|
|||
|
Fun with LD_PRELOAD
im afraid I dont have time right now to explain how this works, but i was thinking of ways to bot tibia undetectably. this is 100% legal, it doesnt modify the client in any way, it simply modifies the environment it runs in, not to mention it would be impossible to detect because there are so many flavours of linux all compiled with different versions of gcc.
so, step by step instructions step 1: cd into your tibia directory step 2: copy the following into wrapper.c and compile using Code: gcc -shared -o wrapper.so wrapper.cCode: #include <stdio.h>Code: export LD_PRELOAD=$PWD/wrapper.soCode: ./Tibiastep6: when youre done, you can either close the terminal, or use Code: export -n LD_PRELOADenjoy ;p
|
|||
|
01-30-2009, 06:19 PM
Post: #2
|
|||
|
|||
|
Fun with LD_PRELOAD
This is indeed very fun, something i noticed is you are not using dlsym() to get the original function pointers, maybe this is not needed anymore? i'll give it a try now.
You can preload the .so like this if you dont want to export/unexport after running it: Code: LD_PRELOAD=./wrapper.so ./Tibia![]() |
|||
|
01-30-2009, 06:37 PM
Post: #3
|
|||
|
|||
|
Fun with LD_PRELOAD
i believe connect is defined as
connect () { __connect (); } so dlsym wasnt necessary. there is no __recv, so if you wanted that you would need dlsym, but this was a quick hackup and after i discovered that once you are in the game tibia uses read and write i didnt care. some other fun facts. The xconn is the connection to xserver, instead of sending packets it might be interesting to send key presses to the xserver and control the bot that way. also, tibia is using polling, remove the && n != -1 and youll see what i mean. This means we can send packets to the client because read is polled, rather than waited upon. Here i have two options, i can either hook connect and make the real connect connect to me, or i can build a proxy into the read/write functions. The latter may be more complex, but it has the advantage that tibia chooses the login server, and because I am in tibias address space I can now steal the xtea key from memory and build all the decryption/encryption routines into the .so. That would then require a slight modification of my proxy. Actually it would even be feasible to load all of the proxy code into the .so and run it from there, but i want to be able to have multiple clients connected to the single proxy. o and thanks for the tip, that will save me exporting and unexporting.
|
|||
|
« Next Oldest | Next Newest »
|

![[-]](images/mint/collapse.gif)


![[Image: userbarue2.png]](http://img338.imageshack.us/img338/3985/userbarue2.png)


![[Image: slackware1userbarcq4.gif]](http://img147.imageshack.us/img147/9991/slackware1userbarcq4.gif)