在这里说说我地解题思路吧。.PDFVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在这里说说我的解题思路吧。 第一次运行,观察到界面: 随便输入一个32 位长度的字符串,出现如下提示: 白板,什么也没有。 于是开始了下面的分析过程: 首先,职业惯例,拿到样本先看看PE 的一些基本信息,以便后续的分析。 通过FFI 工具可以这里看到,这个样本是使用UPX 加壳的。手动脱UPX 不难,直接在后面的 JMP 处下断点,单步一步即可。 脱壳的细节不用再多说,大家都懂的。 最初想的是,断API 来搞定他 相关的有GetWindowTextW, GetDlgItemTextW 等,根据获得的字符串,来跟进,找到对字符 串进行分析的代码。 先在对话框中随意输入一些字符: 果然,断了下来。 对应的,在左侧汇编代码中,找出这个函数的地址。 这时,我换IDA 工具静态分析其中的函数。 在IDA 中,快捷键G,跳转的代码。 好吧,这时MFC 的库代码CWnd::GetWindowTextW 。在OD 里接着跟踪,观察此函数的调用 者。 在IDA 里,这就是这个函数的调用。 在这个函数里,判断了字符串的长度,如果不是 32 ,就返回,所以可以基本判断,关键点 就是这里了。 在下文中,先后进行了WideChartoMuiltByte 的转换,然后是strtol 对字符串进行处理。 根据MSDN 对strtol 的描述,其是将字符串按照不同进制,转换为数字。这里的参数是0x10 , 也就是说,是将这个字符串,当作16 进制,来转换成一个数。 根据这些信息,可以猜到,这些字符只能是 0-9A-F 之间的组合。再根据长度进行猜测,可 能的答案是 MD5。 接下来找这个函数的调用者,这是MFC 的样本,按X 键提示找不到调用者,我换了种方法, Alt-B 有哪些信誉好的足球投注网站二进,找相关序表。 将函数改了个名字,接着追根溯源。 552DEC 应该是消息映射,控件消息对应的动作。 40B658 处,应该是关于按钮的指针。 如上图,一步一步找控件的调用者,找到此位置。 既CDialog::OnInitDialog 和 CDialog::DoModal 之间,可以猜想,这是在对窗体进行初始化操 作。 接着找调用者,我标记为IMPORTANT_FUNC 在IMPORTANT_FUNC 中,DoModal 完之后,有一个简单的解密循环,解密长度是 eax = 10h = 16 字节。可以猜想,和密码有关。 可以初步推断,byte_5C2C30 是与密码有关的一个值。 继续x 查找引用。 Sub_518FB0 的参数,有三个,10h 是密码长度,5C2C30 作为参数之一,传递给了这个函数。 可见Sub_518FB0 与密码生成有关。 暂将Sub_518FB0 函数命名为preparePassword 下面的005190B0 静态分析,感觉还是很乱,标记为parparePassword_2 先。 402020 里面,有个SetDIBitsToDevice,这里就是绘图了。我标记为DrawPic 如图表示: 基本上找对位置了,用OD 试一下 可以看到,这里在对我的输入进行处理。 这里的密码,应该是可逆的,于是我x 了一下preparePassword 的调用。 可以看到,除了IMPORTANT_FUNC 之外,还有一个函数也调用了。 根据判断IMPORTANT 是在用Key 解密,那么401040 就应该是加密了。 在401040 函数内部401445 处,找到一个函数。 IDA 没有识别,用OD 看一下。 这里是 Netbios。根据楼上放出的消息,每个计算机上的密码都不尽相同,而NetBios 的作 用是生产MAC 地址,正符合了我的判断。 OD 跟踪到这里 可以看到数据区已经有了处理好的代码。 贴过去,尝试运行一下。 搞定。 以上为解密过程~

您可能关注的文档

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档