Either that, or compiling your own injected-DLL with the same compiler that Medivia uses, and then typcasting the container address as a pointer to a type declared identical to the one in the actual...
Type: Posts; User: DarkstaR
Either that, or compiling your own injected-DLL with the same compiler that Medivia uses, and then typcasting the container address as a pointer to a type declared identical to the one in the actual...
Well, there's two things:
1. Why can't you just add your bot into the source code and compile?
2. If you can't do #1, you can simply do the same exact declaration and use a pointer:
struct...
I'm currently writing a book in game hacking, mostly based in my experience in writing the longest-surviving paid bot for real Tibia. The book is not done yet, but if you pre-order it through the...
Hey man, just a heads up, don't expect any help from the author. I'm sorry to say that he logged out irl shortly after posting this thread.
Back to abusing other people's skills to help you in a new market now that iBot is becoming irrelevant?
Actually, come to think of it, you don't even need mutexes. You need two shared memory buffers, and two global events (assuming a 1-to-1 injected dll to bot ratio).
Using event e1, the injected...
I would advise against sockets for IPC, as it becomes messy and unmanageable and firewalls will hate you. Maybe use shared memory, a global mutex for sync, and global events for signaling.
...
That code is so bad, from before I understood C++ and some of it is just badly modified TibiaAPI. I bet if you re-write the pipes from scratch without passing around raw pointers and deleting them in...
Looks nice :) Snowak also posted a similar break-down many years ago.
There's a few more quirks and things you don't seem to have spotted yet, but based on what you've got so far I'd say you'll...
#ifdef __GNUC__
#define SHOW_ME_YOUR_TITS __attribute__ ((naked))
#elif _MSC_VER
#define SHOW_ME_YOUR_TITS__declspec(naked)
#endif
SHOW_ME_YOUR_TITS void myFunction() {}
you need to use declspec(naked)
You are replacing the first few bytes of the send function without re-implementing them elsewhere, which ends up skipping part of the function prologue. You should be logging the operations that are...
Alsom you may try http://x64dbg.com/#start. It's an open-source OllyDbg clone that is actively developed and has a modern UI. It feels exactly like Olly, IMHO. Its TitanHide plug-in is a kernel-mode...
There's a few other plug-ins, try googling "olly anti anti debug" (yes, anti 2 times). Most plugins are hosted on OpenRCE or Tuts4You.
You need to enable the plugin. It's not rocket science. If you can't manage this, I doubt you'll manage to do anything useful with Olly.
Use OllyAdvanced plugin.
That seems like some weird virus-level behavior. Or really old PC. Or you have an infinite loop going on and you're raping resources.
The addresses are relative, not absolute. The value you put should be relative to the return address. So, something like FunctionAddress - (HookAddress + 5)
It depends on the calling convention. If you see something like this
RETN 0x10
It means execution will be returned to the value on the top of the stack, and 0x40 bytes (0x10 * 0x04) will be...
Yes, you could call it using a pointer and proper prototype, that's what you should be doing, check out TibiaSock. No, you can't hook it that way, because it is called using a near call which uses...
SendOutgoinPacket wont be in the import table. The import table is used to import functions from Dynamic Link Libraries (.DLLs), so you'll only find those functions there. It's great for hooking...
If you match the function prototype with your hook callback, the compiler will take care of everything for you.
PeekMessage is called from the IAT, so you can just use an IAT hook on it. Here's a write-up on IAT hooking from my (very old, outdated, and unused) blog...
But if Tibia changes their protocol (not too rare), your tests break. I'm all for CI, and I use it in my day job and love how powerful it is.. but most CI isn't testing very specific interactions...
This method doesn't always work (assembly code can change), and it's very hard to test with CI.
e.g. how can my CI test cases known that my healer worked without relying on the fact that my health...