吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7839|回复: 8
收起左侧

[PC样本分析] Tear(窗口撕裂)

  [复制链接]
安静的小酒吧 发表于 2015-12-29 13:13
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 安静的小酒吧 于 2015-12-29 14:14 编辑

Tear(窗口撕裂)病毒分析--我在吾爱的第五个样本分析
安静的小酒吧
基本信息
样本名称:Tear(窗口撕裂).exe
样本来源:卡饭论坛(http://bbs.kafan.cn/thread-1861298-1-1.html
样本大小:52KB
MD5458CA58C53F2C8156A6E909E9431C68E
SHA-1C2928EBF61B97FC4603C61FC069F72309FE54F0C


感染现象:
直接上图,6的不行!还有撕裂的音效哦!
image1.png
image2.png
image3.png


行为分析
0x00 先查壳,VB写的
image4.png
0x01 VB的代码逆的不多,尤其不喜欢动态调试VB的程序,去爱盘下一个VB Decompiler,人进去直接看源码
image5.png
代码结构十分简单,简单分析之后结构如下:
绘图1.jpg
0x02 看到上面的流程图就很明白了吧,简单流程就是初始化完成后设置了一个2000ms的定时器,定时检查是否有可见的窗口,如果有就进行撕裂,然后Paly一个撕裂的音效。
0x03 撕裂窗口原理
         A.随机产生撕裂的形状,随机算法就不分析了
         
[Visual Basic .NET] 纯文本查看 复制代码
  Dim var_12C As Global[/align]  loc_0040388A: On Error Resume Next
  loc_004038B2: Randomize(10)//产生一个随机数
  loc_004038D2: If var_407334 <> 0 Then GoTo loc_004038F0
  loc_004038DE: var_eax = %cobj
  loc_004038E4: var_16C = vbNullString
  loc_004038EE: GoTo loc_004038FA
  loc_004038F0: 'Referenced from: 004038D2
  loc_004038F0: var_16C = vbNullString
  loc_004038FA: 'Referenced from: 004038EE
  loc_0040391B: var_7C = Global.Screen
  loc_00403920: var_130 = var_7C
  loc_0040397B: var_124 = Global.Width
  loc_00403983: var_138 = var_124
  loc_004039C9: If var_407334 <> 0 Then GoTo loc_004039E7
  loc_004039D5: var_eax = %cobj
  loc_004039DB: var_178 = vbNullString
  loc_004039E5: GoTo loc_004039F1
  loc_004039E7: 'Referenced from: 004039C9
  loc_004039E7: var_178 = vbNullString
  loc_004039F1: 'Referenced from: 004039E5
  loc_00403A12: var_80 = Global.Screen
  loc_00403A17: var_140 = var_80
  loc_00403A7A: var_148 = Global.TwipsPerPixelX
  loc_00403AD7: cdq
  loc_00403AD8: idiv ecx
  loc_00403ADA: var_4C = CLng(var_124)
  loc_00403AFE: If var_407334 <> 0 Then GoTo loc_00403B1C
  loc_00403B0A: var_eax = %cobj
  loc_00403B10: var_184 = vbNullString
  loc_00403B1A: GoTo loc_00403B26
  loc_00403B1C: 'Referenced from: 00403AFE
  loc_00403B1C: var_184 = vbNullString
  loc_00403B26: 'Referenced from: 00403B1A
  loc_00403B47: var_7C = Global.Screen
  loc_00403B4C: var_130 = var_7C
  loc_00403BA7: var_124 = Global.Height
  loc_00403BAC: var_138 = var_124
  loc_00403BEF: If var_407334 <> 0 Then GoTo loc_00403C0D
  loc_00403BFB: var_eax = %cobj
  loc_00403C01: var_190 = vbNullString
  loc_00403C0B: GoTo loc_00403C17
  loc_00403C0D: 'Referenced from: 00403BEF
  loc_00403C0D: var_190 = vbNullString
  loc_00403C17: 'Referenced from: 00403C0B
  loc_00403C38: var_80 = Global.Screen
  loc_00403C3D: var_140 = var_80
  loc_00403CA0: var_148 = Global.TwipsPerPixelY
  loc_00403CFD: cdq
  loc_00403CFE: idiv ecx
  loc_00403D00: var_54 = CLng(var_124)
  loc_00403D60: var_44 = CLng(vbNullString)
  loc_00403E5C: var_eax = GetWindowRect(hWin, var_64)//获取窗口的位置,并计算大小
  loc_00403E7A: var_68 = var_5C - var_64
  loc_00403E90: var_74 = var_58 - var_60

         B 撕裂效果的实现
          撕裂效果的实现使用了两个比较特殊的函数CreatePolygonRgnSetWindowRgn
[Visual Basic .NET] 纯文本查看 复制代码
loc_004063B6: var_eax = CreatePolygonRgn(edx+0000000Ch+var_384, var_24, 2)
 loc_004063EB: var_eax = SetWindowRgn(hWin, CreatePolygonRgn(edx+0000000Ch+var_384, var_24, 2), -1)

其中CreatePolygonRgn创建一个由一系列点围成的区域。windows在需要时自动将最后点与第一点相连以封闭多边形
SetWindowRgn设置了一个窗口的区域.只有被包含在这个区域内的地方才会被重绘,而不包含在区域内的其他区域系统将不会显示。其中最后一个参数为-1表示NULL,空值,这样的话就不会显示出来。
所以结合这两个函数的功能就可以知道,撕裂窗口原理是先产生一个封闭的包围,然后让这个封闭的包围不显示出来。
查杀方法
打开任务管理器,结束对应进程就可以。

小结
这是一个很小型的病毒样本,没有隐藏行为,没有太多的恶意感染现象,只是产生一个比较好玩的效果。
那么问题来了:这到底是算一个恶搞的软件还是一个病毒样本呢?
或许这就像好人和坏人的区别一样吧,两者之间并没有很明显的界限。只是你看的角度决定而已吧。

样本在这(解压密码:52pojie): Tear.zip (19.71 KB, 下载次数: 63)

免费评分

参与人数 4威望 +1 热心值 +3 收起 理由
hs258 + 1 我很赞同!
by丶小虫 + 1 用心讨论,共获提升!
C-FBI-QM + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
willJ + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

520_ai_in@sina. 发表于 2015-12-29 13:24
卡法论坛...楼主打错字了
 楼主| 安静的小酒吧 发表于 2015-12-29 14:15
stupidjia 发表于 2016-1-31 15:03
病毒效果不错,虽然简单但是有意思,收藏之~~感谢楼主分享~~~
Windows10 发表于 2016-2-19 10:53
有点意思
zdfs530 发表于 2016-3-27 20:52
看帖回复一下
MAXtoDEATH 发表于 2016-4-4 13:04
如果对Decompiler做好反调,做好容错处理与字符变形加密的话。。。
by丶小虫 发表于 2016-4-18 20:59
谢谢楼主的分享
6fingers 发表于 2016-8-7 22:18
好有意思的病毒
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表