Jump to content

36 posts in this topic

Recommended Posts

Updated (edited)

Background

I created a unity project on my computer and wrote simple C# to then convert to Arm through Unity's Il2cpp compiler.  I have more complicated conversions but they would be pretty hard to explain.  If you do want those conversions then make sure to comment below :)

Example Conversions

Force True: C#

    private bool True()
    {
        return true;
    }

Force True: IDA Arm

 MOV             R0, #1
 BX              LR
hex -> 01 00 A0 E3 1E FF 2F E1

 

 

Force False: C#

    private bool False()
    {
        return false;
    }

Force False: IDA Arm

 MOV             R0, #0
 BX              LR
hex -> 00 00 A0 E3 1E FF 2F E1

 

 

Force positive int: C#

    private int pInt()
    {
        return 999;
    }

Force positive int: IDA Arm

 MOV             R0, #999
 BX              LR
hex -> E7 03 00 E3 1E FF 2F E1

 

 

Force Float: C#

    private float pFloat()
    {
        return 999f;
    }

Force Float: IDA Arm

 MOV             R0, #0x447A
 BX              LR
hex -> 7A 04 04 E3 1E FF 2F E1
// 447A <= 447A0000 Float Hexadecimal
// Convert Int to Float here - https://babbage.cs.qc.cuny.edu/IEEE-754.old/Decimal.html
// Convert Float to Int here - https://babbage.cs.qc.cuny.edu/IEEE-754.old/32bit.html

You CANNOT use hexadecimals longer than 4 character long

Working example => Movt r0, #447A (1000 int)

Not-Working Example => Movt r0, #4479C (999 int)

There is a way to use longer hexadecimal floating points with MOV and I plan on adding it in the future.

 

 

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

Credits

@Jbro129 for the tutorial

Prefare for Il2CppDumper

- Kienn, @Valeschi ,  @Earthiest and @DiDA for Armconverter.com

Updated by Jbro129
  • Like 3
  • Winner 1
  • Thanks 1
  • Agree 1
  • Informative 2
Posted (edited)
On 2/9/2018 at 5:10 PM, Joka said:

Nice work man. Basic but very helpful! <3

Perhaps we will see an helpful "Advanced" one from you in the near future? <3

 

@Jbro129 I'd appreciate it if you added more conversions.

