Tool PM Converter (Online & Offline) - Advanced ARM Converter & Data Conversion Tool for Windows Only

Mika Cybertron

PMT Elite Modder
Staff member
Modding-Team

🧩 PM Converter — Advanced ARM Converter & Data Conversion Tool

PM Converter is an all-in-one utility built for developers, modders, and reverse engineers who work with ARM architectures.
Formerly known as ARM Converter, this updated version introduces Automatic Data Conversions and expanded architecture support, allowing seamless translation between numeric values, assembly instructions, and machine code.

🔹 ARM Converter​

Convert between assembly instructions and hexadecimal machine code for multiple architectures:
  • ARM64 – Full 64-bit instruction encoding and decoding.
  • ARM (ARM32) – Standard 32-bit ARM instruction set.
  • THUMB – Compact 16/32-bit instruction set for size-optimized code.

🔹 Automatic Data Conversions [New]​

Automatically generate correct ARM instruction bytes for numeric constants without manual bit encoding. Supports returning or initializing register values directly as integers, floats, or doubles.
Supported Architectures:
  • ARM64
    • Int64
    • Float
    • Double
  • ARM (ARM32 / ARMv7)
    • Int32
    • Float
    • Double
  • THUMB
    • Int32
    • Float
    • Double

🔹 Return Splitter [New]​

Automatically generate correct ARM instruction code that calls a function or reads a field, compares its return value, and selects between two results. Supports returning or initializing register values directly as integers, floats, or doubles.
Supported Architectures:
  • ARM64
    • Int64
    • Float
    • Double
  • ARM (ARM32 / ARMv7)
    • Int32
    • Float
    • Double
  • THUMB (Currently not supported for Return Splitter)

💡 Summary​

PM Converter simplifies working with ARM instructions by combining manual and automatic conversion tools in a single application.
From converting assembly to hex, to generating instruction bytes for numeric values — PM Converter delivers precision, flexibility, and efficiency for ARM32 and ARM64 platforms and soon THUMB too.

⚠️ Note: Automatic Data Conversions are currently unavailable for the THUMB architecture.


*Credits*
- Mika Cybertron – Creator of this tool.
- ARMConverter.com – For the online ARM Conversion Service.
- Keystone-Engine.org – For the offline ARM-To-HEX converter.
- Capstone-Engine.org – For the offline HEX-To-ARM converter.


*Video Preview*



*Image Preview*
1761210939677.png


1761210951081.png


1761210969890.png


1761211020452.png


Free Download:
! Hidden Content !
You must be signed up and click 'Like' under this post or make a comment before you can see the hidden links contained here.
You might need to refresh the page after pressing like. If you still facing issues revealing the hidden links, please read this.
 
Last edited:
there is no password for that, it is free access Zip or Rar files, no password require
Thanks for your reply, but no matter what I did, I couldn't download it.
Whatever I downloaded, either the file was corrupted or had a password.:pepe021:
If possible, please provide a direct download link.
Thanks again.
 
Tools Updated, Please Enjoy!

Changelog:

- [New] Automatic Data Conversions.
- Changes Tool Name from ARM Converter to PM Converter.
 
PM Converter Updated!

- THUMB Supported for Automatic Data Conversions.
- [NEW] Automatic Data Conversions with Return Splitter (ARMv7 & ARM64)

Example for Return Splitter
C++:
// call function at field offsets 0x3A
int functionValue = *(int*)((uint8_t*)r0 + 0x3A);

// call function at 0x8C218C
// int functionValue = ((int(*)())0x8C218C)();
if (functionValue == 1)
{
    return 9999;
}
else
{
    return 1;
}

Example Result Hex Codes:
Code:
Fields Address:
3A 00 90 E5 01 10 00 E3 01 00 50 E1 0F 27 02 E3 01 30 00 E3 02 00 A0 01 03 00 A0 11 1E FF 2F E1

Absolute Address:
8C 01 02 E3 8C 00 40 E3 30 FF 2F E1 01 10 00 E3 01 00 50 E1 0F 27 02 E3 01 30 00 E3 02 00 A0 01 03 00 A0 11 1E FF 2F E1
 
PM Converter Updated!

- THUMB Supported for Automatic Data Conversions.
- [NEW] Automatic Data Conversions with Return Splitter (ARMv7 & ARM64)

Example for Return Splitter
C++:
// call function at field offsets 0x3A
int functionValue = *(int*)((uint8_t*)r0 + 0x3A);

// call function at 0x8C218C
// int functionValue = ((int(*)())0x8C218C)();
if (functionValue == 1)
{
    return 9999;
}
else
{
    return 1;
}

Example Result Hex Codes:
Code:
Fields Address:
3A 00 90 E5 01 10 00 E3 01 00 50 E1 0F 27 02 E3 01 30 00 E3 02 00 A0 01 03 00 A0 11 1E FF 2F E1

Absolute Address:
8C 01 02 E3 8C 00 40 E3 30 FF 2F E1 01 10 00 E3 01 00 50 E1 0F 27 02 E3 01 30 00 E3 02 00 A0 01 03 00 A0 11 1E FF 2F E1
This new features Return Splitter has not been tested yet, but in theory it should work especially for fields address for integers only
 
Back
Top Bottom