什么是逆向工程?



  • 替代文字

    什么是逆向工程?

    逆向工程是一种反程序过程,在这个过程中,事物与对象分开以了解其内部工作和设计。至于软件方面,逆向工程是一个过程,通过这个过程,源代码(0和1)被反汇编成易于理解软件和发现漏洞的东西。恶意软件研究人员大量使用逆向工程。逆向工程用于开发更好的反恶意软件,反勒索软件,反病毒软件。许多lagacy软件都经过逆向工程,通过将其转换为更新,更高效的代码来保持其高效运行。在安全性和恶意软件分析方面,逆向工程是最困难的工作之一。

    汇编程序允许您编写可读代码,汇编程序然后将其转换为处理器可以理解的代码。不同的处理器有自己的本机指令集。

    调试器是一种工具,它提供诸如逐步执行,断点和跟踪变量值等功能。一些调试器也有一个非常好的功能,称为反向调试,它可以向后执行程序的执行。

    一些众所周知的调试器是

    * GNU调试器 - 它调试机器代码。
    * Valgrind - 这可以调试许多语言,如Python,C,C ++,Java,汇编等,
    * Visual Studio - 这可以调试C ++,JavaScript和.net程序。
    * Turbo Debugger - 这是我最喜欢在DOS下调试程序集和C的调试器。
    

    有很多开源和专有调试器可用。这取决于一个人适应的调试器。

    随着信息技术的进步,即使调试器已经演变成更为复杂的逆向工程工具。Kali linux为您提供了一套完整的逆向工程工具。Apktool,dex2jar,diStorm3,edb-debugger,Jad Debugger,Javasnoop,OllyDbg和Valgrind是Kali Linux内置逆向工程的一些重要工具。

    一些流行的逆向工程工具是

    IDA-Pro - IDA-Pro是一款非常受欢迎的交互式反汇编程序。它适用于各种处理器和操作系统。它还支持许多可执行格式。
    Hiew - 它有一个用于x86,x86-64和ARM的内置反汇编程序,用于x86,x86-64的汇编程序。
    CFF Explorer - 这是一个非常通用的工具。它有一个反汇编程序,签名扫描程序,地址转换器,依赖分析器等。
    2019年3月5日星期二,在旧金山举行的RSA安全会议上,NSA提供了Ghidra(一种精致的逆向工程工具)作为开源。因为它来自NSA,它必须是一个很好的工具。“如果你已经完成了软件逆向工程,你发现它既是艺术又是科学,从开始到结束都没有一条艰难的道路,”乔伊斯说。“Ghidra是为我们在NSA内部使用而构建的软件逆向工程工具。我们并没有声称这将是替换那里的所有东西 - 它不是。但它帮助我们解决了我们工作流程中的一些问题。 “
    

    Ghidra将被世界各地的许多网络安全专家使用。

    由于越来越多的复杂恶意软件编写者可以隐藏反病毒软件中的恶意活动,因此AV供应商有必要雇用非常擅长逆向工程的人员。许多云提供商也需要优秀的逆向工程师来查找和修复漏洞。云上存在许多数据泄露和数据泄漏。反向工程师可以在发现和修复漏洞方面提供很大帮助。

    “一位优秀的工程师反过来思考他自己提出的组件和系统的风格后果。” - 赫尔穆特·雅恩
    

Log in to reply