有一天,在机缘巧合之下我获得了一个锁机软件(是多巧合阿喂!),然后兴高采烈的把它拖入了虚拟机里蹂躏(>_<!)。

很巧,软件有虚拟机检测。。。

Emmmm好吧,随便过一下。。。

我用的虚拟机是VMware12,网上查到了一段过检测的代码:

isolation.tools.setVersion.disable = "TRUE"

isolation.tools.getVersion.disable = "TRUE"

把上面两行加到虚拟机配置文件结尾,保存然后重新打开虚拟机即可。

好了,这次程序直接运行了起来。

靠!连一点暗示都不给,直接重启的嘛!这个人好坏好坏的,都不稍稍伪装下!

幸亏做了快照备份。。赶紧还原虚拟机,下面就开始简单分析一下这个程序的行为吧!

当然,少不了表姐的PeDoll~这时,表姐C/S的软件架构就很好的解决了测试机重启的问题~表白表姐~

好了,具体怎么抓的实在太简单,这里我就不写了,也就一个脚本的事,不耽误大家时间了。我们只看最后。

从PeDoll里保存下来两个512字节的数据文件,我断定这一定是这个智障软件写入到MBR的内容(废话嘛!)。其中一个很明显是锁机的,另一个可能是我虚拟机原始的MBR。看到这里谢天谢地。。至少这软件知道把原来的数据保存下来,这样就代表还原不是不可能拉!

在分析之前,我把虚拟机还原了一遍,又抓了一次数据。结果表明这丫两次写入的数据一模一样!诶,都不加个随机密码之类的吗!

好了,下面是这款软件写入到MBR的内容。

恩,这样乱七八糟的是要我怎么看嘛!还好,我有nasm! 于是,我随手从官网下载了nasm的二进制文件。就下面这货。

其中我们只用到ndisasm.exe这个程序来反汇编我们的MBR文件。最后来让我们看看结果~

嗯,,这回看着顺眼多了。把结果保存到文件中,我们来仔细分析下吧。

00000000  E90000            jmp 0×3

00000003  8CC8              mov ax,cs

00000005  8ED8              mov ds,ax

00000007  8ED0              mov ss,ax

00000009  8EC0              mov es,ax

0000000B  BC0001            mov sp,0×100

0000000E  BDED7C            mov bp,0x7ced   ;;;提示字符串偏移

00000011  BBED7C            mov bx,0x7ced

00000014  E8B000            call 0xc7       ;;;计算字符串长度

00000017  89C1              mov cx,ax       ;;;cx=字符串长度

00000019  B80113            mov ax,0×1301

0000001C  BB0C00            mov bx,0xc      ;;;页号0,黑底红字

0000001F  B200              mov dl,0×0

00000021  CD10              int 0×10        ;;;打印提示字符串

00000023  B800B8            mov ax,0xb800

00000026  05A000            add ax,0xa0

00000029  8ED8              mov ds,ax       ;;; ds=0xb8a0

0000002B  31C9              xor cx,cx       ;;;初始化cx

0000002D  31DB              xor bx,bx       ;;;初始化bx

0000002F  31C0              xor ax,ax       ;;;初始化ax

00000031  CD16              int 0×16        ;;;等待输入密码

00000033  3C08              cmp al,0×8      ;;;退格

00000035  7413              jz 0x4a

00000037  3C0D              cmp al,0xd      ;;;回车

00000039  741B              jz 0×56

0000003B  B402              mov ah,0×2

0000003D  8807              mov [bx],al

0000003F  886701            mov [bx+0x1],ah

00000042  81C30200          add bx,0×2

00000046  41                inc cx

00000047  E9E5FF            jmp 0x2f

0000004A  81EB0200          sub bx,0×2      ;;;退格键按下

0000004E  49                dec cx

0000004F  31C0              xor ax,ax

00000051  8907              mov [bx],ax

00000053  E9D9FF            jmp 0x2f

00000056  8CC8              mov ax,cs       ;;;回车键按下

00000058  8EC0              mov es,ax

0000005A  31DB              xor bx,bx

0000005C  BEDA7C            mov si,0x7cda   ;;;密码字符串偏移

0000005F  2E8A0ED97C        mov cl,[cs:0x7cd9]

00000064  B500              mov ch,0×0

以上参考了链接http://slab.qq.com/news/tech/1293.html,有兴趣的可以自己去看看。

经分析,这个MBR文件跟上面链接中的应该是同一种,特征完全一致,我只是写了一点注释方便大家对照(顺便学习一下汇编,嘿嘿嘿)。

