万博官网网页版登录本站信息来自网络

当前位置:万博app官网网页版登录 > 万博官网网页版登录 > 万博官网网页版登录本站信息来自网络
作者: 万博app官网网页版登录|来源: http://www.tanyademarco.com|栏目:万博官网网页版登录

文章关键词:万博app官网网页版登录,密钥搜索攻击

  从下面的“认证流程”分析可知,严格讲它应该是一个KeygenMe,爆破是不可能成功的。

  我调试机器的机器码:N24EBC46DZ9DB8HB1,输入12345678为认证码。待出“提示”框后,OD里F12停下来,从Call stack窗里找到验证过程。目标程序无壳无花,可读性好。

  验证过程在00402DC2里,每次点“认证”按钮都要调用这个过程;0040146C为程序初始化过程,包括机器码的生成等,只调用一次,稍后再说它。

  数据解压缩错误就出“提示”框;正确时,创建临时文件,并写入解压的数据,最后播放此文件。

  可见,视频文件的内容需要解密、解压两步。关键是解密,各种改跳的爆破手段都是徒劳。

  要保证数据解密正确就需要得到正确的Key,而这个Key是由“机器码”和“认证码”计算出来的(00403048 CALL 004033F3):

  为节省篇幅,两个解码CALLs的代码就不帖了,很简单的事,E把它弄得很啰嗦。简述于下:

  2.CALL 00403753解码“认证码”:方法同1.,不过它的第二部分是Base21编码的!这里返回0xFFFFFFFF,说明我的假码格式不正确(缺少分隔符Z)。

  显然,如果有一个正确的示例“认证码”,那么这里Key已计算出来,本题也就没啥难度了。

  现在我们得自己解决这个问题。先从已有的信息,来探讨一下求解出Key的可能性。

  因为我们不知道正确的Key,只能从它可能的取值范围一个一个地试,即传说中的暴力攻击。

  暴力攻击是用字典或规则范围内的Key,以穷举的方式,解密密文,再与已知的(部分)明文比较,来确定Key的过程。

  这里有三个要素:1) 密文,2) (部分)明文,3) 时间复杂程度:Key的空间大小及算法。

  我们已经有了作为Overlay的密文,再看看我们是否有(部分)明文。如果没有比对的参照内容,穷举也就无从谈起。

  非常幸运,也许是crackme作者故意留下了破绽。在紧接着解密后面的那个解压缩调用里:

  如果目标程序这里不用解密后的部分明文作为判断依据,而采用比较解密后数据块的哈希值(Hash),时间复杂程度会显著提高!

  另外,RC4算法可以说是对称算法中最简单的一种,开销很小,硬件都可容易地实现。

  我们只需要将标准RC4算法作简单修改,并优化代码,以便在尽可能短的时间内找出Key。

  那篇文章包括RC4算法的C源码及它自身的故事,代码和编译的优化。感兴趣的可看看。

  其中Key的取值范围和长度都未知,只能假定它的范围,并从最短长度以一个迭代函数逐一试算。幸运的是它使用了简单密码,只用很短时间就找到了。

  同样针对一台四核的机器,使用4个线程并行计算,各线程求Key的区间分配如下:

  附件中命令行的攻击程序运行结束后,一个示例结果(每次运行时间约有差异):

  程序设计了两个热键:CTRL+C用于显示当前各线程的进度;CTRL+Break终止程序。

  在线分多钟。各线程在找到一个匹配后,不会停止,直到枚举完各自范围的所有Key。这是为了消除可能存在的“碰撞”。整个Key的取值范围搜索完成耗时约2小时,只找到唯一匹配:Key=059B16D0

  现在有了Key,就可以正确解出视频文件了!同时,我们也可以计算出“认证码”。先看看“机器码”的构成。继续上面提到的0040146C那个CALL:

  警告:本版块禁止灌水或回复与主题无关内容,违者重罚!回帖并转播回帖后跳转到最后一页

  吾爱破解所发布的一切破解补丁、万博官网网页版登录注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

网友评论

我的2016年度评论盘点
还没有评论,快来抢沙发吧!