逆向工程技术 逆向工程的系统组成有哪些

时间:2023-05-03 11:03/span> 作者:tiger 分类: 新知 浏览:5828 评论:0

移动代码的逆向工程是一种常见的可利用事件。黑客倾向于使用外部的、常用的二进制检查工具,如 IDA Pro、Hopper、otool 等,来研究原始应用程序的代码模式及其与服务器进程的链接。

逆向工程风险

运行时动态检查

一些语言——比如 Java、.NET、Objective C、Swift——比其他语言更容易受到逆向工程的影响,因为它们允许在运行时进行动态检查。除其他损害外,逆向工程代码可能会影响服务器的安全性、移动设备中包含的数据以及服务器检测越狱或植根设备的能力。

代码窃取

应用程序竞争对手可以使用逆向工程来查看应用程序的功能陈旧,甚至偷偷复制一些功能。这样,开发新代码的成本就降低了。

高级功能

黑客可能会使用此技术绕过身份验证过程来访问应用程序的高级功能。游戏作弊者可以通过这种方法获得相对于竞争对手的不公平优势。

避免逆向工程的最佳实践

使用类似的工具

保护应用程序免受逆向工程攻击的最佳方法是使用黑客用来尝试逆向工程的相同工具。如果这些工具可以轻松分析应用程序的字符串表、控制流路径、与服务器的交互、加密常量和密码、元数据等,那么代码就会受到威胁。开发人员还可以使用蛮犀安全评测系统等工具实时检测逆向工程尝试。

代码混淆

混淆过程应针对源代码、字符串表和对代码性能影响最小的方法的特定部分。开发人员应确保他们采用的混淆级别不会被反混淆工具轻易逆转,例如 IDA Pro 和 Hopper。

使用 C 语言

考虑使用 C 和 C++,这在很大程度上有助于运行时操作。这两种语言的许多库都可以轻松地与 Objective C 集成。Android 应用程序的类似方法是使用其 Java 本机接口。使用 C 和 C++ 库的目的是保护运行时或逆向工程工具,如 class-dump、class-dump-z、Cycript 或 Frida。

使用蛮犀安全平台

蛮犀安全移动应用加固系统针对移动应用,采用源码混淆技术、应用加壳、字节码抽取、字节码虚拟化、字节码转移、汇编指令虚拟化等代码加密技术,为用户提供全面的移动应用加固和攻击防范解决方案。

文章评论