Jump to content

2 posts in this topic

Recommended Posts

Posted

Yo so I tried updating old shmoo’s shadowgun legends aimbot source. Got every right offset and also I’m almost 100% sure my code is good and of course, I have valid Quaternion and Vector3 implementations. The problem is, as said in title the hook causes game to crash and I can’t figure out why it’s crashing right when I enter the game, and yes I know the game uses UnityFramework as base executable. It’s crashing even if I hook update function without returning anything or modyfing at any way. Here’s how I hook:

void (*_ComponentPlayer_Update)(void *componentPlayer);

void ComponentPlayer_Update(void *componentPlayer){
_ComponentPlayer_Update(componentPlayer); 
}


float (*ComponentEnemy_GetCurrentHealth)(void *componentEnemy) = (float (*)(void *))getRealOffset(0x1D18F34);

void (*_ComponentEnemy_Update)(void *componentEnemy);

void ComponentEnemy_Update(void *componentEnemy){
    
    _ComponentEnemy_Update(componentEnemy);
}


%ctor {


MSHookFunction((void *)KittyMemory::getAbsoluteAddress("UnityFramework", 0x1D0ED98), (void *)ComponentPlayer_Update, (void **)&_ComponentPlayer_Update);

MSHookFunction((void *)KittyMemory::getAbsoluteAddress("UnityFramework", 0x1CEAC40), (void *)ComponentEnemy_Update, (void **)&_ComponentEnemy_Update);

}

I also was trying to use unityframework vmadder slide which was working fine for me in other too unityframework games(for example telekill) and it said kern_invalid_address, I’m telling you again every offset was right. Anyway if someone can help me I would really appreciate it cause for me it’s just the time to start with some advanced mods. If any additional information is needed, just tell me and I will answer 😃

Posted

#import <substrate.h> #import <dlfcn.h> #import <mach-o/dyld.h> #import <string.h> #import <stdio.h> #import <UIKit/UIKit.h> int (*old_get_Gem)(); int new_get_Gem() { return 99999; } int (*old_get_Coin)(); int new_get_Coin() { return 300000000; } // 根据镜像名称获取镜像的偏移基址 intptr_t get_image_vmaddr_slide(const char * image_name) { uint32_t count = _dyld_image_count(); for (int i = 0; i < count; i++) { const char *path = _dyld_get_image_name(i); const char *name = strrchr(path, '/'); // printf("name = %s, path = %s", name, path); if (name != NULL && strcmp(image_name, name) == 0) { return _dyld_get_image_vmaddr_slide(i); } } return -1; } static void didFinishLaunching(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef info) { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ intptr_t base_addr = get_image_vmaddr_slide("/UnityFramework"); printf("didFinishLaunching-base_addr = 0x%lx", base_addr); MSHookFunction((void *)(base_addr + 0x1E15468), (void *)&new_get_Gem, (void **)&old_get_Gem); MSHookFunction((void *)(base_addr + 0x1E1545C), (void *)&new_get_Coin, (void **)&old_get_Coin); }); } void launchEvent() { CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), NULL, &didFinishLaunching, (CFStringRef)UIApplicationDidFinishLaunchingNotification, NULL, CFNotificationSuspensionBehaviorDrop); } __attribute__((constructor)) static void initialize() { launchEvent(); }

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