
32-bit ARM Architecture versions from v3 to v8 including Thumb, Thumb-2, DSP instructions and NEON Advanced SIMD instructions. The source code of some processor modules is available in the free SDK. IDA Professional Edition supports the processors listed below. This can be carried out either locally or remotely. Manual analysis or raw firmware is also handled, along with debugging embedded software, web applications and education.IDA Pro runs on Windows, Linux and Mac OS X and can debug a large array of specific platforms (Windows 32/64-bit, Linux 32/64-bit, OS X x86/圆4, iOS, Android, etc.). It provides automotive firmware analysis, car tuning, security research, and legacy software. The IDA Pro application covers vulnerability research, malware analysis, dynamic analysis, forensics, penetration testing, intellectual property, interoperability, and software assessment. IDA Pro is the perfect tool for the analysis of hostile code, vulnerability research, and commercial-off-the-shelf validation. The IDA Pro Disassembler and Debugger is an interactive, programmable, extensible, multi-processor disassembler hosted on Windows, Linux, or Mac OS X. This famous software analysis tool, which is a de-facto standard in the software security industry, is an indispensable item in the toolbox of a software analyst, security expert, software developer, or software engineer. Hex-Rays develops and supports the IDA Pro disassembler. The map of the program’s code can then be post-processed for further investigation. In some cases, it is possible to revert the binary program back, to a quite close level, to the original source code that produced it.
That is why advanced techniques have been implemented into IDA Pro to make that complex code more readable. However, assembly language is hard to read and make sense of. This disassembly process allows software specialists to analyze programs that are suspected to be nefarious in nature, such as spyware or malware. It's capable of creating maps of software's execution to show the binary instructions that are actually executed by the processor in a symbolic representation called assembly language.