Jump to content

8 posts in this topic

Recommended Posts

Posted (edited)

Hi masters,

I am quite new to this site and I am learning a new way to mod Android games, which is called Hooking functions (I am not sure if I call it right).

As I read the instruction in this GitHub project, at the Creating the libhook.so step (step 2 - Inside "hook.cpp", you'll write your hooks.), I just don't know how to write it (I am completely new to this). I have searched many websites to find a clear instruction for this but there is no one.

So now I am here to ask for your help.

Could anyone please give a sample hook (on Android, of course) when I write in the hook.cpp? Or a screenshot is also pretty good!

For example, in the picture below, I want to GetMoneyTotal (void) at offset 000BBFE8, then what should I write the code?

spacer.png

My English is bad and I don't know if I ask a properly question. I just want to learn new things from this heaven of moddings.

It would be great if any one can help. I am greatful about that.

Hope that @DADi would have a look at this thread and help.

Thanks in advance!

Updated by CeeCeeCee
Posted
1 hour ago, busmanl30 said:

Use MsFindSymbol for that, that game looks like anflex like game on iOS, Shmoo made a tut called Mshook new way

 

https://iosgods.com/topic/4295-tutorial-how-to-hack-with-mshook-new-way/

I have read that thread. But what I want is a complete sample hook to see how it looks like, or something else needed to make the mod works

Posted
17 minutes ago, CeeCeeCee said:

I have read that thread. But what I want is a complete sample hook to see how it looks like, or something else needed to make the mod works

That’s how you do it dude

  • Thanks 1
Posted
8 hours ago, busmanl30 said:

That’s how you do it dude

but I am using Android Hooking Template. is that the same as MSHook?

in MSHook, there is a tweak while the one I am using has a hook.cpp file and I need to write hooks in it

may you give me a sample hook?

Posted

  

ARM V7:


#include <jni.h>
//#include <android/log.h>
#include "libs/KittyMemory/MemoryPatch.h"
#include <libs/Substrate/CydiaSubstrate.h>
#include <memory.h>
#include <dlfcn.h>
#include <cstdio>
#include <cstdlib>
#import "include/Utils.h"

//Struct for patches
struct My_Patches {

    MemoryPatch AddCoin, AddDiamond;
	
} my_cool_Patches;

int (*old_coin)(void *instance);
int (coin)(void *instance) {
	if(instance!=NULL) {
		return 999999;
	}
	return old_coin(instance);
}

int (*old_diamond)(void *instance);
int diamond(void *instance) {
	if(instance!=NULL) {
		return 9999;
	}
	return old_diamond(instance);
}

__attribute__((constructor))
void libhook_main() {

    while(libBase == 0) { 
        libBase = get_libBase(libName); 
        sleep(1); 
    }   
	
	//KittyMemory patch example.
	my_cool_Patches.AddCoin = MemoryPatch(libName, 0xC9C448, "\x3f\x12\x04\xe3\x0f\x10\x40\xe3", 8);
	my_cool_Patches.AddCoin.Modify();
	
	my_cool_Patches.AddDiamond = MemoryPatch(libName, 0xC9C4F4, "\x0f\x17\x02\xe3", 4);
	my_cool_Patches.AddDiamond.Modify();
	
	//Usual Hook example.
	MSHookFunction((void *)getRealOffset(0xC9A8DC), (void *)coin, (void **) &old_coin);
    MSHookFunction((void *)getRealOffset(0xC9AB98), (void *)diamond, (void **) &old_diamond);
}

------------------------------------------------------------------------------------------------------------
And For ARM V8:

Just Edit This Code :

From This:

MSHookFunction((void *)getRealOffset(0xC9A8DC), (void *)coin, (void **) &old_coin);
MSHookFunction((void *)getRealOffset(0xC9AB98), (void *)diamond, (void **) &old_diamond);

To THis:

A64HookFunction((void *)getRealOffset(0xEE218DC), (void *)coin, (void **) &old_coin);
A64HookFunction((void *)getRealOffset(0xEE21A98), (void *)diamond, (void **) &old_diamond);


I Write For You which one Arm V7 & which one Arm V8
And They Are not have change just a latest lines
❤❤❤❤❤❤

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines