一个qq马的分析(转邪恶八进制)pc软件 文章资讯 手机软件

您当前的位置→图文中心安全防范一个qq马的分析(转邪恶八进制)

一个qq马的分析(转邪恶八进制)


2009/5/30  编辑:佚名 来源:www.eviloctal.com

一个qq马的分析
文章作者:Monster[E.S.T]
原始出处:http://www.hackerm.com.cn/read.php/31.htm
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

该文章已发表于《黑客X档案》0906期,后由原创作者友情提交到邪恶八进制信息安全团队, 转载请著名原作者和原始出处

最近Blog人气疯狂下跌, 就随便发篇垃圾无用文件文过来广告一下Blog, 真的希望大牛们一定不要B4我.


就快要高考了, 好长时间没上网了。 就在今天好不容易抽出点时间, 刚上QQ一个我不认识的小子就说要给我个黄站发布出来器, 我一高兴就要了因为我就在网吧, 也没多想就直接运行了, 结果刚运行文件程序一下子就没了, 过了一会qq又掉了, 我心里一凉啊, 哎, 又是马啊, 那就拿出来逆逆吧!
直接放到OD里, 代码如下: 复制内容到剪贴板
代码:
0041D987 > 60 pushad
0041D988 E8 09000000 call 0041D996
0041D98D 05 D80100E9 add eax, E90001D8用PEID来分析来看看, PEID说是Upack 0.3.9 beta2s -> Dwing的壳, 记得这是个很古老的壳了, 不管什么壳, 看到第一句的pushad大部分就应该可以能够用ESP定律来脱了。 为什么?翻翻以前的杂志, 看看ESP定律的原理就行了。
在OD中按F8跟踪一下, 只要看见ESP寄存器的数据信息变红, 之后就执行命令hr esp, 然后按F9让它运行起来, 接着程序就被断在了这里: 复制内容到剪贴板
代码:
0041DB9C 61 popad
0041DB9D - E9 8F54FFFF jmp 00413031这里的popad和pushad是一对, 看到这个popad, 可以说是说明我们我自己成功了, 我们跟随这个jmp跳过去就到了程序的OEP了, 直接使用OD把它DUMP出来, 再用PEID看看, 说是Microsoft Visual C++ 6.0 [Overlay], 已经没壳了。
我们用OD载入脱壳后的文件, F8跟踪几下后就可以看到如下代码: 复制内容到剪贴板
代码:
00405086 E8 65EBFFFF call <jmp.&kernel32.OpenMutexA>
0040508B 85C0 test eax, eax
0040508D 75 13 jnz short 004050A2刚现在开始先打开互斥(用来判断程序运行是否唯一), 继续往下看: 复制内容到剪贴板
代码:
004050E9 E8 16EEFFFF call 00403F04
004050EE 8B55 EC mov edx, dword ptr [ebp-14]
004050F1 B8 B0764000 mov eax, 004076B0
004050F6 E8 05E0FFFF call 00403100
004050FB A1 B0764000 mov eax, dword ptr [4076B0]
00405100 E8 EFE2FFFF call 004033F4 这段代码用来得到一个随即字符串作为DLL的文件名
我们略过这些,直接看关键代码: 复制内容到剪贴板
代码:
0040188A . 6A 02 push 2 ; /Origin = FILE_END
0040188C . 6A 00 push 0 ; |pOffsetHi = NULL
0040188E . 6A C4 push -3C ; |OffsetLo = FFFFFFC4 (-60.)
00401890 . FFB5 ACFEFFFF push dword ptr [ebp-154] ; |hFile
00401896 . FF15 1C304000 call dword ptr [<&KERNEL32.SetFilePoi>; \SetFilePointer这里的代码用于调整好文件指针用来读文件, 继续往下看: 复制内容到剪贴板
代码:
0040189C . 8365 EC 00 and dword ptr [ebp-14], 0
004018A0 . 6A 00 push 0 ; /pOverlapped = NULL
004018A2 . 8D45 EC lea eax, dword ptr [ebp-14] ; |
004018A5 . 50 push eax ; |pBytesRead
004018A6 . 6A 3C push 3C ; |BytesToRead = 3C (60.)
004018A8 . 8D85 B0FEFFFF lea eax, dword ptr [ebp-150] ; |
004018AE . 50 push eax ; |Buffer
004018AF . FFB5 ACFEFFFF push dword ptr [ebp-154] ; |hFile
004018B5 . FF15 30304000 call dword ptr [<&KERNEL32.ReadFile>] ; \ReadFile开始读文件了, 再往下几行我们会看到这里:
004018BB . 6A 3C push 3C 复制内容到剪贴板
代码:
004018BD . 8D85 B0FEFFFF lea eax, dword ptr [ebp-150] ; 取加密字符地址
004018C3 . 50 push eax ; 压入加密字符地址
004018C4 . E8 B90A0000 call 00402382 ; 来进行解密这里是解密算法,对加密信息进行解密,我们这里所谓的加密信息就是从文件中读出来的盗号贼的密码什么的, 我们按F7跟进这个call, 看这里的解密算法代码:
004023AD > /8B45 F8 mov eax, dword ptr [ebp-8] 复制内容到剪贴板
代码:
004023B0 . |40 inc eax ; eax加1, 已经解密到第eax位
004023B1 . |8945 F8 mov dword ptr [ebp-8], eax ; 保存位数
004023B4 > |8B45 F8 mov eax, dword ptr [ebp-8] ; 读取位数
004023B7 . |3B45 0C cmp eax, dword ptr [ebp+C] ; 是否解密到最后一位
004023BA . |73 16 jnb short 004023D2 ; 解密完成刚跳走
004023BC . |8B45 FC mov eax, dword ptr [ebp-4] ; 取加密字符地址到eax
004023BF . |0345 F8 add eax, dword ptr [ebp-8] ; 该位的ASCII值与位数进行与运算
004023C2 . |0FB600 movzx eax, byte ptr [eax] ; 按位取加密字符
004023C5 . |83F0 12 xor eax, 12 ; 该位的ASCII值与12H进行异或运算
004023C8 . |8B4D FC mov ecx, dword ptr [ebp-4]
004023CB . |034D F8 add ecx, dword ptr [ebp-8]
004023CE . |8801 mov byte ptr [ecx], al ; 保存该位加密后的值
004023D0 .^\EB DB jmp short 004023AD再F8往下跟踪几句, 会看到这样的代码: 复制内容到剪贴板
代码:
004047D3 8D45 E0 lea eax, dword ptr [ebp-20] 这里把解密后的明文地址放到eax里, 我们执行命令d eax, 嘿, 看见好东西了, 邮箱帐号, 密码。 到这里我们的分析也算结束了, 用就在刚才得到的邮箱帐号和密码登录上去, 嘿, 小样, 您的邮箱归我喽, 上面有1000+的qq, 这时突然想到这个盗号贼在盗号之前肯定会拿自己的号先测试一下什么的, 我会一直不断往前翻, 终于在前面去寻找到了这个盗号贼的密码, 密码还挺让人郁闷的, “fuckmepahhyyou”, 哎, 真不知道这人怎么样想的, 不管了, 登上去看看。
 

相关文章
  • 白宫的屋顶上拍到一个外星人生物
  • 在南极冰上出现了一个巨大的洞,科学家也没有办法解析
  • 王者荣耀新英雄梦奇与科加斯——吃出一个未来
  • 5G悄悄的到来了,我国开始建第一个基站
  • 如何建设SEO优化一个全新的网站
  • 王者荣耀9月22日每日一题答案:苏烈在哪一个城市长大?
  • 阿根廷Corrientes警方拍到一个可能是外星人的照片
  • 一个隐藏着的死亡行星,会在9月23日摧毁地球?
  • 官方微信推送的一个福利活动绑定公众号免费抽QQ豪华绿钻奖励
  • 360手机助手每周五下载APP 抽取一个0.1-200元不等的现金红包奖励
  • 发表评论
    阅读排行
    相关热门
    网站帮助 - 广告合作 - 下载声明 - 网站地图