首页 > 其他分享 >exe反编译工具IDA

exe反编译工具IDA

时间:2023-07-09 21:36:03浏览次数:43  
标签:反编译 exe 附上 Demo capemon sandbox cape IDA

竞学实训》报告

 

 
   

 

 

学       院 :网络空间安全学院

专       业 :

学 生 学 号 :

学 生 姓 名 :   

 

 

二〇二三年七月

 

 

 

 

 

 

 

 

 

 

 

实验 Malware Analysis

 

一.实验目的

掌握Malware Analysis的方法。

二.实验内容

1. 样本准备

请编写一个可执行程序Demo.exe,该程序使用Windows API “WinExec”启动程序”calc.exe”

(附上主要代码)

 

 

 

 

  1. 静态分析

2.1请使用反汇编工具IDA分析Demo.exe执行calc.exe的代码。

(附上截图)

 

 

 

2.2 请先使用软件壳UPX对Demo.exe加壳,然后使用反汇编工具IDA分析加壳后Demo.exe的代码。本次的分析结果与2.1的分析结果相比,有什么不同?

(附上截图和文字说明)

 

 

 

可以看到,左侧的函数变少了。部分函数和符号可能丢失:因为 UPX 加壳会对文件进行一些修改,包括重定位等操作,所以在反编译时可能会导致部分函数和符号丢失或无法正确还原。

 

 

 

 

  1. 动态分析

3.1将加壳后的Demo.exe上传到在线cape sandbox,cape sandbox是否能监控到Demo.exe的“WinExec”执行?

(附上截图)

 

 

 

 

 

3.2 在Ubuntu系统上安装本地的cape sandbox, 安装方法参考官网或百度的帖子。

(请描述安装过程遇到哪些问题?如何解决的?)

 

chmod+x ,给.sh文件添加执行权限.

 

 

 

 

3.3 使用本地的cape sandbox重复3.1的实验,本地的cape sandbox能否监控到Demo.exe的WinExec行为?

(附上截图)

 

 

 

 

 

3.4 阅读cape sandbox源码,cape sandbox的进程(process)监控模块,共监控了哪些API?

 

 

 

 

 

3.5 修改cape sandbox源码,使得它的进程(process)监控功能只监控一个API“WinExec”,不再监控其它API。

提示:Step1.下载cape sandbox的组件capemon的代码到本地。

Step2参考官方文档“How to add hooks to capemon”修改capemon源码;编译生成新的capemon.dll,。

Step3: 参考文档“How to compile capemon”用新的capemon.dll替换掉原capemon.dll。

 

(请附上修改的代码+注释)

 

 

 

 

 

 

 

 

 

 

三.实验总结

(本实验有关的一些独立思考)

 

 

 

 

标签:反编译,exe,附上,Demo,capemon,sandbox,cape,IDA
From: https://www.cnblogs.com/wanghuaqiang/p/17539444.html

相关文章

  • Python调用 JS -PyExecJS, Python 调用 JS -js2py
    Python调用JS-PyExecJS日常Web端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码通过调式,一层层剥离出关键的JS代码,使用Python去执行这段代码,得出参数加密前后的Python实现//计算两个数的和functionadd(num1,num2){returnnum1+num2;}......
  • python打包Windows.exe程序(pyinstaller)
    python打包Windows.exe程序(pyinstaller)基础命令pipinstallpyinstaller使用pip命令来安装pyinstaller模块。-F:pyinstaller-Fhello.py-phello2.py-D:pyinstaller-Dhello.py-phello2.py-i:pyinstaller-itb.ico-Fhello.py-phello2.py其中前一个文件hel......
  • Eclipse 3.6.2 反编译插件jad的配置说明
          重复说明:  1.将jad.exe文件放入java的bin目录下,如:C:\ProgramFiles\Java\jdk1.6.0_20\bin2.将net.sf.jadclipse_3.3.0.jar放入eclipse的plugin目录下3.打开eclipse,依次在window->preference->General->Editors->FileAssociations,然后在右侧选中.class文件,在下方选......
  • Frida 安装
    0.当前状态Nexus5x系统为Android8.1Win11(是kvm虚拟机)1.安装(Frida12最好在<=安卓8.1的版本上用,最好别在>=安卓10上用。Frida14最好在>=安卓10的版本上用,别在<=8.1的版本上用。)pc端需要的依赖:python3,adb(google搜索androidplatformtools)pc需要安装的包(pip):frida,frida-......
  • IDE validate什么意思?
     IDE是集成开发环境(IntegratedDevelopmentEnvironment)的缩写,是一种用于软件开发的工具,提供了一系列的功能,包括代码编辑、编译、调试和测试等,能够提高开发效率。"validate"是验证的意思,常用于对数据或输入进行验证的过程。在IDE中,"validate"通常用于指示IDE在编译或运行......
  • FART脚本针对Android12 + Frida16适配
    针对@hanbinglengyue的FART项目下的Frida脱壳脚本进行最新适配,可在Frida16.1.0+Android12环境下进行脱壳项目地址:https://github.com/LLeavesG/FART-Fix具体使用方法请参见原项目FART:https://github.com/hanbinglengyue/FART对其中的frida_fart.zip中提供的两个js文件进行......
  • 【WALT】scale_exec_time() 代码详解
    @目录【WALT】scale_exec_time()代码详解代码展示代码逻辑:为什么归一化?⑴ 将CPUcycles转换为CPU当前频率⑵ 归一化delta【WALT】scale_exec_time()代码详解代码版本:Linux4.9android-msm-crosshatch-4.9-android12代码展示staticinlineu64scale_exec_time(u64delt......
  • BOSHIDA DC电源模块如何选择定制代加工
    BOSHIDADC电源模块如何选择定制代加工选择定制代加工DC电源模块需要考虑以下几个方面: 1.电源模块的性能和规格:需要根据实际应用场景,确定所需的输出电压、输出电流等参数,并选择合适的电源模块类型,如开关电源模块、稳压电源模块等。2.供应商的信誉和经验:需要选择有一定经验......
  • spring各版本冲突:Failed to process import candidates for configuration class [com
    今天又发现一个通病##springcloud-springcloudalibaba-springboot的版本对应关系#########报错如下:Failedtoprocessimportcandidatesforconfigurationclass[com.example.SunApplication];nestedexceptionisorg.springframework.core.NestedIOException:ASMC......
  • org.apache.spark.shuffle.FetchFailedException: The relative remote executor(Id:
    问题描述org.apache.spark.shuffle.FetchFailedException:Therelativeremoteexecutor(Id:21),whichmaintainstheblockdatatofetchisdead.最近在做Spark的性能优化,测试使用不同CPU核数和内存对计算性能的影响,由于是在测试集群进行测试的,硬件配置比生产上面的要少和......