IDA,IDA PRO 产品介绍

IDA理念
这是咱们在开发产品时不遗余力遵循的理念——在此过程当中,咱们相信咱们将开发出可以为您带来所需的可靠性、便利性和易用性的软件。
没有什么能战胜人脑
由于咱们知道一秒钟的洞察力仍然赛过百年的处理时间,因此 IDA 反汇编器提供了尽量多的交互性。实际上,反汇编中的任何内容均可以修改、操做、从新排列或从新定义。
静态拆解受限
仅仅静态反汇编并不能说明所有状况。加密或混淆代码常常出如今当今的恶意代码中;代码和数据之间的确切区别是一门艺术而不是一门科学。 IDA 反汇编器的交互性获得了内部脚本语言、Windows 应用程序/内核调试器、Linux 应用程序调试器、80×86 Mac OS X 应用程序调试器(支持 32 位和 64 位)等等的补充……
必须珍惜创新
做为为咱们的产品建立新插件的额外奖励,咱们举办了一年一度的插件竞赛。有用的公共插件的建立者能够得到现金奖励。咱们还在名人堂页面上公布了这些名字。
时间是本质
汇编语言向导只看几个操做码就知道程序目的的日子已经一去不复返了。今天的病毒和蠕虫一般是用高级语言编写的。因为咱们独特的 FLIRT 技术和咱们先进的堆栈跟踪功能,IDA 反汇编器的工做方式尽量接近原始源代码。
你最清楚
咱们是反汇编器和调试器专家,但您才是真正工做的人。您比咱们更了解您须要什么。这就是 IDA SDK 容许您根据您的特定需求扩展和定制 IDA 的缘由。
安全是咱们的重中之重
咱们但愿咱们的用户在使用咱们的工具时是安全的。这就是为何除了内部测试、代码审查和安全编码实践以外,咱们还引入了错误赏金计划。报告咱们软件中严重错误的报告者能够得到现金奖励。这样,咱们软件中的漏洞就会直接报告给咱们。固然,咱们会当即作出反应并尽快发布热修复。程序员

解决方案
Hex-Rays 工具用于解决软件行业中的关键问题。
咱们的旗舰产品 IDA Pro 是一款流行但复杂的软件。 咱们常常被问到,IDA 究竟是干什么用的? 这是一个公平的问题,并不容易回答。 IDA 拥有很是普遍的复杂用例,这些用例没法用一个引人入胜的单行代码来归纳。编程

所以,与其提出描述 IDA 的销售宣传,咱们决定让咱们的用户来讲话。 如下是来自各类安全专家、恶意软件分析师和软件工程师的示例,他们使用 IDA 解决工做流程中的一个关键问题,并决定发布他们的结果。 咱们收集了此类出版物的各类连接,并将它们纳入软件行业的各个细分领域。 但愿这可让您更轻松地了解 IDA 如何应用于该领域的实际解决方案。
数字取证
挑战
当系统被恶意软件破坏时,就会进行数字取证调查。若是发生基于软件的攻击,公司一般会派遣专门的计算机应急响应小组 (CERT) 来消除威胁、评估损害程度并了解攻击是如何实施的,以防止未来发生相似事件。这些团队必须从计算机、移动设备、网络设备甚至分布式系统中收集数字证据。所以,它们必须可以处理多种二进制代码格式。在许多状况下,代码被混淆,目的是使调查更难、更耗时。法医调查人员须要精确且多功能的工具来帮助他们完成这些任务。sass

方法
IDA Pro 能够分析在取证调查期间收集的二进制代码。它几乎能够处理在现代处理器上运行的任何代码,而且可使用自定义脚本和插件扩展其功能。这使得它在分析严重混淆的代码时特别有用。 IDA 已经在现场针对真实世界的恶意软件进行了无情的实战测试,这使其成为许多 CERT 组织的首选工具。安全

渗透测试
挑战
为了增强安全性,软件开发人员有强烈的动机攻击他们本身的软件。通常的理念是,最好本身主动发现安全漏洞 - 在其余人发现并恶意使用它来对付您的客户以前。安全审计能够由公司内的专业团队或第三方顾问执行,但它们几乎老是须要像 IDA 这样的工具的精确性。服务器

方法
能够更主动地使用 IDA 来检测关键任务软件中的可利用漏洞。一般这涉及识别负责处理用户输入的逻辑,而后积极分析逻辑错误。一般,从原始机器代码反编译软件时更容易发现此类错误,由于在编写原始源代码时,它没有懒惰的程序员所作的任何偏见或假设。安全审计员知道要寻找什么样的错误,它们多是极其有害的。网络

知识产权
挑战
知识产权是许多公司的重要资产。 虽然是无形的,但它一般表明公司最重要的财产。 知识产权能够有多种形式,包括版权、专利、商标和商业秘密。 任何侵犯或侵犯知识产权的行为都对许多公司的生存构成严重威胁。 对于软件 IP,发现和证实此类违规的任务是一项挑战。 咱们的社会不只须要手动工具,还须要自动工具来完成这项任务。架构

方法
IDA Pro 很是适合这项任务,由于它能够用做开发自动系统以查找侵犯版权、知识产权盗窃和专利侵权的基础。 手动检查也仍然可用。electron

动态分析与调试
挑战
反汇编计算机程序能够揭示其行为的大量信息,但有许多方法能够限制原始反汇编的有用性。 恶意软件做者积极尝试使他们的可执行文件在被分析时看起来无害,而后在实际执行时表现得大不相同。 因为不可预见的状况,即便是精心设计的非恶意程序也可能在运行时出现故障。 分析师和工程师依赖于容许他们在代码运行时观察代码的工具。 不少时候,这是理解和解决问题的惟一方法。分布式

方法
IDA Pro 能够调试全部主要桌面平台(Windows、Linux、Mac)、移动平台(iPhone、Android)和模拟器(QEMU、Bochs)上的应用程序。 即便是不为人知的基于 MIPS 或其余处理器的嵌入式系统,咱们的调试器也能够处理它。 IDA Pro 自带十种不一样的调试器。 固然,它们都是可配置的、可编程的和可扩展的。函数

汽车安全
挑战
现代汽车正在滚动软件生态系统。他们如今更依赖于在微控制器上运行的固件,而不是像过去那样的纯硬件。汽车如今能够包含 70 多个电子控制单元 (ECU),每一个电子控制单元都有本身的专用固件。 ECU 能够负责发动机、驾驶控制、信息娱乐、导航和跟踪系统——其中一些可能链接到蜂窝网络。全部这些代码都有潜在的错误、漏洞或隐藏/不须要的功能。因此“智能汽车”的概念是个好主意,但对某些人来讲,“智能”只是意味着“可破解”。汽车行业必须对驱动其车辆的软件(字面意思)具备可见性,尽管其日益复杂。被忽视的缺陷可能会产生严重的后果。

方法
IDA 能够做为现代车辆逻辑基础设施的入口点。在许多状况下,能够对原始 ECU 固件进行逆向工程,例如肯定传感器的读取方式或发动机的控制方式。 IDA 是执行此任务的最佳工具,由于它支持 ECU 中使用的全部主要处理器系列。即便没有完整的文档、源代码或调试符号,IDA 也能够逐步了解固件行为。

互操做性
挑战
信息不多在应用程序内部严格生成和使用。 现代计算机与其余计算机交换信息,将信息存储在磁盘或云中。 一般,使用的数据格式是未记录的,但可能须要与应用程序交互或提取其数据。 例如,要从过期的软件中提取数据,咱们须要知道使用的格式。 或者要取下僵尸网络,咱们可能须要知道它的网络协议,以便向它感染的僵尸计算机发送命令。

方法
为了处理异国情调的文件格式,IDA Pro 可使用定制的“加载器”轻松扩展,并使数据从 UI 中可用。 当谈到逆向工程网络协议时,人们一般会将 IDA Pro 与数据包捕获工具(例如 Wireshark)配对。 因为分析流量并匹配其在客户端或服务器端代码中的使用,协议的发现将加快。

软件评估
挑战
非恶意软件的内部运做有时值得研究。 分析师须要清楚了解平常使用的软件(操做系统、驱动程序、第三方应用程序等)。 一般,商业软件的内部细节没有记录在案,但有正当理由对其进行检查。

方法
IDA 支持桌面、移动和嵌入式设备中使用的全部主要架构。 它可用于反汇编带有或不带有调试信息的二进制文件。 使用 FLIRT 和 Lumina 等内置功能,能够识别众所周知的或库函数。 BinDiff 或 Diaphora 等第三方插件容许查找二进制版本之间的差别以识别更改、修复甚至后门。

教育
挑战
逆向工程须要大量的经验、培训甚至直觉。 可是若是没有合适的工具,即便是最熟练的逆向工程师也会花费大量时间来执行最乏味的任务,甚至没法发现关键的信息位。

