Jump to content

buildng a theos tweak ios 12.1.2


syto203

6 posts in this topic

Recommended Posts

Posted

the next step after this getting solved

is to create the tweak. i used the template v3.1 available from

however, i'm getting the following error when runing "make package install'

iPhone:~/bloodyharry root# make package install                                                                                                         
> Making all for tweak BloodyHarry…
==> Preprocessing Tweak.xm…
==> Preprocessing Tweak.xm…
==> Compiling Tweak.xm (arm64)…
==> Compiling Tweak.xm (armv7)…
==> Linking tweak BloodyHarry (armv7)…
ld: malformed file
/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd:2:42: error: unknown bit value
archs:           [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
                                         ^~~~~~
 file '/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd'
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/armv7/BloodyHarry.dylib] Error 1
rm /var/root/bloodyharry/.theos/obj/armv7/Tweak.xm.mm
make[2]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/armv7/BloodyHarry.dylib] Error 2
make[2]: *** Waiting for unfinished jobs....
==> Linking tweak BloodyHarry (arm64)…
ld: malformed file
/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd:2:42: error: unknown bit value
archs:           [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
                                         ^~~~~~
 file '/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd'
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/arm64/BloodyHarry.dylib] Error 1
rm /var/root/bloodyharry/.theos/obj/arm64/Tweak.xm.mm
make[2]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/arm64/BloodyHarry.dylib] Error 2
make[1]: *** [/var/theos/makefiles/instance/library.mk:24: internal-library-all_] Error 2
make: *** [/var/theos/makefiles/master/rules.mk:123: BloodyHarry.all.tweak.variables] Error 2

 

Posted

Copying the CydiaSubstrate binary to $THEOS/vendor/lib/CydiaSubstrate.framework solved the CydiaSubstrate.tbd (source)

this remains:

> Making all for tweak bloodyharry…
==> Preprocessing Tweak.xm…
==> Preprocessing Tweak.xm…
==> Compiling Tweak.xm (arm64)…
==> Compiling Tweak.xm (armv7)…
==> Linking tweak bloodyharry (armv7)…
ld: warning: text-based stub file /var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd and library file /var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate are out of sync. Falling back to library file for linking.
==> Generating debug symbols for bloodyharry…
==> Stripping bloodyharry (armv7)…
==> Linking tweak bloodyharry (arm64)…
ld: warning: text-based stub file /var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd and library file /var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate are out of sync. Falling back to library file for linking.
==> Generating debug symbols for bloodyharry…
==> Stripping bloodyharry (arm64)…
==> Merging tweak bloodyharry…
==> Signing bloodyharry…
> Making all in bloodyharrySettings…
> Making all for bundle bloodyharry…
==> Copying resource directories into the bundle wrapper…
==> Compiling bloodyharry.mm (arm64)…
==> Compiling bloodyharry.mm (armv7)…
==> Linking bundle bloodyharry (arm64)…
ld: framework not found Preferences
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [/var/theos/makefiles/instance/bundle.mk:37: /var/root/bloodyharry/.theos/obj/arm64/bloodyharry.bundle/bloodyharry] Error 1
make[3]: *** [/var/theos/makefiles/instance/bundle.mk:37: /var/root/bloodyharry/.theos/obj/arm64/bloodyharry.bundle/bloodyharry] Error 2
make[3]: *** Waiting for unfinished jobs....
==> Linking bundle bloodyharry (armv7)…
ld: framework not found Preferences
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [/var/theos/makefiles/instance/bundle.mk:37: /var/root/bloodyharry/.theos/obj/armv7/bloodyharry.bundle/bloodyharry] Error 1
make[3]: *** [/var/theos/makefiles/instance/bundle.mk:37: /var/root/bloodyharry/.theos/obj/armv7/bloodyharry.bundle/bloodyharry] Error 2
make[2]: *** [/var/theos/makefiles/instance/bundle.mk:26: internal-bundle-all_] Error 2
make[1]: *** [/var/theos/makefiles/master/rules.mk:123: bloodyharry.all.bundle.variables] Error 2
make: *** [/var/theos/makefiles/master/aggregate.mk:12: internal-all] Error 2

 

Posted