Updated by CA3LE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Our picks

    • 우주경찰들: 탈옥수 체포작전 Space Cops: Fugitive Hunt v1.0.36 [ +5 Cheats ] Currency Max
      Modded/Hacked App: 우주경찰들: 탈옥수 체포작전 By Double Minor Co., Ltd
      Bundle ID: com.doubleminor.SpaceCowboys
      App Store Link: https://apps.apple.com/kr/app/%EC%9A%B0%EC%A3%BC%EA%B2%BD%EC%B0%B0%EB%93%A4-%ED%83%88%EC%98%A5%EC%88%98-%EC%B2%B4%ED%8F%AC%EC%9E%91%EC%A0%84/id6755414827?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Gold
      - Unlimited Golden Keys
      - Unlimited Silver Keys
      - Unlimited EXP / Faster LvL UP
      • 3 replies
    • 우주경찰들: 탈옥수 체포작전 Space Cops: Fugitive Hunt v1.0.36 [ +5 Jailed ] Currency Max
      Modded/Hacked App: 우주경찰들: 탈옥수 체포작전 By Double Minor Co., Ltd
      Bundle ID: com.doubleminor.SpaceCowboys
      App Store Link: https://apps.apple.com/kr/app/%EC%9A%B0%EC%A3%BC%EA%B2%BD%EC%B0%B0%EB%93%A4-%ED%83%88%EC%98%A5%EC%88%98-%EC%B2%B4%ED%8F%AC%EC%9E%91%EC%A0%84/id6755414827?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Gold
      - Unlimited Golden Keys
      - Unlimited Silver Keys
      - Unlimited EXP / Faster LvL UP
      • 3 replies
    • Narin Secrets of Dwarvenia v1.0.3 [ +3 Cheats ] Currency Max
      Modded/Hacked App: Narin By 1DER Entertainment s.r.o
      Bundle ID: com.OsOs.Narin
      App Store Link: https://apps.apple.com/us/app/narin/id6754609794?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Gold
      - Unlimited Inventory Items
      • 6 replies
    • Narin Secrets of Dwarvenia v1.0.3 [ +3 Jailed ] Currency Max
      Modded/Hacked App: Narin By 1DER Entertainment s.r.o
      Bundle ID: com.OsOs.Narin
      App Store Link: https://apps.apple.com/us/app/narin/id6754609794?uo=4

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Gold
      - Unlimited Inventory Items
      • 4 replies
    • Tiny Heroes: Idle Boss Fight v1.5.2 [ +2 Cheats ] Currency Max
      Modded/Hacked App: Tiny Heroes: Idle Boss Fight By GOECORUSH Media, s. r. o.
      Bundle ID: com.vivuga.herotycoon
      App Store Link: https://apps.apple.com/us/app/tiny-heroes-idle-boss-fight/id6758800990?uo=4

      🤩 Hack Features

      - Unlimited Currency
      - Unlimited Resources
      - ADS No / Use Luna ADS Blocker
      • 4 replies
    • Tiny Heroes: Idle Boss Fight v1.5.2 [ +2 jailed ] Currency Max
      Modded/Hacked App: Tiny Heroes: Idle Boss Fight By GOECORUSH Media, s. r. o.
      Bundle ID: com.vivuga.herotycoon
      App Store Link: https://apps.apple.com/us/app/tiny-heroes-idle-boss-fight/id6758800990?uo=4

      🤩 Hack Features

      - Unlimited Currency
      - Unlimited Resources
      - ADS No / Use Luna ADS Blocker
      • 3 replies
    • 스페이스 미니언즈: 디펜스 Space Minions: Defense v0.0.10 [ +9 Cheats ] Never Die
      Modded/Hacked App: Space Minions: Defense By Teamsparta Inc.
      Bundle ID: com.TeamSparta.SpaceMinions
      App Store Link: https://apps.apple.com/kr/app/space-minions-defense/id6758454845?uo=4

      🤩 Hack Features

      - Currency / No Need
      - Resources / No Need
      - DMG MAX
      - Never Die
      - Enemy Speed
      • 3 replies
    • 스페이스 미니언즈: 디펜스 Space Minions: Defense v0.0.10 [ +9 Jailed ] Never Die
      Modded/Hacked App: Space Minions: Defense By Teamsparta Inc.
      Bundle ID: com.TeamSparta.SpaceMinions
      App Store Link: https://apps.apple.com/kr/app/space-minions-defense/id6758454845?uo=4

      🤩 Hack Features

      - Currency / No Need
      - Resources / No Need
      - DMG MAX
      - Never Die
      - Enemy Speed
      • 3 replies
    • 배틀 쉽 고 : 몬스터 웨이브 Battle Ship Go: Monster Wave v0.0.7 [ +9 Cheats ] Never Die
      Modded/Hacked App: Battle Ship Go: Monster Wave By Teamsparta Inc.
      Bundle ID: com.TeamSparta.battleshipgo
      App Store Link: https://apps.apple.com/kr/app/battle-ship-go-monster-wave/id6758370740?uo=4
      🤩 Hack Features

      - Currency / No Need
      - Resources / No Need
      - DMG MAX
      - Never Die
      - Enemy Speed
      • 6 replies
    • 배틀 쉽 고 : 몬스터 웨이브 Battle Ship Go: Monster Wave v0.0.7 [ +9 Jailed ] Never Die
      Modded/Hacked App: Battle Ship Go: Monster Wave By Teamsparta Inc.
      Bundle ID: com.TeamSparta.battleshipgo
      App Store Link: https://apps.apple.com/kr/app/battle-ship-go-monster-wave/id6758370740?uo=4

      🤩 Hack Features

      - Currency / No Need
      - Resources / No Need
      - DMG MAX
      - Never Die
      - Enemy Speed

      Note: Don't Abuse Hack Incase Banned
      • 6 replies
    • Galaxy Attack: Alien Shooter v5.17.2 [ +30++ Jailed ] Currency Max
      Modded/Hacked App: Galaxy Attack: Alien Shooter By DINO GAME LIMITED
      Bundle ID: com.alien.shooter.galaxy.attack
      iTunes Store Link: https://apps.apple.com/us/app/galaxy-attack-alien-shooter/id1176011642?uo=4

       

       

      🔧 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🚀 Hack Features

      - ADS NO [ Rewards Free ]

      - Gems [ Linked With Battle Pass ]

      - Gold [ Linked With Battle Pass ]

      - Chest [ Linked With Battle Pass ]

      - Monthly Card Normal

      - Monthly Card Super

      - Monthly Card Premium

      - Energy NO Need [ When 0 Play Unlimited ]

      - Evolve Stone

      - Unlimited Ship [ Select Any Ship Before The Battle ]

      - Drone Ticket

      - Terminator Point

      - Tech Point

      - Overload Ball

      - Matrix Max

      - Golden Revive Max

      - Revive Unlimited

      - Campain Revive Cost Gold [ Earn With Gold ]

      - Gems Revive  [Earn With Gems ]

      - Endless Revive Cost Gold [Earn With Gold ]

      - Talent Upgrade Cost  [Earn With Gold ]

      - Battle Pass Premium Active

      - BP Free [ Claim Unlimited ]

      - BP Premium [ Claim Unlimited ]

      - BP Free Rewards Unlimited [ Gold Gems Chest Stone + More ]

      - BP Premium Rewards Unlimited [ Gold Gems Chest Stone + More ]

      - Bullet Max

      - Life Max

      - Damage

      Warning 


      Don"t Abuse The Hack In Case Banned Any Data Lose I'M Not Responsible 


      🍏 Jailbreak iOS hacks: https://iosgods.com/forum/5-game-cheats-hack-requests/
      🤖 Modded Android APKs: https://iosgods.com/forum/68-android-section/

       

      📥 iOS Hack Download IPA Link


      Hidden Content

      Download via the iOSGods App
        • Like
      • 96 replies
    • Galaxy Attack: Alien Shooter v5.17.2 [ +30++ Cheats ] Currency Max
      Modded/Hacked App: Galaxy Attack: Alien Shooter By DINO GAME LIMITED
      Bundle ID: com.alien.shooter.galaxy.attack
      iTunes Store Link: https://apps.apple.com/us/app/galaxy-attack-alien-shooter/id1176011642?uo=4
       

      🚀 Hack Features

      - ADS NO [ Rewards Free ]

      - Gems [ Linked With Battle Pass ]

      - Gold [ Linked With Battle Pass ]

      - Chest [ Linked With Battle Pass ]

      - Monthly Card Normal

      - Monthly Card Super

      - Monthly Card Premium

      - Energy NO Need [ When 0 Play Unlimited ]

      - Evolve Stone

      - Unlimited Ship [ Select Any Ship Before The Battle ]

      - Drone Ticket

      - Terminator Point

      - Tech Point

      - Overload Ball

      - Matrix Max

      - Golden Revive Max

      - Revive Unlimited

      - Campain Revive Cost Gold [ Earn With Gold ]

      - Gems Revive  [Earn With Gems ]

      - Endless Revive Cost Gold [Earn With Gold ]

      - Talent Upgrade Cost  [Earn With Gold ]

      - Battle Pass Premium Active

      - BP Free [ Claim Unlimited ]

      - BP Premium [ Claim Unlimited ]

      - BP Free Rewards Unlimited [ Gold Gems Chest Stone + More ]

      - BP Premium Rewards Unlimited [ Gold Gems Chest Stone + More ]

      - Bullet Max

      - Life Max

      - Damage

      Warning 


      Don"t Abuse The Hack In Case Banned Any Data Lose I'M Not Responsible  

       

      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/forum/79-no-jailbreak-section/
      🤖 Modded Android APK(s): https://iosgods.com/forum/68-android-section/
        • Informative
      • 107 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