Coder Social home page Coder Social logo

ida-arm-system-highlight's Introduction

Decoding ARM system instructions

This script will give you the list of ARM system instructions used in your IDA database. This is useful for locating specific low-level pieces of code (setting up the MMU, caches, fault handlers, etc.).

One hassle of reverse engineering low-level ARM code is that IDA Pro does not decode the internal registers accessed by co-processor instructions (MCR/MRC and MSR/MRS on AArch64).

After applying the script, the system registers accessed will be automatically commented in the database, as defined in the official ARM reference manuals.

AArch32 decoding AArch64 decoding

The script will also try to automatically detect the accessed fields for some registers:

Field decoding

Usage

Alt-F7 in IDA Pro, then run the script on your open database.

Compatibility

Should work with ARMv7 and ARMv8 processors.

ida-arm-system-highlight's People

Contributors

balika011 avatar trou avatar wisk avatar xerpi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ida-arm-system-highlight's Issues

script fails to run with 'syntax error'

Windows 10 64-bit
IDA Pro v7.3.190614
Python 2.7.18 & 3.10.5 installed. IDA 7.3 is only capable of Python2.7.

When running the script, the script halts with the error
C:\Users\<redacted>\AppData\Roaming\Hex-Rays\IDA Pro\Scripts\highlight_arm_system_insn.py: invalid syntax (C:/Users/<redacted>/AppData/Roaming/Hex-Rays/IDA Pro/Scripts/highlight_arm_system_insn.py, line 61) Traceback (most recent call last): File "C:\Program Files\IDA 7.3\python\ida_idaapi.py", line 572, in IDAPython_ExecScript execfile(script, g) File "C:/Users/<redacted>/AppData/Roaming/Hex-Rays/IDA Pro/Scripts/highlight_arm_system_insn.py", line 61 *SYSTEM_CALL_INSN, ^ SyntaxError: invalid syntax

It appears this script is not designed for or compatible with Python2.7. I can accept that, but mainly wanted to make others aware of the limitation. I assume to run this script you will need IDA>=7.4, which to my knowledge is the first version that was capable of utilizing Python3.

For sake of completeness, I tried running the script in my Python3 console to see what would happen. I was presented with a different error:
stem_insn.py", line 11, in <module> from idc import * ModuleNotFoundError: No module named 'idc'

This would be expected, as the raw Python3 environment would not have the idapython libs provided by IDA>=7.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.