方法
IDA Pro 是教授二进制分析的完美工具:它速度快、功能强大且易于使用,支持开箱即用的大多数处理器和文件格式,甚至能够做为教育免费许可证供机构使用。 发现 IDA Pro 被世界各地的大学、在线或离线课程、培训和研讨会等使用也就不足为奇了。

支持的处理器
支持的处理器/操做系统/文件格式组合的列表很是大,很难一一列举。 请查看咱们的图库,其中包含大量处理器的反汇编示例。

IDA 家庭版
IDA Home 有 5 个版本,每一个版本都支持常见的处理器系列之一:
x86/x64
ARM/ARM64
MIPS/MIPS64
PowerPC/PPC64
Motorola 68K/Coldfire
IDA专业版
IDA 专业版支持下列处理器。 咱们的免费 SDK 中提供了一些处理器模块的源代码。

AMD K6-2 3D-Now! extensions
32-bit ARM Architecture versions from v3 to v8 including Thumb, Thumb-2, DSP instructions and NEON Advanced SIMD instructions.
oARMv4 / ARMv4T: ARM7 cores (ARM7TDMI / ARM710T / ARM720T / ARM740T), ARM9 cores (ARM9TDMI / ARM920T / ARM922T / ARM940T)
oARMv5 / ARMv5TE / ARMv5TEJ: ARM9 cores (ARM946E-S/ ARM966E-S/ ARM968E-S/ ARM926EJ-S/ ARM996HS), ARM10E (ARM1020E / ARM1022E / ARM1026EJ-S)
oARMv6 / ARMv6T2 / ARMv6Z / ARMv6K: ARM11 cores (ARM1136J(F)-S / ARM1156T2(F)-S / ARM1176JZ(F)-S / ARM11 MPCore)
oARMv6-M: Cortex-M0 / Cortex-M0+ / Cortex-M1 (e.g. NXP LPC800/LPC1xxx, Freescale Kinetis L and M series, STM32 F0 series etc.)
oARMv7-M: Cortex-M3 (e.g. NXP LPC17xx/18xx/13xx, STM32 F1/F2/L1 series, TI Stellaris, Toshiba TX03 / TMPM3xx etc.)
oARMv7E-M: Cortex-M4 (e.g. NXP LPC43xx, STM32 F3/F4 series, TI Stellaris LM4F, Freescale Kinetis K series and W series, Atmel AT91SAM4 etc.)
oARMv7-R: Cortex-R4(F)/Cortex-R5/Cortex-R7 (e.g. TI TMS570LS etc.)
oARMv7-A: Cortex-A5 / Cortex-A7 / Cortex-A8 / Cortex-A9 / Cortex-A12 / Cortex-A15 (e.g. TI Sitara, TI OMAP series, Samsung S5PC100 and Exynos, Nvidia Tegra, Freescale i.MX, Allwinner A-Series and many others)
oARMv7 (custom): Apple A4/A5/A5X/A6/A6X (Swift microarchitecture, used in Apple’s iPhone/iPod/iPad/AppleTV), Qualcomm Snapdragon [Note: this list is incomplete; code for any ARM-compliant core can be disassembled]
ARC (Argonaut RISC Core)
ATMEL AVR (comes with source code)
DEC PDP-11(comes with source code)
Fujitsu FR (comes with source code)
GameBoy
Hitachi/Renesas H8/300, H8/300L, H8/300H, H8S/2000, H8S/2600, H8SX (comes with source code)
H8/330, H8/322, H8/323, H8/325, H8/326-329, H8/336-338, H8/350, H8/3048F, H8/3202, H8/3212, H8/3214, H8/3216, H8/3217, H8/3256, H8/3257, H8/3292, H8/3294, H8/3296, H8/3297, H8/3315, H8/3318, H8/3334Y, H8/3336Y, H8/3337Y, H8/3337YF, H8/3394, H8/3396, H8/3397, H8/3534, H8/3434, H8/3434F, H8/3436, H8/3437, H8/3437F, H8/3522
H8/3612, H8/3613, H8/3614, H8/3712, H8/3713, H8/3714, H8/3723, H8/3724, H8/3725, H8/3726, H8/3812, H8/3813, H8/3814, H8/3833-37, H8/3875, H8/3876, H8/3877, H8/3924, H8/3925, H8/3926, H8/3927, H8/3945-47
H8/3002, H8/3040-3042, H8/3003, H8/3030-32, H8/3048, H8/3070, H8/3071, H8/3072
H8S/2246, H8S/2245, H8S/2244, H8S/2243, H8S/2242, H8S/2241, H8S/2133, H8S/2144F, H8S/2357F, H8S/2143, H8S/2142F, H8S/2345F, H8S/2343, H8S/2341, H8S/2237, H8S/2235, H8S/2233, H8S/2227, H8S/2225, H8S/2223, H8S/2240, H8S/2242, H8S/2350, H8S/2352, H8S/2340, H8S/2355, H8S/2353, H8S/2351, H8S/2134F, H8S/2132F
H8S/2655R, H8S/2653R, H8S/2655
Hitachi H8/500 (comes with source code)
Hitachi HD 6301, HD 6303, Hitachi HD 64180
INTEL 8080
INTEL 8085
INTEL 80196 (comes with source code)
INTEL 8051 (comes with source code)
INTEL 860XR (comes with source code)
INTEL 960 (comes with source code)
INTEL 80×86 and 80×87
INTEL Pentium family, including SSE, SSE2, SSE3, SSE4
Java Virtual Machine (comes with source code)
KR1878 (comes with source code)
Microsoft .NET (Common Language Infrastructure bytecode)
Mitsubishi MELPS740 or Renesas 740 (comes with source code)
Hitachi/Renesas M16C
MN102 (comes only with source code)
MOS Technologies 6502 (comes with source code)
Motorola/Freescale MC680xx, CPU32 (68330), MC6301, MC6303, MC6800, MC6801, MC6803, MC6805, MC6808, HCS08, MC6809, MC6811, M68H12C, ColdFire
Motorola MC6812/MC68HC12/CPU12
Freescale HCS12, HCS12X (including XGATE coprocessor)
NSC CR16 (comes only with source code)
NEC V850 series (including V850E1, V850E1F, V850ES, V850E2, V850E2M) (comes with source code)
Renesas RH850 series (RH850G3K, RH850G3M, RH850G3KH, RH850G3MH) (comes with source code)
EFI Byte Code (EBC) (comes with source code)
SPU (Synergistic Processing Unit of the Cell BE) (comes with source code)
MSP430, MSP430X (comes with source code)
PIC 12XX, PIC 14XX, PIC 18XX, PIC 16XXX (comes with source code)
Rockwell C39 (comes only with source code)
SAM8 (comes with source code)
SGS Thomson ST-7, and ST-20 (comes with source code)
TLCS900 (comes only with source code)
unSP from SunPlus
Sony SPC700
Philips XA series (51XA G3)(comes with source code)
Intel xScale
Z80, Zilog Z8, Zilog Z180, Zilog Z380 (comes with source code)
x64 architecture (Intel x64 and AMD64)
ARM64 Architecture (aka AArch64)
oARMv8-A: Cortex-A50/Cortex-A53/Cortex-A57
oARMv8 (custom): Apple A7 (Cyclone microarchitecture, used in iPhone 5s)
Analog Devices AD218x series (ADSP-2181, ADSP-2183, ADSP-2184(L/N), ADSP-2185(L/M/N), ADSP-2186(L/M/N), ADSP-2187(L/N), ADSP-2188M/N, ADSP-2189M/N)
Dalvik (Android bytecode, DEX)
DEC Alpha
DSP563xx, DSP566xx, DSP561XX (comes with source code)
TI TMS320C2X, TMS320C5X, TMS320C6X, TMS320C64X, TMS 320C54xx, TMS320C55xx, TMS320C3 (comes with source code)
TI TMS320C27x/TMS320C28x
Hewlett-Packard HP-PA (comes with source code)
Hitachi/Renesas SuperH series: SH1, SH2, SH3, Hitachi SH4 (Dreamcast), SH-4A, SH-2A, SH2A-FPU
IBM/Motorola PowerPC/POWER architecture, including Power ISA extensions:
oBook E (Embedded Controller Instructions)
oFreescale ISA extentions (isel etc.)
oSPE (Signal Processing Engine) instructions
oAltiVec (SIMD) instructions
oHypervisor and virtualization instructions
oAll instructions from the Power ISA 2.06 specification (Vector, Decimal Floating Point, Integer Multiply-Accumulate, VSX etc.)
oCell BE (Broadband Engine) instructions (used in PlayStation 3)
oVLE (Variable Length Encoding) compressed instruction set
oXenon (Xbox 360) instructions, including VMX128 extension
oPaired Single SIMD instructions (PowerPC 750CL/Gekko/Broadway/Espresso, used in Nintendo Wii and WiiU)
Motorola/Freescale PowerPC-based cores and processors, including (but not limited to):
oMPC5xx series: MPC533 / MPC535 / MPC555 / MPC556 / MPC561 / MPC562 / MPC563 / MPC564 / MPC566 Note: code compression features of MPC534/MPC564/MPC556/MPC566 (Burst Buffer Controller) are currently not supported
oMPC8xx series (PowerQUICC): MPC821/MPC850/MPC860
oMPC8xxx series (PowerQUICC II, PowerQUICC II Pro, PowerQUICC III): MPC82xx / MPC83xx / MPC85xx / MPC87xx
oMPC5xxx series (Qorivva): MPC55xx, MPC56xx, MPC57xx
oPower PC 4xx, 6xx, 74xx, e200 (including e200z0 with VLE), e500 (including e500v1, e500v2 and e500mc), e600, e700, e5500, e6500 cores
oQorIQ series: P1, P2, P3, P4, P5 and T1, T2, T4 families
Infineon Tricore architecture (up to architecture v1.6.2 (AURIX))
Intel IA-64 Architecture – Itanium.
Motorola DSP 56K
Motorola MC6816
MIPS
oMIPS Mark I (R2000)
oMIPS Mark II (R3000)
oMIPS Mark III: (R4000, R4200, R4300, R4400, and R4600)
oMIPS Mark IV: R8000, R10000, R5900 (Playstation 2)
oMIPS32, MIPS32r2, MIPS32r3 and MIPS64, MIPS64r2, MIPS64r3
oAllegrex CPU (Playstation Portable), including VFPU instructions
oCavium Octeon ISA extensions
oMIPS16 (MIPS16e) Application Specific Extension
oMIPS-MT, MIPS-3D, smartMIPS Application Specific Extensions
oToshiba TX19/TX19A Family Application Specific Extension (MIPS16e+ aka MIPS16e-TX)
Mitsubishi M32R(comes with source code)
Mitsubishi M7700 (comes with source code)
Mitsubishi M7900 (comes with source code)
Nec 78K0 and Nec 78K0S (comes with source code)
STMicroelectronics ST9+, ST-10 (comes with source code)
SPARCII, ULTRASPARC
Siemens C166 (flow)
Fujitsu F2MC-16L, Fujitsu F2MC-LC (comes with source code)
16-bit Microchip PIC series (PIC24, dsPIC: PIC24XX, PIC30XX, PIC33XX)
调试器模块
在 IDA Pro 中,全部调试器模块均可用。

