Jump to content

Sniper Arena v0.8.9 Aimbot Source


19 posts in this topic

Recommended Posts

Updated (edited)

MORE ON GITHUB: https://github.com/shmoo419/SniperArenaAimbot

 

/*
Sniper Arena v0.8.9 aimbot source code.
Made by shmoo.
Function naming conventions:
    ClassName_FunctionName(arguments)
...for easy reference in the included dump.
*/

#import "Macros.h"
#import "Config.h"
#import <substrate.h>
#import <mach-o/dyld.h>

uint64_t getRealOffset(uint64_t);

struct me_t {
	void *object;
	void *camera;
	Vector3 location;
	int team;
};

struct target_t {
	void *object;
	Vector3 location;
	double health;
	float distanceFromMe;
};

me_t *me;
target_t *currentTarget;

Quaternion lookRotation;

void *(*Component_GetTransform)(void *component) = (void *(*)(void *))getRealOffset(0x10079DDD8);
void (*Transform_INTERNAL_GetPosition)(void *transform, Vector3 *out) = (void (*)(void *, Vector3 *))getRealOffset(0x1007E7ACC);

/*
If you don't understand why I'm comparing Vector3's this way, go here:
https://noobtuts.com/cpp/compare-float-values

Returns true if second falls in bounds with first.
*/
bool compareVectorsWithTolerance(Vector3 first, Vector3 second, float tolerance){
	float firstXSubbed = first.x - tolerance;
	float firstXAdded = first.x + tolerance;
	
	float firstYSubbed = first.y - tolerance;
	float firstYAdded = first.y + tolerance;
	
	float firstZSubbed = first.z - tolerance;
	float firstZAdded = first.z + tolerance;
	
	bool secondXFallsBetween = second.x >= firstXSubbed && second.x <= firstXAdded;
	bool secondYFallsBetween = second.y >= firstYSubbed && second.y <= firstYAdded;
	bool secondZFallsBetween = second.z >= firstZSubbed && second.z <= firstZAdded;
	
	return secondXFallsBetween && secondYFallsBetween && secondZFallsBetween;
}

void (*GameEnemy_Update)(void *gameEnemy);