i tried 9.2,9.3,10.2 and 10.3 and none of them had the preferences framework. (edit: i tried the sdks from $theosinstaller sdk-version)

i did find this repo with sdks for 9.3-12.2 and that fixed it.

i used the 10.3 SDK

https://github.com/DavidSkrundz/sdks

on another topic the patch didn't work even thought it's exactly what was in the tutorial.

here is my tweak.xm only the first 2 keys are related to this game with the first 1 being the NOPing of the STR as referenced from here

On 8/22/2018 at 1:30 PM, HackedByTed2 said:

Compiling a hack with theos

Open your tweak.xm from your theos project & find this:


    if(GetPrefBool(@"key1")) {
      vm_writeData(0x123456, 0x123456); //The first value should be the offset & the second value the hackedHex
    }

If I wanted to change it to NOP I would change it to this:


    if(GetPrefBool(@"key1")) {
      vm_writeData(0x10092DEE8, 0x1F2003D5); // 
    }

 

How do I know it would be "0x1F2003D5"?

Well iOSGods has this awesome website: http://armconverter.com/

I typed "NOP" & in the  " ARM64 HEX" box I got the Hex of it.

You can convert any valid arm instruction here, so if you wanted to hack the LDR, you could have written this in the box:

LDR W8, [X23] & it would give you this value: 0xE80240B9

 

 

@import Foundation;
@import UIKit;
#import <substrate.h>
#import "vm_writeData.h"

// To MSHook Offsets, use https://iosgods.com/topic/22718-mshook-offsets/
// To Generate Tweak.xm and Preferences Plist https://iosgods.com/topic/24138-code-inject/

#define PLIST_PATH @"/var/mobile/Library/Preferences/com.bloodyharry.syto203.plist"

inline bool GetPrefBool(NSString *key) {
		return [[[NSDictionary dictionaryWithContentsOfFile:PLIST_PATH] valueForKey:key] boolValue];
}


// Add your MS/Flex/MSHook Code here. Examples can be found on iOSGods.


%ctor {

	// Code Injection example
    if(GetPrefBool(@"key1")) {
      vm_writeData(0x10092DEE8,0x1F2003D5); // 
    }

    if(GetPrefBool(@"key2")) {
      vm_writeData(0x10092DED8,0x48018052); // 
    }

    if(GetPrefBool(@"key3")) {
      vm_writeData(0x1806B8, 0x381C); // ARMv7Offsets
      vm_writeData(0x2FA51C, 0x381C); // 
      vm_writeData(0x1001D98E0, 0x1F2003D5); // ARM64Offsets
      vm_writeData(0x10038DD0C, 0x1F2003D5); // 
    }

}



// Automatic Popup Code
void setup() {
    UIAlertController *igcredits = [UIAlertController alertControllerWithTitle:@"Made for iOSGods.com" message:@"Bloody Harry Cheats by syto203 for iOSGods.com!\n\nVisit the hack's official topic on iOSGods for more information and updates!" preferredStyle:UIAlertControllerStyleAlert];


    UIAlertAction *iosgods = [UIAlertAction actionWithTitle:@"Visit iOSGods.com!" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
        UIApplication *application = [UIApplication sharedApplication];
        NSURL *URL = [NSURL URLWithString:@"https://iosgods.com/forum/13-free-jailbroken-cydia-cheats/"];
        [application openURL:URL options:@{} completionHandler:^(BOOL success) {
            if (success) {
                //NSLog(@"Opened url");
            }
        }];
        
    }];
    
    UIAlertAction *clubs = [UIAlertAction actionWithTitle:@"Visit the Clubs!" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
        UIApplication *application = [UIApplication sharedApplication];
        NSURL *URL = [NSURL URLWithString:@"https://iosgods.com/clubs/"];
        [application openURL:URL options:@{} completionHandler:^(BOOL success) {
            if (success) {
                //NSLog(@"Opened url");
            }
        }];
    }];
    
    UIAlertAction *thankyou = [UIAlertAction actionWithTitle:@"Thank you!" style:UIAlertActionStyleCancel handler:nil];
    
    [igcredits addAction:iosgods];
    [igcredits addAction:clubs];
    [igcredits addAction:thankyou];


    [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:igcredits animated:true completion:nil];
}

void unsubscribeToLaunchEvent(void);