不支持的处理器
若是您的目标处理器未包含在上面的列表中,您有两个选择:

要求咱们在未来的某个时候添加对处理器的支持:咱们欢迎您提供有关应将哪些处理器添加到 IDA Pro 的反馈。
使用咱们的 SDK 并开发您本身的 SDK(对全部人免费,但不受支持)。

支持的文件类型
IDA Pro 能够反汇编全部流行的文件格式。 该列表包含一些(但不是所有)IDA Pro 处理的文件类型。
MS DOS
EXE File
MS DOS COM File
MS DOS Driver
New Executable (NE)
Linear Executable (LX)
Linear Executable (LE)
Portable Executable (PE) (x86, x64, ARM, etc)
Windows CE PE (ARM, SH-3, SH-4, MIPS)
Mach-O for OS X and iOS (x86, x64, ARM and PPC)
Dalvik Executable (DEX)
EPOC (Symbian OS executable)
Windows Crash Dump (DMP)
XBOX Executable (XBE)
Intel Hex Object File
MOS Technology Hex Object File
Netware Loadable Module (NLM)
Common Object File Format (COFF)
Binary File
Object Module Format (OMF)
OMF library
S-record format
ZIP archive
JAR archive
Executable and Linkable Format (ELF)
Watcom DOS32 Extender (W32RUN)
Linux a.out (AOUT)
PalmPilot program file
AIX ar library (AIAFF)
PEF (Mac OS or Be OS executable)
QNX 16 and 32-bits
Nintendo (N64)
SNES ROM file (SMC)
Motorola DSP56000 .LOD
Sony Playstation PSX executable files,
object (psyq) files
library (psyq) files
在图库中查看支持的处理器列表和许多处理器拆解的屏幕截图。

更多试用请访问:

公司名称:上海道宁信息科技有限公司 地  址:上海浦东新区金桥路1399号(福建天安大厦)2105室 总  机::021-50318395,021-58995797,021-58996110

相关文章
相关标签/搜索