/*
Even though this class is called GameEnemy, it handles every player object in the match, including ours.
When you're making an aimbot, remember to test every function from every class that catches your eye.
*/
void _GameEnemy_Update(void *gameEnemy){
	if(!me){
		me = new me_t();
	}
	else if(!currentTarget){
		currentTarget = new target_t();
	}
	else{
		/*
		My player object should be where my camera is.
		If you cannot find a way to get your player object, or you cannot find a way to differentiate the other objects from your object, this way is fine.
		You just need to make sure that what you think is your camera is actually your camera.
		I made sure my camera was my camera by setting its field of view to 90.
		*/
		if(me->camera){
			/* Get the location of where our camera is, and initialize me->location with it. */
			Transform_INTERNAL_GetPosition(Component_GetTransform(me->camera), &me->location);
			
			/*
			We have to find our player object now. Why?
			To make sure that we don't aim at ourselves. This aimbot is based on distance.
			Every GameEnemy object, including ours, passes through this function. We just have to find it.
			No sense in doing this when my camera is NULL because me->location won't be initialized.
			*/	
			Vector3 gameEnemyLocation;
			
			Transform_INTERNAL_GetPosition(Component_GetTransform(gameEnemy), &gameEnemyLocation);
			
			/*
			There is a very large chance our camera will not be at the exact same location we are.
			However, it is close enough to us so that we're able to get our real object.
			*/
			if(compareVectorsWithTolerance(me->location, gameEnemyLocation, 4.0f)){
				me->object = gameEnemy;
				
				/* Since we have our player object, we can safely get our team. */
				me->team = *(int *)((uint64_t)me->object + 0x48);
			}
		}
		
		/*
		The main aimbot code starts here.
		Obviously, we don't want to examine our player object when doing this. We only want to pull data from it.
		Taking advantage of short circuiting here.
		*/
		if(me->object && me->object != gameEnemy){
			/*
			Choose someone to lock onto.
			Conditions:
				- cannot be on my team
				- cannot be dead
			*/
			
			bool differentTeam = me->team != *(int *)((uint64_t)gameEnemy + 0x48);
			double health = *(double *)((uint64_t)gameEnemy + 0x60);
			bool alive = health > 1;
			
			/*
			In order to save a headache in the future for this first search, just find someone. 
			We know we haven't found anyone if currentTarget's object is NULL.
			*/	
			if(!currentTarget->object){
				if(differentTeam && alive){
					/* We found someone! */
					currentTarget->object = gameEnemy;
					currentTarget->health = health;
					
					/* In case you miss this line, we are initializing currentTarget->location. */
					Transform_INTERNAL_GetPosition(Component_GetTransform(currentTarget->object), &currentTarget->location);
					
					currentTarget->distanceFromMe = Vector3::distance(me->location, currentTarget->location);
				}
				
				GameEnemy_Update(gameEnemy);
				
				return;
			}
			else{
				/*
				Do not aim at a dead enemy.
				Start a new search right away if this is the case.
				*/
				if(currentTarget->health < 1){
					currentTarget = NULL;
					
					GameEnemy_Update(gameEnemy);
					
					return;
				}
				
				/* currentTarget->object is initialized, so update the the data for it. */
				if(gameEnemy == currentTarget->object){
					currentTarget->health = *(double *)((uint64_t)currentTarget->object + 0x60);
					
					/*
					In this game, you don't move from where you are.
					This line is just for safety because you can't assume anything when making this kind of thing.
					*/
					Transform_INTERNAL_GetPosition(Component_GetTransform(currentTarget->object), &currentTarget->location);
					
					currentTarget->distanceFromMe = Vector3::distance(me->location, currentTarget->location);
				}
				
				/*
				Try and find someone new to lock onto.
				We are using the differentTeam and health variables from above.
				Why? No sense in pulling the exact same data twice.
				*/
				Vector3 potentialTargetLocation;
				Transform_INTERNAL_GetPosition(Component_GetTransform(gameEnemy), &potentialTargetLocation);
				
				float potentialEnemyDistanceFromMe = Vector3::distance(me->location, potentialTargetLocation);
				
				if(differentTeam && alive && potentialEnemyDistanceFromMe < currentTarget->distanceFromMe){
					/*
					We found someone new!
					Update the values for currentTarget to make the rotation.
					*/
					currentTarget->object = gameEnemy;
					currentTarget->health = health;
					currentTarget->location = potentialTargetLocation;
					currentTarget->distanceFromMe = potentialEnemyDistanceFromMe;
				}
				
				/*
				Make the rotation to face currentTarget.
				Watch the video in README.md to get know what [SliderHook getSliderValueForHook:@"Y Value Adjustment"] is used for.
				There's also no point of including the mod menu setup code in this, so just pretend it is there.
				*/
				lookRotation = Quaternion::LookRotation((currentTarget->location + Vector3(0, [SliderHook getSliderValueForHook:@"Y Value Adjustment"], 0)) - me->location, Vector3(0, 1, 0));
			}
		}
	}
	
	GameEnemy_Update(gameEnemy);
}

void (*GameEnemyFinder_Update)(void *gameEnemyFinder);

/*
This function is hooked just so I have a way of getting the main camera for my player object.
For some reason I wasn't able to get my camera with Unity's functions.
*/
void _GameEnemyFinder_Update(void *gameEnemyFinder){
	if(!me){
		me = new me_t();
	}
	else{
		void *mainCamera = *(void **)((uint64_t)gameEnemyFinder + 0x20);
		
		/* We don't want a NULL camera. */
		if(mainCamera){
			me->camera = mainCamera;
		}
	}
	
	GameEnemyFinder_Update(gameEnemyFinder);
}

void (*GameLooking_Start)(void *gameLooking) = (void (*)(void *))getRealOffset(0x100250778);

void (*GameLooking_Update)(void *gameLooking);

