Jump to content

Ted2

Senior Member
  • Posts

    4,933
  • Joined

  • Last visited

Everything posted by Ted2

  1. Flex allows you to modify Objective-C/Swift methods, as it "dumps" those method. This is nice, especially for tweak development. However, if you take modern games as an example, flex will be useless 99% of the time. This is because game engines strip method names, also known as sub_x methods which you can not modify within flex as flex can not "dump" this. In IDA, you're loading the game's executable, and have access to all of its code to be modified (note: most games have some server side code that you can not modify, hence why some games don't have things such as currency hacks as the server side validates this). IDA is more complex than Flex, but with some tutorials you can find around here in the form you can quickly learn to mod games with IDA, especially Unity games as those games can be dumped with a tool called il2cppdumper. This does basically what flex does; It dumps all methods, classes, variables etc of the game and all you have to do is look up the address inside IDA and modify it.
  2. U know u can find online resources to learn Java for free, right? On youtube, blogs etc.
  3. You’ll have to write code for that yourself or hire someone to do it
  4. Hello, have you set the following in tweak.xm? [menu setFrameworkName:"FrameworkName"]; And then just used the HOOK() method?
  5. The issue was that there was no UnityFramework.
  6. I’ll try and update the topic in some places. Most things are still relevant, just some tools used are outdated on the phone.
  7. Install a hack from here with an anti-ban feature. That *should* let you play. You can just keep the other menu options disabled. There’s also this, but idk if it still works;
  8. For spotify++, I recommend Spotilife tweak from Julio Verne. For YouTube++, I use the tweak Cercube.
  9. return old_AmmoAmount(instance) * 10; // Return whatever my current ammo is multiplied by 10 This is correct.
  10. https://docs.unity3d.com/Manual/ExecutionOrder.html This is a great graph that tells you what and when they're being executed. So I don't think any of those two will work. It's possible other classes have an instance of this IAPManager class, and handle it there. But without more info, I can't really answer.
  11. No, in programming you have getters and setters; int getCoins() { return coins } void setCoins(int newValue) { coins = new_value } As you can see, to one of those functions you can pass a new value (SET). The other one just returns a variable (GET). Function pointers are not any different, because the function pointer is that function and so, they work the same. If for some reason you don't want to hook it, then I recommend opening the binary in IDA, go to the ReloadDuration method, and see which variable(s) is being used here (0x<some_value>. I assume this is an Unity game, so on top of the class ReloadDuration is in, you'll find a list of variables. See which one of them is inside ReloadDuration. You can then change these variables in the FixedUpdate method, like so: *(int*)((uint64_t)instance + 0x<variable_code> = 0;
  12. No. You should first figure out how the app is build. Native Android? React Native? Flutter? & then according to that information look for keywords in the bin/files you should be looking at. A newer tool compared to?
  13. Would be best to tell which games so people can re-produce the issue, right now no one can do anything with this information.
  14. He’s right. Freezing means it’s hit. If you type “c” or “continue” the game will unfreeze. I’ll edit the tutorial soon, as this is a unclear thing for more people.
  15. Nope. As the void ammo(bla, bla, bla) {} is the replacement method of the original method (which you named old_ammo), here you write your own logic of the method. If you only need to change the parameter values, you can just call the original method (old_ammo) with your own values and that will be enough. You could also do: void ammo(void *instance, int value, bool reload) { value = 9999; reload = false; old_ammo(instance, value, reload); } In this example you alter the parameter values it was originally called with and then call the method itself with your new values.
  16. Hmm, sorry. I was checking the post on phone which sucks. I just checked on my laptop and... The method you're hooking is a void, which means it doesn't return anything. Void methods are called to perform certain things rather than returning something. So this ammo method has two parameters: ammo and reload. You can make them always 9999 and false, but you do not return them. A valid hook would look like this: // This holds the original state of the method, some people prefer to call it "orig_ammo" instead because of that. void(*old_ammo)(void *instance, int value, bool reload); // This is the hooked method, where you can do whatever you want void ammo(void *instance, int value, bool reload) { // Just a note; I don't think instance will ever be NULL. if(instance != NULL) { // set ammo to 9999 and reload to false old_ammo(instance, 9999, false); } // Do what it normally does old_ammo(instance, value, reload); } MsHookFunction((void*)getAbsoluteAddress(0x289235), (void*)ammo, (void**)&old_ammo); I've added some comments to the code, so I hope you understand better then.
  17. Sorry, I just spotted a mistake. You should return old_ammo(instance, 9999,false); Not ammo(instance, 9999, false);
  18. This one is the one you need for setting the parameters.
  19. If you want to make tweaks/hacks, you'll need theos installed so you can compile tweaks. If you want to start making tweaks, I recommend just search YouTube and follow along with some video's. If you want to make cheats/hacks, I recommend following tutorials here on this forum. With both of them you'll work with obj-c/swift and C/C++, which are not really like Python. Though, nowadays people who make cheats don't know one of those languages and are still being able to make cheats due the theos-templates that exist and they just enter in offsets they found with the tool il2cppdumper (its on github).
×
  • 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