【愚公系列】2023年08月 《恶意代码分析和逆向基础》之IDA Pro

举报
愚公搬代码 发表于 2023/08/18 22:59:16 2023/08/18
【摘要】 前言IDA Pro是逆向工程领域的一款反汇编软件,可以用于静态分析二进制文件以及恶意代码分析,以便理解程序的执行过程和行为。它提供了丰富的反汇编和反编译功能,可以支持多种硬件平台和操作系统。由于IDA Pro拥有广泛的使用和深厚的历史,因此被许多安全研究人员和逆向工程师所使用。 一、DllMainDllMain是Windows动态链接库(DLL)中的一个可选的入口点函数。它在DLL被加载和...

前言

IDA Pro是逆向工程领域的一款反汇编软件,可以用于静态分析二进制文件以及恶意代码分析,以便理解程序的执行过程和行为。它提供了丰富的反汇编和反编译功能,可以支持多种硬件平台和操作系统。由于IDA Pro拥有广泛的使用和深厚的历史,因此被许多安全研究人员和逆向工程师所使用。

一、DllMain

DllMain是Windows动态链接库(DLL)中的一个可选的入口点函数。它在DLL被加载和卸载时自动调用。该函数可以用于执行任何必要的初始化或清理操作,例如设置全局变量或释放资源。

DllMain按空格看DllMain地址为0x1000D02E

在这里插入图片描述

二、imports

IDA Pro 导入函数的作用是识别程序中使用的外部函数和库,并将它们的地址链接到可执行文件中。这使得反汇编器能够更好地理解程序的结构和代码,包括调用和外部依赖关系。这对于逆向工程和漏洞研究非常重要,因为它可以帮助分析者发现程序中存在的漏洞和安全隐患。

在这里插入图片描述

三、函数交叉引用

IDA Pro查看交叉引用的内容可以在函数或变量上单击右键,然后选择“查看交叉引用”,即可查看引用该函数或变量的其他位置。同时,您还可以使用快捷键“X”来查看交叉引用。

在这里插入图片描述

四、局部变量和参数

在IDA Pro中,局部变量和参数的内存分配方式是通过堆栈(stack)来实现的。当函数被调用时,它的参数以及返回地址被压入堆栈,然后局部变量在堆栈顶部分配空间。在函数返回时,堆栈顶部的空间被释放,参数和返回地址被弹出堆栈。这种方式使得函数调用可以快速地分配和释放内存,同时也可以防止栈溢出的情况。

局部变量特色是var开头或者负数,参数是正数

五、exports

IDA Pro是一款反编译工具,可以用于逆向分析二进制文件中的代码。导出函数可以将二进制文件中的函数名和函数地址提取出来,便于进行静态分析和代码重用。具体来说,导出函数可以帮助我们快速定位目标函数,并在调试和代码编写过程中提高效率。另外,IDA Pro也支持反编译成高级编程语言,让程序员更容易理解和修改代码。

在这里插入图片描述

六、图模式

在这里插入图片描述
在这里插入图片描述

七、IDA python

IDA python是一种使用Python语言编写的插件,可以与IDA Pro交互,帮助反汇编器分析二进制代码。它提供了各种工具和函数,可以通过IDA Pro的Python API进行扩展和自定义。使用IDA python可以更方便地执行各种反汇编和分析任务,从而加速漏洞分析和代码审计的过程。

在这里插入图片描述
上面含义就是获取光标处,进行相关解密

八、图模式

在分析恶意代码分析和逆向基础需要查阅相关参数命令,比如msdn就可以查到数字含义等等

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。