/*
When you are in game, the map is represented by a 2D plane as far as rotations are concerned, and our rotation is represented by a vector.
In the rotation vector:
	- x = x coordinate
	- y = y coordinate
	- z = rotation acceleration (slows down over time, think mouse acceleration)

Because of this, I thought it was impossible to make an aimbot for this game.
*/
void _GameLooking_Update(void *gameLooking){
	*(Quaternion *)((uint64_t)gameLooking + 0x50) = lookRotation;
	
	GameLooking_Update(gameLooking);
	
	/*
	After an *extremely* long time of analysis, I determined that I have no chance of changing defaultRotation (the instance variable at gameLooking+0x50) AND having those changes take effect in game.
	After analyzing most of the functions in the GameLooking class, I figured out that the only place defaultRotation's value is ever used is in GameLooking::Start.
	This is a very dirty hack because Start should only be called once before Update is called on any script in Unity. But it works.
	From the Unity docs: "Start is called exactly once in the lifetime of the script."
	*/
	GameLooking_Start(gameLooking);
}

%ctor {
	MSHookFunction((void *)getRealOffset(0x10024D990), (void *)_GameEnemy_Update, (void **)&GameEnemy_Update);
	MSHookFunction((void *)getRealOffset(0x10024E87C), (void *)_GameEnemyFinder_Update, (void **)&GameEnemyFinder_Update);
	MSHookFunction((void *)getRealOffset(0x100250B04), (void *)_GameLooking_Update, (void **)&GameLooking_Update);
}

uint64_t getRealOffset(uint64_t offset){
    return _dyld_get_image_vmaddr_slide(0)+offset;
}

 

Updated by Guest
Posted
Just now, ZahirSher said:

@shmoo can this be done to any unity shooter game?

Yes this can be done to Free Fire.

Posted
Just now, ZahirSher said:

@shmoo can this be done to any unity shooter game?

Yes as long as you don't give up. This took close to five hours to make because the game was so "exotic". I don't know another word. hardest game I've ever had to make an aimbot for

Just now, DiDA said:

Yes this can be done to Free Fire.