static void didFinishLaunching(CFNotificationCenterRef center, void *observer,
                               CFStringRef name, const void *object, CFDictionaryRef info) {
    setup();
    unsubscribeToLaunchEvent();
}

const char *authObserver = "authObserver";

void subscribeToLaunchEvent() {
    CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), authObserver, &didFinishLaunching,
                                    (CFStringRef)UIApplicationDidFinishLaunchingNotification,
                                    NULL, CFNotificationSuspensionBehaviorDrop);
}

void unsubscribeToLaunchEvent() {
    CFNotificationCenterRemoveObserver(CFNotificationCenterGetLocalCenter(), authObserver,
                                       (CFStringRef)UIApplicationDidFinishLaunchingNotification, NULL);
}

__attribute__((constructor)) static void initialize() {
    subscribeToLaunchEvent();
}

 

 

Posted
On 5/23/2019 at 3:53 AM, syto203 said:

the next step after this getting solved

is to create the tweak. i used the template v3.1 available from

however, i'm getting the following error when runing "make package install'


iPhone:~/bloodyharry root# make package install                                                                                                         
> Making all for tweak BloodyHarry…
==> Preprocessing Tweak.xm…
==> Preprocessing Tweak.xm…
==> Compiling Tweak.xm (arm64)…
==> Compiling Tweak.xm (armv7)…
==> Linking tweak BloodyHarry (armv7)…
ld: malformed file
/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd:2:42: error: unknown bit value
archs:           [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
                                         ^~~~~~
 file '/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd'
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/armv7/BloodyHarry.dylib] Error 1
rm /var/root/bloodyharry/.theos/obj/armv7/Tweak.xm.mm
make[2]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/armv7/BloodyHarry.dylib] Error 2
make[2]: *** Waiting for unfinished jobs....
==> Linking tweak BloodyHarry (arm64)…
ld: malformed file
/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd:2:42: error: unknown bit value
archs:           [ armv7, armv7s, arm64, arm64e, i386, x86_64 ]
                                         ^~~~~~
 file '/var/theos/vendor/lib/CydiaSubstrate.framework/CydiaSubstrate.tbd'
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/arm64/BloodyHarry.dylib] Error 1
rm /var/root/bloodyharry/.theos/obj/arm64/Tweak.xm.mm
make[2]: *** [/var/theos/makefiles/instance/library.mk:33: /var/root/bloodyharry/.theos/obj/arm64/BloodyHarry.dylib] Error 2
make[1]: *** [/var/theos/makefiles/instance/library.mk:24: internal-library-all_] Error 2
make: *** [/var/theos/makefiles/master/rules.mk:123: BloodyHarry.all.tweak.variables] Error 2

 

Did you ever find a fix for this its happening with me too

Posted

if you are building on an iDevice choose only one sdk from ios 11 if you are using an A11 device.(iphone x and iphone 8) and in the make file set the used archs to "ARCHS = arm64"

@Yueky

also refer to this

the fix was the last post before your question.

Archived

