Jump to content

Ted2

Senior Member
  • Posts

    4,939
  • Joined

  • Last visited

Everything posted by Ted2

  1. thinning binaries is really not a good idea in 2019. Also, you guys must be doing something wrong. It’s just the “G” for going to a offset.
  2. I'm telling you, you're not. A address only contains numbers, which yours have not: You have to enter the numbers only.
  3. you’re bot entering a adresss
  4. congrats with your newest member of the family
  5. Hi, I thought I'd share it here too, though android section seems pretty dead here. Anyways, I know most of you just patch offsets directly with creating hacks, which is fine. However, sometimes hooking a function can be very useful, for example when you're trying to unlink a feature. Some time ago I made a simple template, so I thought I'd share it here. The Github link is: https://github.com/joeyjurjens/Android-Hooking-Template The instructions will be there too. I'll include KittyMemory with it soon, so offsets can be patched from the library. You might want to use this, so people can't just compare your modded binary with a clean binary. Have fun!
  6. This is a very simple example & forward assault is the easiest game I did it on. It can be modified to work on other games. I suggest to read this code inside a text editor with the syntax of C/C++ as iG's C syntax doesn't really look well. // Don't worry to much about this, you just need this for location handling. class Vector3 { public: float x; float y; float z; Vector3() : x(0), y(0), z(0) {} Vector3(float x1, float y1, float z1) : x(x1), y(y1), z(z1) {} Vector3(const Vector3 &v); ~Vector3(); }; Vector3::Vector3(const Vector3 &v) : x(v.x), y(v.y), z(v.z) {} Vector3::~Vector3() {} /************************************************ Function pointers that will be used in this hack. *************************************************/ //public Transform get_transform() ---> Class Component void *(*Component_GetTransform)(void *component) = (void *(*)(void *))getRealOffset(0x101F84228); //private void INTERNAL_set_position(Vector3 value) ---> Class Transform void (*Transform_INTERNAL_set_position)(void *transform, Vector3 newPosition) = (void (*)(void *, Vector3))getRealOffset(0x101FAB724); //private void INTERNAL_get_position(out Vector3 value) --> get the object of a transform void (*Transform_INTERNAL_get_position)(void *transform, Vector3 *out) = (void (*)(void *, Vector3 *))getRealOffset(0x101FAB7D0); /***************************************************** Utility functions which will help us with some checks. ******************************************************/ // Utility function to get a players location. Vector3 GetPlayerLocation(void *player) { Vector3 location; Transform_INTERNAL_get_position(Component_GetTransform(player), &location); return location; } // Utility function to get a players health float GetPlayerHealth(void *player) { //private float FEHAJLBCGIN; // 0x1EC return *(float*)((uint64_t)player + 0x1EC); } // Utility function to check if a enemy is dead bool isPlayerDead(void *player) { if(GetPlayerHealth(player) < 1) { return true; } return false; } // Utility function to get a players team number int GetPlayerTeam(void *player) { //private int BMFGOOEECIC; // 0x210 --> Player return *(int*)((uint64_t)player + 0x210); } //Creating a null objects for enemy & my player. It will be asigned later inside the actual hook. void *enemyPlayer = NULL; void *myPlayer = NULL; // Hook code void(*old_Player_Update)(void *player); void Player_Update(void *player) { //public bool isMine; // 0xCC bool isMine = *(bool*)((uint64_t)player + 0xCC); //getting my player if(isMine) { myPlayer = player; } // getting enemy player by checking whether the other players team is the same as mine if(myPlayer) { if(GetPlayerTeam(myPlayer) != GetPlayerTeam(player)) { enemyPlayer = player; } } /********************* TELE KILL FEATURE **********************/ // Checking if enemyPlayer object is not null if(enemyPlayer) { // checking if it's not dead, if it is enemyPlayer is NULL & it should look for a new one. if(!isPlayerDead(enemyPlayer)) { if([switches isSwitchOn:@"Teleport to Enemy"]) { Vector3 enemyLocation = GetPlayerLocation(enemyPlayer); // You can mod these values to your liking Transform_INTERNAL_set_position(Component_GetTransform(myPlayer), Vector3(enemyLocation.x, enemyLocation.y, enemyLocation.z - 1)); } } else { enemyPlayer = NULL; return; } } old_Player_Update(player); } //private void Update(); --> Class: Player (bigger one) HOOK(0x101743A8C, Player_Update, old_Player_Update); If you use this source in hacks, I'd appreciate actual credits.
  7. I don't see this as making updating hacks easier or faster. You're better of writing a tool that searches the dump from the current chosen game , search the offset of the function & then find instruction within that function. That's a one time setup.
  8. idk, but the header & then the scroll view is kinda the same, besides the opacity. I think it looks bad, but you seem to love it 🤔 but don’t worry about it most people don’t care & I have my own version. I just never got used to the standard iGMenu color style
  9. You need to learn how to hook. In the sample.xm I show the usage, so no one should have to guide you.
  10. View this in dark theme & you'll see it's f***ed because you copied
  11. If you use unc0ver, sometimes unc0ver randomly stops loading tweaks. You gotta reboot, jailbreak & try again.
  12. The mod menu will be continuously updated, however due my inactivity on iOSGods you should check out the GitHub for actual updates. There are new things coming, which I won't update here. Also, for support you'll have to contact me either on Twitter or Discord, both can be found in the GitHub.
  13. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, sec * NSEC_PER_SEC), dispatch_get_main_queue(), ^
  14. Try to show the popup a little later by building a dispatch timer around it. See if that might fix it.
  15. Read topic...
  16. Ted2

    thanks baby <3 

  17. Decompile apk & to whatever, aslong as it's not the same
×
  • 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