oooo I should do free fire now actually instead of guns of boom YES HYPE

  • Our picks

    • Jurassic World Alive v3.18.31 +3 Cheats
      Mod APK Game Name: Jurassic World Alive By Ludia Games inc.
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.ludia.jw

       

      🤩 Hack Features

      - Dumb Dinos
      - Inf. Battery
      - VIP Enabled

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
        • Agree
        • Haha
        • Winner
        • Like
      • 6 replies
    • Transcender : Idle RPG v2.0.1 +3 Cheats
      Mod APK Game Name: Transcender : Idle RPG By Rookie Project Co., Ltd.
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.playgames.transcender

       

      🤩 Hack Features

      - Damage Multiplier
      - Never Die
      - Guest Login

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
        • Agree
        • Thanks
        • Winner
        • Like
      • 13 replies
    • World Soccer Champs v11.1 +1 Jailed Cheat [ Unlimited Bux ]
      Modded/Hacked App: World Soccer Champs By Monkey I-Brow Studios
      Bundle ID: com.monkeyibrowstudios.worldsoccerchamps
      iTunes Store Link: https://apps.apple.com/us/app/world-soccer-champs/id1516548776
       

      Hack Features:
      - Unlimited Bux -> Head over to the Shop and either write a review, watch an ad or follow their Instagram.


      Jailbreak required hack(s): [Mod Menu Hack] World Soccer Champs v8.1 +1 Cheat [ Unlimited Bux ] - Free Jailbroken Cydia Cheats - iOSGods
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 213 replies
    • MY HERO ULTRA IMPACT +5 Jailed Cheats
      Modded/Hacked App: MY HERO ULTRA IMPACT By Bandai Namco Entertainment Inc.
      Bundle ID: jp.co.bandainamcoent.BNEI0379
      iTunes Store Link: https://apps.apple.com/us/app/my-hero-ultra-impact/id1548871462?uo=4


      Mod Requirements:
      - Non-Jailbroken/Jailed or Jailbroken iPhone/iPad/iPod Touch.
      - Sideloadly / Cydia Impactor or alternatives.
      - A Computer Running Windows/macOS/Linux with iTunes installed.


      Hack Features:
      - Damage Multiplier
      - Defense Multiplier 
      - Skill Always Active
      - Auto Win
      - Weak Enemies


      Jailbreak required hack(s): 


      iOS Hack Download IPA Link:

      Hidden Content

      Download via the iOSGods App








      PC Installation Instructions:
      STEP 1: If necessary, uninstall the app if you have it installed on your iDevice. Some hacked IPAs will install as a duplicate app. Make sure to back it up so you don't lose your progress.
      STEP 2: Download the pre-hacked .IPA file from the link above to your computer. To download from the iOSGods App, see this tutorial topic.
      STEP 3: Download Sideloadly and install it on your PC.
      STEP 4: Open/Run Sideloadly on your computer, connect your iOS Device, and wait until your device name shows up.
      STEP 5: Once your iDevice appears, drag the modded .IPA file you downloaded and drop it inside the Sideloadly application.
      STEP 6: You will now have to enter your iTunes/Apple ID email login, press "Start" & then you will be asked to enter your password. Go ahead and enter the required information.
      STEP 7: Wait for Sideloadly to finish sideloading/installing the hacked IPA. If there are issues during installation, please read the note below.
      STEP 8: Once the installation is complete and you see the app on your Home Screen, you will need to go to Settings -> General -> Profiles/VPN & Device Management. Once there, tap on the email you entered from step 6, and then tap on 'Trust [email protected]'.
      STEP 9: Now go to your Home Screen and open the newly installed app and everything should work fine. You may need to follow further per app instructions inside the hack's popup in-game.

      NOTE: iOS/iPadOS 16 and later, you must enable Developer Mode. For free Apple Developer accounts, you will need to repeat this process every 7 days. Jailbroken iDevices can also use Sideloadly/Filza/IPA Installer to normally install the IPA with AppSync. If you have any questions or problems, read our Sideloadly FAQ section of the topic and if you don't find a solution, please post your issue down below and we'll do our best to help! If the hack does work for you, post your feedback below and help out other fellow members that are encountering issues.


      Credits:
      - AlyssaX64


      Cheat Video/Screenshots:

      N/A
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 85 replies
    • Punko.io: Tower Defense v1.0.33 Jailed Cheats +5
      Modded/Hacked App: Punko.io: Tower Defense TD By Blind Arcade SAS
      Bundle ID: com.Agonalea.Punko.io
      App Store Link: https://apps.apple.com/us/app/punko-io-tower-defense-td/id6463813666?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - God Mode
      - One Hit Kill
      - Free Store
      - Infinite Card Energy
      - Instant Deploy Card

       

      Jailbroken Hack: https://iosgods.com/topic/205003-punkoio-tower-defense-cheats-auto-update-5/

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/205002-punkoio-tower-defense-v1033-jailed-cheats-5/
        • Like
      • 1 reply
    • SnapEdit: Photo Editor AI Modded (Auto Update) +1
      Modded/Hacked App: SnapEdit - Remove Objects AI By SilverAI Joint Stock Company
      Bundle ID: com.sfun.snapedit
      App Store Link: https://apps.apple.com/us/app/snapedit-remove-objects-ai/id1611282499?uo=4

       

      📌 Mod Requirements

      - Jailbroken iPhone or iPad.
      - iGameGod / Filza / iMazing.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak (from Sileo, Cydia or Zebra).

       

      🤩 Hack Features

      - PREMIUM

       

      Free Non-Jailbroken Hack: https://iosgods.com/topic/197205-snapedit-remove-objects-ai-v594-jailed-mod-1/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/175364-snapedit-remove-objects-ai-modded-v594-1/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 108 replies
    • Claw Master – Roguelike Hero v1.0.7.2 [ +15 Cheats  ] Currency Max
      Modded/Hacked App: Claw Master – Roguelike Hero By AI GAMES FZ LLC
      Bundle ID: hero.claw.master
      App Store Link: https://apps.apple.com/us/app/claw-master-roguelike-hero/id6755685940?uo=4

      🤩 Hack Features

      - Auto ADS OFF
      - Unlimited Gems
      - Unlimited Coins
      - Unlimited Energy
      - Unlimited Hero Cards / Easy To Unlock Just 1 Earn
      - Unlimited Dungeon Ticket
      - Unlimited Tower Ticket
      - Unlimited Relics Keys
      - Unlimited Battle Red Star
      - Unlimited Battle Yellow Stars
      - Unlimited Luck Balls
      - Unlimited Reroll Dice
      - Unlimited Resurrection Stone
      - Unlimited Shuffle Coins
      - DMG
      • 3 replies
    • Claw Master – Roguelike Hero v1.0.7.2 [ +15 Jailed ] Currency Max
      Modded/Hacked App: Claw Master – Roguelike Hero By AI GAMES FZ LLC
      Bundle ID: hero.claw.master
      App Store Link: https://apps.apple.com/us/app/claw-master-roguelike-hero/id6755685940?uo=4

      🤩 Hack Features

      - Auto ADS OFF
      - Unlimited Gems
      - Unlimited Coins
      - Unlimited Energy
      - Unlimited Hero Cards / Easy To Unlock Just 1 Earn
      - Unlimited Dungeon Ticket
      - Unlimited Tower Ticket
      - Unlimited Relics Keys
      - Unlimited Battle Red Star
      - Unlimited Battle Yellow Stars
      - Unlimited Luck Balls
      - Unlimited Reroll Dice
      - Unlimited Resurrection Stone
      - Unlimited Shuffle Coins
      - DMG
      • 2 replies
    • Legend of Survivors V1.3.7 [ +17 Jailed ] Currency Max
      Modded/Hacked App: Legend of Survivors By ABI GLOBAL LTD.
      Bundle ID: com.abi.legendofsurvivors
      iTunes Store Link: https://apps.apple.com/us/app/legend-of-survivors/id6489580730?uo=4


      Hack Features:

      - NO ADS

      - Gems 

      - Gold

      - Energy 

      - Material

      - Health Max [ Equip & Upgrade ]

      - Damage [ Equip & Upgrade ]

      - Skill Cooldown

      - EXP + Level [ Patrol Reward ]

      - Patrol Reward [ Claim Unlimited ]

      - Growth Pack Unlock

      - Growth Pack [ Claim Unlimited ]

      - Monthly card Pack Unlock

      - Monthly card Pack [ Claim Unlimited ]


      Jailbreak required hack(s): https://iosgods.com/forum/5-game-cheats-hack-requests/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 77 replies
    • Legend of Survivors V1.3.7 [ +17 Cheats ] Currency Max
      Modded/Hacked App: Legend of Survivors By ABI GLOBAL LTD.
      Bundle ID: com.abi.legendofsurvivors
      iTunes Store Link: https://apps.apple.com/us/app/legend-of-survivors/id6489580730?uo=4


      Hack Features:
      - IAP Free [ Buy Anything - Gems Gold Ads Premium Packs ]

      - NO ADS

      - Gems 

      - Gold

      - Energy 

      - Material

      - Health Max [ Equip & Upgrade ]

      - Damage [ Equip & Upgrade ]

      - Skill Cooldown

      - EXP + Level [ Patrol Reward ]

      - Patrol Reward [ Claim Unlimited ]

      - Growth Pack Unlock

      - Growth Pack [ Claim Unlimited ]

      - Monthly card Pack Unlock

      - Monthly card Pack [ Claim Unlimited ]
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 149 replies
    • Zombastic: Time to Survive v1.26.0 [ +3 Jailed ] Good MOD
      Modded/Hacked App: Zombastic: Time to Survive By Playmotional Limited
      Bundle ID: com.playmotional.survival
      iTunes Store Link: https://apps.apple.com/us/app/zombastic-time-to-survive/id6475173073?uo=4


      Hack Features:
      - Currency & Resources Unlimited [ Disable When Playing ] 





      Jailbreak required hack(s): https://iosgods.com/forum/5-game-cheats-hack-requests/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 103 replies
    • Zombastic: Time to Survive v1.26.0 [ +3 Cheats ] Good MOD
      Modded/Hacked App: Zombastic: Time to Survive By Playmotional Limited
      Bundle ID: com.playmotional.survival
      iTunes Store Link: https://apps.apple.com/us/app/zombastic-time-to-survive/id6475173073?uo=4


      Hack Features:
      - Currency & Resources Unlimited [ Disable When Playing ] 





      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/forum/79-no-jailbreak-section/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 79 replies
×
  • 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