Jump to content

asdasdadsadsd

Member
  • Posts

    32
  • Joined

  • Last visited

Everything posted by asdasdadsadsd

  1. whatt about armv7 how can i hack it with gdb is the same steps?
  2. i made a program that give you all the useful functions that you can hack in your game
  3. what are those used for or what is the purpose of it ??! Force Int or Float into a field: C# //float private void setFieldF() { fieldF = 1000F; } public float fieldF; //int private void setFieldI() { fieldI = 1000; } public int fieldI; Force Int or Float into a field: IDA Arm Get your field offset from your generated dump.cs from Il2CppDumper by Prefare. //float field MOV R1, #0x447A STR R1, [R0,#0x10] // replace "0x10" with your field offset inside of dump.cs BX LR hex -> 7A 14 04 E3 10 10 80 E5 1E FF 2F E1 //int field MOV R1, #1000 STR R1, [R0,#0x14] // replace "0x14" with your field offset inside of dump.cs BX LR hex -> FA 1F A0 E3 14 10 80 E5 1E FF 2F E1 Force Return with Parameters: C# // 1 Parameter private string Param1(string one) { return one; } //2 Parameters private int Param2(int one, int two) { return two; } //3 Parameters private int Param2(float one, float two, float three) { return three; } Force Return with Parameters: IDA Arm It does not matter if the function is string, int, or float, if the function is the same type as the parameter then it will be the same arm code regardless. //1 Parameter MOV R0, R1 BX LR hex -> 01 00 A0 E1 1E FF 2F E1 //2 Parameters MOV R0, R2 BX LR hex -> 02 00 A0 E1 1E FF 2F E1 //3 Parameters MOV R0, R3 BX LR hex -> 03 00 A0 E1 1E FF 2F E1 //if the function has more than 3 parameters then reolace the second "R" with said parameter number Example: 7 Parameters MOV R0, R7 BX LR hex -> 07 00 A0 E1 1E FF 2F E1 Example: 5 Parameters MOV R0, R5 BX LR hex -> 05 00 A0 E1 1E FF 2F E1 Force end an IEnumertor/IEnumerable: C# private IEnumerator setYielEnumerator() { yield break; } private IEnumerable setYieldEnumerable() { yield break; } Force end an IEnumertor/IEnumerable: IDA Arm Using BX LR to end an IEnumertor or IEnumerable is wrong. Go to dump.cs and find the IEnumertor or IEnumerable function Say for example dump.cs says this private IEnumerator setYielEnumerator(); // 0xOFFSET or private IEnumerable setYieldEnumerable(); // 0xOFFSET Find the "sealed class" that has the function name in the class name Example // Namespace: private sealed class <setYielEnumerator>c__Iterator0 : IEnumerator, IDisposable, IEnumerator`1<object> // TypeDefIndex: 1446 { // Fields internal object $current; // 0x8 internal bool $disposing; // 0xC internal int $PC; // 0x10 // Methods public void .ctor(); // 0xOFFSET public bool MoveNext(); // 0xOFFSET private object System.Collections.Generic.IEnumerator<object>.get_Current(); // 0xOFFSET private object System.Collections.IEnumerator.get_Current(); // 0xOFFSET public void Dispose(); // 0xOFFSET public void Reset(); // 0xOFFSET } // Namespace: private sealed class <setYieldEnumerable>c__Iterator1 : IEnumerable, IEnumerable`1<object>, IEnumerator, IDisposable, IEnumerator`1<object> // TypeDefIndex: 1447 { // Fields internal object $current; // 0x8 internal bool $disposing; // 0xC internal int $PC; // 0x10 // Methods public void .ctor(); // 0xOFFSET public bool MoveNext(); // 0xOFFSET private object System.Collections.Generic.IEnumerator<object>.get_Current(); // 0xOFFSET private object System.Collections.IEnumerator.get_Current(); // 0xOFFSET public void Dispose(); // 0xOFFSET public void Reset(); // 0xOFFSET private IEnumerator System.Collections.IEnumerable.GetEnumerator(); // 0xOFFSET private IEnumerator`1<object> System.Collections.Generic.IEnumerable<object>.GetEnumerator(); // 0xOFFSET } Go to the offset of MoveNext() public bool MoveNext(); // 0xOFFSET And write this in hex editor MOV R1, #0xFFFFFFFF STR R1, [R0,#0x10] MOV R0, #0 BX LR hex -> 00 10 E0 E3 10 10 80 E5 00 00 A0 E3 1E FF 2F E1 //same hex for both IEnumertor and IEnumerable
  4. is he means that in dnspy any void func we can convert it to any other type like int float?! Force Int or Float into a field: C# //float private void setFieldF() { fieldF = 1000F; } public float fieldF; //int private void setFieldI() { fieldI = 1000; } public int fieldI;
  5. Guest K3NNNY Diversityy Fadexz Kyle2100 Pro TheArmKing K_K i need help please now this is the func that i get at the end my hook see it if it`s right or not public class PlayerInfo : MonoBehaviour // TypeDefIndex: 9245{// Fieldsprivate float m_Amount; // 0xA4private float m_ReadAmount; // 0xA8protected bool m_UpdateLevel; // 0xACprotected int m_XpIncrement; // 0xB0protected int m_XpIncrementCount; // 0xB4protected float m_XpStart; // 0xB8protected float m_XpFinal; // 0xBCprotected bool m_LevelTriggered; // 0xC0protected int m_InfoLevel; // 0xC4protected int m_PvPTier; // 0xC8protected int m_TrophyIncrement; // 0xCCprotected int m_TrophyIncrementCount; // 0xD0protected float m_TrophyStart; // 0xD4protected float m_TrophyFinal; // 0xD8protected float m_TrophyAmount; // 0xDCprotected float m_TrophyReadAmount; // 0xE0protected bool m_UpdateTrophies; // 0xE4protected Vector2 m_CurrentAnchor; // 0xE8protected bool m_ChangedColor; // 0xF0protected float m_TrophyTimer; // 0xF4protected bool m_Bipped; // 0xF8private int m_Faction; // 0xFCprivate string m_PlayerID; // 0x100// Methodspublic string get_PlayerID(); // RVA: 0x86567C Offset: 0x86567Cpublic RectTransform GetIconExplosionTarget(); // RVA: 0x865684 Offset: 0x865684public void ButtonOpenProfileCanvas(); // RVA: 0x865720 Offset: 0x865720public void SetOtherPlayerInfo(string playerID, string playerName, int playerTier, int playerLevel, Faction playerFaction, string allianceName); // RVA: 0x865884 Offset: 0x865884public void Init(bool isUserProfile, optional Func`2<ServerInterface.PlayerStatRequestResponse, bool> onRequestStats); // RVA: 0x865ACC Offset: 0x865ACCpublic void SetBaseInfo(string name, string alliance, optional Nullable`1<int> xp, optional Nullable`1<int> playerTrophies); // RVA: 0x8667BC Offset: 0x8667BCpublic void UpdateName(); // RVA: 0x8672FC Offset: 0x8672FCpublic void UpdateInfo(); // RVA: 0x8673BC Offset: 0x8673BCpublic void OnFactionChangeClicked(); // RVA: 0x867C34 Offset: 0x867C34public void ButtonChangeFaction(); // RVA: 0x867DD4 Offset: 0x867DD4private void CheckFactionBadge(); // RVA: 0x866370 Offset: 0x866370public void ButtonNameChange(); // RVA: 0x868264 Offset: 0x868264public void ClickTier(RectTransform trans); // RVA: 0x8683C8 Offset: 0x8683C8public void StartXPAnim(int incrementCount); // RVA: 0x868814 Offset: 0x868814public void AnimateXP(); // RVA: 0x868A6C Offset: 0x868A6Cpublic void StartTrophyAnim(int incrementCount); // RVA: 0x868DAC Offset: 0x868DACpublic void AnimateTrophies(); // RVA: 0x868F38 Offset: 0x868F38private void InitStats(Func`2<ServerInterface.PlayerStatRequestResponse, bool> onRequestStats); // RVA: 0x8660D8 Offset: 0x8660D8public void AddUserStat(PlayerStat.PlayerStats stat, int value); // RVA: 0x8690C0 Offset: 0x8690C0public void InitUnits(string[] cardIDs); // RVA: 0x8695B0 Offset: 0x8695B0public void OnClose(); // RVA: 0x86A4E8 Offset: 0x86A4E8public void CheckLevel(); // RVA: 0x866D20 Offset: 0x866D20public void CreateStatObject(PlayerStat.PlayerStats stat, string statVal, int statIndex); // RVA: 0x8692B0 Offset: 0x8692B0public void .ctor(); // RVA: 0x86A7FC Offset: 0x86A7FC=======================my hook =======================void(*PlayerInfo)(void *PlayerInfo);void_PlayerInfo(void *PlayerInfo){if(player != NULL){*(int *)((uint64_t)player + 0xB0) = 999;*(float *)((uint64_t)player + 0xDC) = 100.0f;*(float *)((uint64_t)player + 0x5C) = 0.0f;}PlayerInfo(PlayerInfo);}
×
  • 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