20145233计算机病毒实践之IDA的使用

PSLIST导出函数做了什么

  • 这个函数是一个export函数,所以在view中选择export

  • 查到后,双击打开这个函数的位置

  • 仔细看这个函数可以发现这个GetVersionExA

  • 并且后续进入了其它函数,可以看到在循环使用

  • 通过循环使用,获得了我们的进程信息

  • 通过网络发送我们的进程列表,或者获得我们列表某一个特定的进程名,来进行后续操作。

使用图模式绘制出sub_10004E79的交叉引用图

  • sub_10004E79的交叉引用图,当进入这个函数时,哪个API可能被调用?仅仅基于这些API函数,你可以如何重命名这个函数?
  • ctrl+x打开交叉引用可以看到三个函数

  • 双击这些函数,观察每个函数的行为

  • 根据行为得到如下图的命名(因为它主要目的是获得了系统的语言并发送出去)

  • 重命名比较简单右键Edit就可以改,这样的好处就是不只是看代码,改成函数名字后,可以直观的知道这个函数的意义。

  • 通过操作,可以发现这个API函数主要是获取操作系统的语言。

DLLMAIN直接调用了多少WINDOWS API

  • 这些WindowsAPI有多少个深度为2时被调用?
  • 回到DLLMAIN我们,右键修改深度为2

  • 这时候会自动打开一个图,很乱,因为里面涉及到的函数很多,所以我直截取一部分,

尝试使用MSDN页面

  • 我先查找了什么是MSDN?

    • 这是微软公司面向软件开发者的一种版本。MSDN 涵盖了所有的可以被开发扩充的平台和应用程序,因此如微软公司的百科全书 Encarta,或者是各种游戏,是不包括在MSDN 之内的,因为这些产品直接面向最终用户,没有进行程序开发的必要
    • MSDN版是属于测试版的系统,MSDN的意思是Microsoft Developer Network,也就是微软的软件开发伙伴论坛,一般软件即将发售的时候微软都会提供一个测试版给内部的技术人员、开发人员进行测试,当然并不是所有的人 都能得到这个版本的,只有微软比较信赖的开发者或技术人员才能得到。然后这些版本会通过各种途径泄漏出来,这就是我们常见的MSDN版,MSDN版因为还 是属于测试版,所以一般用户如果只是尝鲜的话可以试试,不建议长期使用
  • 使用MSDN的页面中socket和IDA中的命名符号常量,在0x10001701处对socket调用的参数更有意义
  • G打开查找:输入这个地址
  • 可以找到三个push参数,每个参数代表不一样的含义,通过右键Use standard...可以转换成可以看懂的函数AF_INET

  • 修改MSDN的页面中socket和IDA中的命名符号常量,在0x10001701处对socket调用的参数更有意义

  • 这里我们需要查找MSDN的socket代码,每个数字都代表不一样的含义

搜索in指令

  • 这个指令和一个魔术字符串VMXh用来进行VMware检测。这在这个恶意代码中被使用了吗?使用对执行in指令函数的交叉引用,能进一步发现检测Vmware的证据吗?
  • 查找in指令,用空格进入图模式。
  • 可以找到一个不叫VMXh的,但是右键转换后,发现这个就是所要找的位置。
  • 继续在这个后面观察,可以看到下图红框中的这句话,证明Vmware的使用证据

实践感想

  • 本次实践是实践八的后续,总体来说,IDA的功能还是很强大的,实践内容说实话还是比较有难度的,在指导下虽然可以快速的做出来,但是要理解还是比较难的,因为都是英文,并且代码深刻理解需要较为深厚的汇编知识,我对于一些汇编知识已经有些遗忘了,在理解的时候想了有一些时间。
  • 但是通过IDA的分析,可以理解里面的很多函数的意思,里面的图文解释的很清楚,这很便于理解,相比之前的那些分析工具它有很强的连通性,容易明白一步完了接下来的操作,这是其他不具有的,使用了IDA后明白了自己学到的还是很少,自己应该在以后的学习中更注重实践,感到自己实践学到的比单纯的听学到的更多。

