Jump to content

sm0ke

Member
  • Posts

    24
  • Joined

  • Last visited

Posts posted by sm0ke

  1. The only thing IGM (In Game Menu) is good for in theos-jailed (if oyu can be bothered to set it up), is if you are hooking a method. You can then return a bool, int, string etc to perform hacks based on input / toggles of the IGM.

    Jailed hacks for things like coins, health etc need to be modified in the binary and always on unfortunately. You are unable to make hex offset changes on the fly on theos-jailed since you dont have root / kernel access to the device.

    The theos iOSGods template is for jailbroken hacks due to what i mentioned above.

     

    • Like 1
  2. 4 hours ago, DADi said:

    If you still need help with this, here's an example:

    
    inline bool GetPrefBool(NSString *key) {
        return [[[NSUserDefaults standardUserDefaults] valueForKey:key] boolValue];
    }
    
    %hook Coins
    - (int)have {
        if(GetPrefBool(@"key1")) {
            return 99999;
        }
            return %orig;
    }
    %end

    Then you will need to place a /AppName.app/Settings.bundle/Root.plist inside the IPA.

    I ended up working it out myself.

    Needed to use a settings.bundle as you said but then needed to sync the values into the userdefaults.

    Thanks for replying though.

  3. 3 hours ago, HackedByTed2 said:

    yes, it should show up in the settings of the game you injected it. The settings where you also could disable notifications of it.

    I still havnt been able to get this working properly.

    Do you have a template or a tutorial on how to do it?

  4. I am unable to get preference bundle settings working on a theos-jailed application. I am using an iPhone X on 12.2 non jailbroken. Jailed apps with preference bundle from iOSGods work on my phone so the issue is with my code.

    I have successfully created a theos-jailed project, added a preference bundle to it. The ipa compiles and i can see the GCPrefs.bundle compile (with root.plist, info.plist and a unix file) in the debug folder however it doesnt get copied into the ipa.

    I have manually copied the GCPrefs.bundle containing only the Root.plist into the IPA and i can see the settings in the settings app however my app cant read them.

    Any help would be appreciated.

    makefile (preference bundle)

    ARCHS = arm64
    
    include $(THEOS)/makefiles/common.mk
    
    BUNDLE_NAME = GCPPrefs
    GCPPrefs_FILES = GCPPrefsRootListController.m
    GCPPrefs_INSTALL_PATH = /Library/PreferenceBundles
    GCPPrefs_FRAMEWORKS = UIKit
    GCPPrefs_PRIVATE_FRAMEWORKS = Preferences
    
    include $(THEOS_MAKE_PATH)/bundle.mk
    
    internal-stage::
    	$(ECHO_NOTHING)mkdir -p $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences$(ECHO_END)
    	$(ECHO_NOTHING)cp entry.plist $(THEOS_STAGING_DIR)/Library/PreferenceLoader/Preferences/GCPPrefs.plist$(ECHO_END)

     

    makefile (theos-jailed app)

    MODULES = jailed
    ARCHS = arm64
    TARGET = iphone:clang:latest:latest
    FINALPACKAGE = 1
    FOR_RELEASE = 1
    
    include $(THEOS)/makefiles/common.mk
    
    TWEAK_NAME = GolfClashPlus
    DISPLAY_NAME = Golf Clash Plus
    BUNDLE_ID = com.sm0ke.golfclashplus
    
    GolfClashPlus_FILES = Tweak.xm
    GolfClashPlus_IPA = /Users/<USERNAME>/tweaks/Golf Clash v2.33.2.ipa
    GolfClashPlus_LDFLAGS += -Wl,-segalign,4000
    
    include $(THEOS_MAKE_PATH)/tweak.mk
    SUBPROJECTS += GCPPrefs
    include $(THEOS_MAKE_PATH)/aggregate.mk

     

    tweak.xm

    #define PLIST_PATH @"/var/mobile/Library/Preferences/com.sm0ke.gcpprefs.plist"     //here the name of your .plist (it's stored in the "Resources" folder)
     
    inline bool GetPrefBool(NSString *key)
    {
        return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:key] boolValue];
    }
    
    -(void)applicationDidBecomeActive:(id)arg0 {
        %orig(arg0);
    
        if(GetPrefBool(@"kGrids")) {    
          //Code i want to run here
    	}
    }

     

     

    Root.plist

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>PreferenceSpecifiers</key>
    	<array>
    		<dict>
    			<key>Type</key>
    			<string>PSToggleSwitchSpecifier</string>
    			<key>Title</key>
    			<string>Grids</string>
    			<key>Key</key>
    			<string>kGrids</string>
    			<key>DefaultValue</key>
    			<false/>
    			<key>defaults</key>
    			<string>com.sm0ke.gcpprefs</string>
    		</dict>
    		<dict>
    			<key>Type</key>
    			<string>PSGroupSpecifier</string>
    			<key>Title</key>
    			<string></string>
    		</dict>
    	</array>
    </dict>
    </plist>

     

    • Informative 1
  5. I have created a preference bundle inside my theos-jailed project.

    The project compiles, the app is installed, the preference appears in settings but doesnt show anything ive put in Root.plist

    Is it possible to use preference bundles on jailed phones? Has anyone successfully done this?

  6. 1 hour ago, Joey said:

    Sorry, I was just making sure :p 

     

    In order to create a menu, you’ll need Shmoo’s public Mod Menu posted in tools.

     

    However, since this one crashes on iOS 11-12 with offset patching dues substrate update, you’ll need to use MSHookMemory to patch offsets (search on iOSGods) — this only works on iOS 11-12.

     

    Shmoo’s menu uses writeData, so you gotta change that up if you’re on iOS 11/12

    Thank you very much. I will search the forums. 

    Appreciate the help 👌🏼

  7. 1 minute ago, Joey said:

    This can be done, on jailbroken devices. Non-jailbroken devices don't have access to write to memory.

    I know that it can only be done on jailbroken devices. 

    I was asking how it was done or if there was a tutorial. I cant seem to find anything other than method hooking

  8. Hi all,

    I am new to the tweak scene. I have found some hacks by changing the hex at specific offsets in IDA. 

    For example

    ADD r0, r0, #instancevar

    to

    ADD r0, r0, #0

    Is it possible to be able to turn these on/off with the in game menu?

    i was thinking something like the mshook so the values can be on/off rather than hardcoded in the binary. 

    Thanks :) 

  9. Hey Everyone,

    I am a Senior Systems Analyst for work and iOS Dev for fun in my spare time :) 

    I have been in the JB scene since day 1 and have always been fascinated by tweaks / hacks. It wasnt until recently i actually decided i wanted to contribute (better late than never)

    Hope to become a great part of this community.

    -tonev

    • Like 2
    • Winner 2
×
  • 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