This topic is now archived and is closed to further replies.

  • Our picks

    • The Battle Cats Cheats v15.0.2 +2
      Modded/Hacked App: The Battle Cats by ponos corporation
      Bundle ID: jp.co.ponos.battlecatsen
      iTunes Store Link: https://apps.apple.com/us/app/the-battle-cats/id850057092?uo=4&at=1010lce4


      Hack Features:
      - Infinite Cash
      - OHK Linked

      NOTE: Please don't ask me for currencies hack since this is the best I can do


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/124447-arm64-the-battle-cats-v940-jailed-cheats-2/


      iOS Hack Download Link: https://iosgods.com/topic/124448-arm64-the-battle-cats-cheats-v950-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 928 replies
    • SimCity BuildIt Cheats v1.73.1 +1 [ Freeze Currencies ]
      Modded/Hacked App: SimCity BuildIt By EA Swiss Sarl
      Bundle ID: com.ea.simcitymobile.bv
      iTunes Store Link: https://apps.apple.com/us/app/simcity-buildit/id913292932?uo=4


      Hack Features:
      - Infinite Currencies


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/124792-arm64-simcity-buildit-v1412-jailed-cheats-1/


      iOS Hack Download Link: https://iosgods.com/topic/157687-simcity-buildit-cheats-v1415-1/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 718 replies
    • Cooking Craze: Restaurant Game Cheats v2.11.0 +1
      Modded/Hacked App: Cooking Craze: Restaurant Game By Big Fish Games, Inc
      Bundle ID: com.bigfishgames.cookingempireuniversalf2p
      iTunes Store Link: https://apps.apple.com/us/app/cooking-craze-restaurant-game/id1029094059?uo=4

       

      🔧 Mod Requirements

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

       

      🚀 Hack Features

      - Free Store (not Free iAP)


      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/topic/191693-cooking-craze-restaurant-game-v240-jailed-cheats-1/

       

      📥 iOS Hack Download Link: https://iosgods.com/topic/191694-cooking-craze-restaurant-game-cheats-v250-1/
        • Agree
        • Like
      • 10 replies
    • [ GrandChase TW] 永恆冒險 Cheats v1.97.2 +3
      Modded/Hacked App: 永恆冒險 By HaoPlay Limited
      Bundle ID: tw.txwy.ios.grandchase
      iTunes Store Link: https://apps.apple.com/tw/app/%E6%B0%B8%E6%81%86%E5%86%92%E9%9A%AA/id1434266148?uo=4


      Hack Features:
      - Multiply Attack
      - Multiply Defense
      - Instant Skills
      - Weak Enemies


      ViP Non-Jailbroken Hack: https://iosgods.com/topic/167594-grandchase-tw-%E6%B0%B8%E6%81%86%E5%86%92%E9%9A%AA-v1744-jailed-cheats-2/


      iOS Hack Download Link: https://iosgods.com/topic/144913-grandchase-tw-%E6%B0%B8%E6%81%86%E5%86%92%E9%9A%AA-cheats-v1812-3/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 155 replies
    • Prison Empire Tycoon-Idle Game Cheats v4.25 +2
      Modded/Hacked App: Prison Empire Tycoon-Idle Game by Digital Things Sociedad Limitada
      Bundle ID: com.codigames.idle.prison.empire.manager.tycoon
      iTunes Store Link: https://apps.apple.com/us/app/prison-empire-tycoon-idle-game/id1508490923?uo=4&at=1010lce4


      Hack Features:
      - Infinite Cash
      - No Ads


      Non-Jailbroken & No Jailbreak required hack(s):  https://iosgods.com/topic/128324-arm64-prison-empire-tycoon%EF%BC%8Didle-game-v102-jailed-cheats-2/

       
      iOS Hack Download Link: https://iosgods.com/topic/128322-arm64-prison-empire-tycoon%EF%BC%8Didle-game-cheats-all-versions-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,167 replies
    • GrandChase Cheats v1.97.2 +4 [ Multiply Attack & More ]
      Modded/Hacked App: GrandChase By KOG co., Ltd
      Bundle ID: com.kog.grandchaseglobal
      iTunes Store Link: https://itunes.apple.com/us/app/grandchase/id1385904294?mt=8&uo=4&at=1010lce4

      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iFile / Filza / iFunBox / iTools or any other file managers for iOS.
      - Cydia Substrate or Substitute.
      - PreferenceLoader (from Cydia or Sileo).


      Hack Features:
      - x Player Damage - x1 - 100
      - x Player HP - x1 - 100
      - Auto-Win
      - Unlimited Skills

      All features are unlinked and only for player, you!

      This hack is an In-Game Mod Menu (iGMM). In order to activate the Mod Menu, tap on the iOSGods button found inside the app. This hack works on the latest x64 or ARM64 iDevices: iPhone 5s, 6, 6 Plus, 6s, 6s Plus, 7, 7 Plus, 8, 8 Plus, X, Xr, Xs, Xs Max, SE, iPod Touch 6G, iPad Air, Air 2, Pro & iPad Mini 2, 3, 4 and later.
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,508 replies
    • Rick and Morty: Pocket Mortys v2.40.5 Jailed Cheats +1
      Modded/Hacked App: Rick and Morty: Pocket Mortys by Turner Broadcasting System, Inc.
      Bundle ID: com.turner.pocketmorties
      iTunes Store Link: https://itunes.apple.com/us/app/rick-and-morty-pocket-mortys/id992640880?mt=8&uo=4&at=1010lce4



      Hack Features:
      - Infinite Schmeckles
      - Infinite Coupons


      Hack Download Link: https://iosgods.com/topic/86695-arm64-rick-and-morty-pocket-mortys-v271-jailed-cheats-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 451 replies
    • Stick War: Legacy v2025.1.227 Jailed Cheats +3
      Modded/Hacked App: Stick War: Legacy by 1004319 Alberta Ltd
      Bundle ID: com.stickpage.stickwar
      iTunes Store Link: https://apps.apple.com/us/app/stick-war-legacy/id1001780528?uo=4&at=1010lce4


      Hack Features:
      - Infinite Gold
      - Infinite Gem
      - Fast Build


      Jailbreak required hack(s):  https://iosgods.com/topic/96769-stick-war-legacy-v20235701-jailed-cheats-3/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 435 replies
    • BitLife - Life Simulator Cheats v3.22.1 +2
      Modded/Hacked App: BitLife - Life Simulator by Candywriter, LLC
      Bundle ID: com.wtfapps.apollo16
      iTunes Store Link: https://apps.apple.com/us/app/bitlife-life-simulator/id1374403536?uo=4&at=1010lce4


      Hack Features:
      - Infinite Cash
      - Free Bitizen Purchase (Press Cancle) - Work for All Versions


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/84167-arm64-bitlife-life-simulator-v1412-jailed-cheats-2/


      Hack Download Link: https://iosgods.com/topic/84223-arm64-bitlife-life-simulator-cheats-all-versions-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 3,912 replies
    • Tap Tap Fish - AbyssRium Cheats (Auto Update) +1
      Modded/Hacked App: Tap Tap Fish - AbyssRium By SangHeon Kim
      Bundle ID: com.idleif.abyssrium
      iTunes Store Link: https://itunes.apple.com/us/app/tap-tap-fish-abyssrium/id1068366937?mt=8&uo=4&at=1010lce4



      Hack Features:
      - Infinite Vitality, Gem, etc ... (Increase When Used) / Untested with Pearl
       

      Hack Download Link: https://iosgods.com/topic/81337-arm64-tap-tap-fish-abyssrium-cheats-v179-1/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 374 replies
    • Defense Legend 5 Pro v1.0.3 [ +15 Cheats ] Currency Max
      Modded/Hacked App: Defense Legend 5 Pro By GCENTER VIET NAM TECHNOLOGY JOINT STOCK COMPANY
      Bundle ID: com.Gcenter.DefenseLegend.TowerDefense.TD.survivor.V5.Pro
      App Store Link: https://apps.apple.com/us/app/defense-legend-5-pro/id6744385350?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Unlimited Gems
      - Unlimited Energy
      - Unlimited Stars
      - Legendary Hero Pices
      - InfernoCore Currency
      - Unlimited Battle Items
      - Heroes Unlocked
      - Skin Unlocked
      - Gun Unlocked
      - Unlimited Skill Point
      - Premium Pass Active
      - Premium Pass / Claim Unlimited
      - Free Pass / Claim Unlimited
      - Battle Cash / Sell Tower 
        • Informative
        • Agree
        • Winner
        • Like
      • 8 replies
    • Defense Legend 5 Pro v1.0.3 [ +15 Jailed ] Currency Max
      Modded/Hacked App: Defense Legend 5 Pro By GCENTER VIET NAM TECHNOLOGY JOINT STOCK COMPANY
      Bundle ID: com.Gcenter.DefenseLegend.TowerDefense.TD.survivor.V5.Pro
      App Store Link: https://apps.apple.com/us/app/defense-legend-5-pro/id6744385350?uo=4

      🤩 Hack Features

      - ADS NO / Rewards Free
      - Unlimited Gems
      - Unlimited Energy
      - Unlimited Stars
      - Legendary Hero Pices
      - InfernoCore Currency
      - Unlimited Battle Items
      - Heroes Unlocked
      - Skin Unlocked
      - Gun Unlocked
      - Unlimited Skill Point
      - Premium Pass Active
      - Premium Pass / Claim Unlimited
      - Free Pass / Claim Unlimited
      - Battle Cash / Sell Tower 
        • Informative
        • Agree
        • Haha
        • Winner
        • Like
      • 10 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