首页 > 其他分享 >4.1IDA基础设置--《恶意代码分析实战》

4.1IDA基础设置--《恶意代码分析实战》

时间:2022-12-10 17:01:00浏览次数:52  
标签:文件 4.1 汇编 -- 恶意代码 加载 IDA

1.加载一个可执行文件

① 选项一:当加载一个文件(如PE文件),IDA像操作系统加载器一样将文件映射到内存中

② 选项三:Binary File将文件作为一个原始的二进制文件进行反汇编,例如文件带有shellcode、其他数据、加密参数,甚至里面带有可执行文件,如果文件还是以正常形式加载到IDA中,这些东西是不会被加载到内存中的,因此应该将文件作为二进制文件进行反汇编。

Manual load:选择后可以指定这个文件要加载的新的虚拟机地址,并且还会询问是否要逐个加载每一个节。
注:在默认情况下,IDA Pro的反汇编代码中不包含PE头或者资源节,而这些地方经常被恶意代码用来隐藏恶意指令。

2.反汇编窗口

(1)设置
Options->General->选择Line Prefixex(内存位置显示)并设置Number of Opcode Bytes为6(显示代码清单中每条指令的操作码值)

3.加载库以显示标准符号常量

View->Open Subviews->Type Libraries 来查看当前被加载的库,一般mssdk和vc6win会被自动加载,我们也可以右键加载一些其他的库。恶意代码经常需要使用本地Api,要获取本地Api的符号常量,需要加载ntapi库。


导入exe文件
  将对应版本cpp文件拖入到IDA中,点击OK,
  等待后点击空格,进入汇编,
  选择View --》open SubView --》String --》双击相关字符串 --》 进入定义,
  右键汇编代码 --》选择Jump to xref to operand交叉引用 --》跳转到汇编语句。

快捷键
  使用F5将汇编自动转换成伪代码。通过Jump-Jump to pseudocode (Tab)跳回到对应的源码。
  汇编指令右键,选择Graph View进入视图。
  视图选中,空格键进入汇编指令。

保存
  ctrl+F5

退出
  选择最后一项Dont save the database不保存数据

修改汇编与打补丁
  点击要修改的指令
  点击Edit,选择Patch program->Assemble

  
  输入要修改成的汇编(这里是一次修改一个字节,需修改多个字节要执行多次此操作    

  点击Edit,选择Patch program->Apply patches to input File,把补丁应用到输入的文件

  点击Create backup可以保存备份
注意:在IDA中打错了补丁就不能恢复了。

 

标签:文件,4.1,汇编,--,恶意代码,加载,IDA
From: https://www.cnblogs.com/renleiguanchashi/p/16971868.html

相关文章

  • Linux零基础入门篇
    1.1为什么要学习Linux我们为什么要学习Linux?我们现在的处境是什么?我们想达到什么样的目标?在谈到这三个问题,相信我们每个人都有自己的答案,我们来自不同的家庭,各种经历都不......
  • 数据库事务
    事务事务简介数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库的操作命令事务把所有的命令作为一个整体一起向系统提交或者撤销操作请求,即这一组命......
  • Android SDK下载和安装
    下载地址:​​https://www.androiddevtools.cn/​​​直接解压后,打开SDKManager.exe选择需要安装的包配置环境变量:控制台输入adbversion查看是否安装成功......
  • 虚拟机软件安装及配置
    下面正式来安装Linux系统,安装系统前需要下载如下软件:VMwareworkstation10.0CentOS7.xx86_64安装图解如下:Vmware10.0下载路径:​​http://download3.vmware.com/softw......
  • 斐波那契数列
    输入一个整数 n ,求斐波那契数列的第 n 项。假定从 0 开始,第 0 项为 0。classSolution{public:intFibonacci(intn){if(n<2)returnn;......
  • 图的基本概念和术语
    图的定义和术语图:G=(V,E)V:顶点(数据元素)的有穷非空集合;E:边的有穷集合;无向图:每条边都是无方向的;有向图:每条边都是有方向的;**完全图:任意两点都有一条边相......
  • Vulnhub之Thoth靶机详细测试过程
    Thoth作者:Jason_huawen靶机基本信息名称:ThothTech:1地址:https://www.vulnhub.com/entry/thoth-tech-1,734/识别目标主机IP地址(kali㉿kali)-[~/Vulnhub/Thoth]......
  • ubuntu内核模块编译
    1、hello.c:1#include<linux/module.h>2#include<linux/kernel.h>3#include<linux/init.h>4MODULE_LICENSE("GPL");5//__init是属性标志,意思是将函数放入.i......
  • spring——Spring Bean属性注入——短命名空间注入——c 命名空间注入(构造函数注入)
    c命名空间注入 c命名空间是构造函数注入的一种快捷实现方式。通过它,我们能够以<bean>属性的形式实现构造函数方式的属性注入,而不再使用嵌套的<constructor-arg>元......
  • C++停车场管理方案的数据结构设计
    C++停车场管理方案的数据结构设计题目5:停车场管理方案的数据结构设计[问题描述]停车场是一条可以停放n辆车的狭窄车道,并且只有一个大门是车的出入口。汽车停放按照到达......