20145233计算机病毒实践九之IDA的使用的更多相关文章

  1. 20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践

    20145203盖泽双 <网络对抗技术>实践九:Web安全基础实践 1.实践目标 1.理解常用网络攻击技术的基本原理. 2.Webgoat下进行相关实验:SQL注入攻击.XSS攻击.CSR ...

  2. 计算机病毒实践汇总六:IDA Pro基础

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. IDA使用 (1)搜索.下载并执行IDA Pro,对可执行程序lab05-01.dll进行装载,分别以图形 ...

  3. 计算机病毒实践汇总二:bufferzone沙盘使用体验

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. 安装bufferzone及其简单使用 (1)安装BufferZone BufferZone的msi安装文件 ...

  4. 计算机病毒实践汇总四:netcat使用方法

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. netcat概述 (1)特性 "TCP/IP协议栈瑞士军刀",可以被用在支持端口扫描. ...

  5. 滑屏 H5 开发实践九问

    滑屏的交互形式自从在 H5 中流行起来,便广泛应用在产品宣传.广告.招聘和活动运营等场景中,作为微信朋友圈广告惯用的形式,其影响力更是得到了强化与放大.如今滑屏H5可谓玲琅满目,数不尽数. 作为一个 ...

  6. UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享

    在前几章介绍了不少MVVM以及Mvvmlight实例,那实际企业开发中将以那种架构开发比较好?怎样分层开发才能节省成本? 本文特别分享实际企业项目开发中使用过的项目架构,欢迎参照使用!有不好的地方欢迎 ...

  7. EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(九)

    前言 这一篇我们将完成系统的权限设置功能以及不同角色用户登录系统后动态加载菜单.注意:此示例权限只针对菜单级,如果园友需要更复杂的系统权限设置,可以拓展到按钮级或属性级. 用户的登录采用Form认证来 ...

  8. 中小型研发团队架构实践九:任务调度Job

    一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 ...

  9. [置顶] 【机器学习PAI实践九】如何通过机器学习实现云端实时心脏状况监测

    背景 我们通过之前的案例已经为大家介绍了如何通过常规的体检数据预测心脏病的发生,请见http://blog.csdn.net/buptgshengod/article/details/53609878 ...

随机推荐

  1. SlickEdit V21 2016 破解教程,win linux mac

    最近主要工作系统转到LInux上面来了,Slickedit的安装破解也费了些事,今天将过程整理一下做个记录. 说明:SlickEdit pro V21.03 Linux 64位实测可用,MAC实测可用 ...

  2. configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/

    编译php出现错误: configure: error: Please reinstall the libcurl distribution - easy.h should be in <cur ...

  3. 本地通过源码方式启动solr

      首先,下载solr5.5.0源码,http://apache.fayea.com/lucene/solr/5.5.0/solr-5.5.0-src.tgz   解压完成后,分为几个目录,然而sol ...

  4. Java HashMap 遍历方式探讨

    JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了map.foreach来进行遍历. keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从 ...

  5. Redis Windows环境安装

    1.下载Windows 版本 Redis: https://github.com/ServiceStack/redis-windows 2. 解压文件: F:\开源代码学习\01_Redis 打开 目 ...

  6. GridView弹出对话框

    if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) ...

  7. 记一次微信小程序开发

    之前在网上看到博客园新闻服务开放接口,因为自己本身有看博客园IT新闻的习惯,为了能随时随地简洁方便的浏览新闻,于是萌生了一个利用开放API开发一个微信小程序的想法. 1. mpvue初探 平时技术栈有 ...

  8. FDQuery sqlserver 临时表

    用FDQuery执行创建临时表,查不到临时表,用ADOQuery和BDEQuery均正常,比较发现用ADOQuery执行的时候只有SQL没有调用sql的系统存储过程sp_prepexec. 是fdqu ...

  9. 学习IIS & MVC的运行原理 (转)

    我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件.这其中是怎样的一个处理过程. 1:当你从浏览器中输入一个 ...

  10. rook 删不掉的问题

    # kubectl get crd -o yamlapiVersion: v1items:- apiVersion: apiextensions.k8s.io/v1beta1  kind: Custo ...