最后得出密码的十六进制是C6C6BDE2C4E3C2E8B1C6A8BAA8DEA4A2(嗯,我就不翻译了),所以最后困扰我的就是这个密码要怎么输入?经研究发现有人说用ALT+小键盘数字来输入,不过我没有小键盘(求好心人赞助。。。),试了其他方法也没有成功,这里希望能有大佬指教一下~

最后一个不算结束的结束吧。经(xiao)此(da)一(xiao)战(nao)之后,我的功力又有了不小的提升。以后还是要多练练手才能不生疏阿。

此次用到的程序文件我全都打包放到了附件中(点击原文下载),感兴趣的小伙伴可以下载研究,欢迎交流~

记一次MBR锁机病毒分析相关推荐

  1. 013 Android锁机病毒分析

    文章目录 免流服务器-锁机病毒分析 秒抢红包-锁机病毒分析 免流服务器-锁机病毒分析 首先来分析这个免流服务器的锁机病毒,文件信息如下 文件: 免流服务器.apk 大小: 799835 bytes 修 ...

  2. android锁机病毒源代码,Android 锁机样本母体分析

    本帖最后由 莫问刀 于 2018-8-17 09:49 编辑 --------------------------------------------------------------------- ...

  3. 对两款流行锁机的分析

    i春秋作家:MUSYIDA 对两款流行锁机的分析 0x00 前言 据我所知,自2014年来,各种就敲竹杠锁机虽出不穷,刚开始以娱乐为主,后以勒索为目的,其方式变化多端,毫不夸张地说,此类样本很可能己达 ...

  4. 多层Android锁机样本分析

    Android锁机软件分析 作者:云在天(Harry)吾爱破解 原文地址:多层Android锁机样本分析 https://www.52pojie.cn/thread-701201-1-1.html ( ...

  5. iphone计算机锁,别人排队买11,我去店里刷了个机——记一次iPhone锁机刷机经历...

    别人排队买11,我去店里刷了个机--记一次iPhone锁机刷机经历 2019-10-03 21:49:10 77点赞 94收藏 231评论 前言 在我前几天还在表示自己很淡定,早上还在跟值友讨论说XS ...

  6. 新型联网安卓多层锁机木马分析

    新型联网安卓多层锁机木马分析 作者:云在天(Harry_孙) 吾爱破解论坛首发 所用工具 安卓模拟器 Eclipse JEB2 Android killer 样本信息 文件名称:刺激战场盒子.apk ...

  7. 【重榜】易语言锁机病毒模块分享!!!!

    锁机病毒的锁机密码:318758393 代码已经写完整了, 仅需要你在要用到的地方写到: 锁机病毒() 便会自动调用病毒代码, 还请各位别拿去干坏事, 你可以用来做控制自己朋友玩游戏用, 易语言锁机病 ...

  8. Android锁机样本分析

    样本基本信息 样本包名:Android.qun.zhu.an.zhuo.kou.kou MD5值: 36f2db49dcb62247055df771dca47bde 来源:52破解论坛某求助贴. 样本 ...

  9. 记一次SM32F407ZG死机原因分析

    主芯片:STM32F407ZG 产品软件架构: bootloader + upgrader / application (upgrader 是一个系统升级器,升级系统专用) 在bootloader模式 ...

最新文章

  1. 如何用WORD制作三线表
  2. python csv字符串写入_请教:如何把csv里的 emoji 字符串正确写入 DB?
  3. 轻芒阅读距离今日头条还差一个即刻
  4. 面向对象chapter1
  5. c++编码规范_汽车嵌入式软件测试——嵌入式软件标准及规范简介
  6. Go 基本语法之变量声明
  7. 2003下安装Comodo pro (通用)
  8. JSP:Cookie实现永久登录(书本案例)
  9. c语言试题库 文库,C语言试题库
  10. Endnote_X9安装及使用教程
  11. php 0x80004005,解决Access出现Microsoft JET Database Engine (0x80004005)未指定的错误
  12. Transformer模型详解
  13. Jetson 系列——Jetson Nano使用sudo命令免输入密码方法
  14. P1413 坚果保龄球
  15. MYSQL主从部署(Censo:6)
  16. 正则系列2: re.search用法
  17. 宇视阿宇摄像机夜间效果好吗?画面可以看清楚吗?
  18. 学习笔记-Web Generic
  19. 单片机:看门狗程序简介
  20. swift学习资料2022

热门文章

  1. web前端新手入门教程:Web 框架的架构模式探讨
  2. javaweb基础 02--javaweb基础概念
  3. C++/Qt 序列化操作
  4. Mysql group by,order by,dinstict优化
  5. 使用Hexo搭建专属Blog
  6. shell脚本手动执行成功,定时任务调用失败的解决方法。
  7. 算法题存档20190206
  8. 夸计算机老师的成语,夸赞老师的成语
  9. java工作面试必备知识 Java常用类库与技巧
  10. mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。