• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wchenfeng

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

恶意代码分析实战Lab1-3

Lab1-3

 

分析Lab1.3.exe文件

目录

Lab1-3

2. 是否有这个文件被加壳或混淆的任何迹象?

3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么?

4.有哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器?


2. 是否有这个文件被加壳或混淆的任何迹象?

利用PEiD进行分析

程序利用FSG1.0进行加壳操作

利用ollybdg进行手动脱壳

在尝试了一番之后,我发现这个脱完壳后还得进行修复,就搁置在这里。

我又换了另一种脱壳方式,基于ollybdg的自动化脱壳,软件里面有自带的功能,很好,不用进行修复。

 

 

3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么?

查看导入表

好家伙,没见过的玩意。网上搜了话,也不是很懂。

VariantInit函数

Initializes a variant to VT_EMPTY

他的作用很简单,就是初期化为VT_EMPTY。其实这个VariantClear ()已经做了,如果如果调用了它,就可以不用VariantInit()了。

SysAllocString

 是分配内存的. 一般用在  接口的 返回 BSTR 参数,不需要释放的. 释放 是 调用者要处理的。

CoCreateInstance

用指定的类标识符创建一个Com对象,用指定的类标识符创建一个未初始化的对象。当在本机中只创建一个对象时,可以调用CoCreateInstance;在远程系统中创建一个对象时,可以调用CoCreateInstanceEx;创建多个同一CLSID的对象时, 可以参考 CoGetClassObject 函数。

OleInitialize

它的作用是在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。除了CoGetMalloc和内存分配函数,应用程序必须在调用COM库函数之前初始化COM库

OleUninitialize

OleInitialize是一个Windows API函数。它的作用是在当前单元(apartment)初始化组件对象模型(COM)库,将当前的并发模式标识为STA(single-thread apartment——单线程单元),并启用一些特别用于OLE技术的额外功能。除了CoGetMalloc和内存分配函数,应用程序必须在调用COM库函数之前初始化COM库。


4.有哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器?

 将文件导入IDA,字符串里面没有发现关于网络的

然后对其names窗口进行分析,发现一个跟网址差不多的字符串。

 双击跳转过去,发现了网址

 

posted on 2022-04-12 20:01  王陈锋  阅读(95)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3