吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10955|回复: 20
收起左侧

[原创] 加密与解密中一个简单的KeyFIle

  [复制链接]
_默默_ 发表于 2019-5-2 12:37
一、前言
  • KeyFile是一种利用文件来注册软件的方式,程序通过读取文件里的二进制流来判断用户是否注册。
  • 此CrackMe来源于加密与解密随书文件。
  • 如有c币囊中羞涩的朋友 可以回帖让我贴度盘。
  • 此CrackMe书上直接看纯汇编写了出来,鄙人没那个本事,鄙人使用od与IDA同时分析。

二、正文
  • 首先我们来看一下界面
  • 捕获.PNG
  • 发现界面并没有输入框,只有check与exit,此时就可以猜测程序使用了KeyFile的注册方式,我们可以使用工具procesmonitor监视程序的行为,看程序要读取哪个文件。
  • 界面如图(如果要我的软件也可以回帖跟我说)
  • 捕获1.PNG
  • 我们可以使用filte(过滤)功能选择我们要监视的程序,将第一个框中选为processname,输入程序名,add,apply。打开程序就可以看见程序干了什么了。(主界面第一排图标最后几个就是过滤程序行为,因为程序做的事情太多可以选择过滤一些对我们没有什么价值的程序行为)
  • 捕获2.PNG
  • 点击check后,我们可以看到,程序读了我当前目录下的一个KWAZYWEB.BIT的文件,还读了qq输入法里的一个文件(我不知道这是在干嘛),但明显当前目录下的文件更像是KeyFile。我们便可以伪造一个KeyFile去动态调试看看程序是如何检测的。
  • 捕获3.PNG
  • 因为使用promonitor可以看到程序调用createfile读取文件,我们便可以在createfile处下断点,ctrl+g搜索函数将createfile2,createfilea下断点,f9运行后发现程序读了qq输入法,再次f9,程序处于running,点击check,断在DLL领空,ctrl+f9快速跳出程序如图:
  • readfile.PNG
  • 看见readfile函数想必这段代码就是检测文件数据是否正确了。
  • 一步步f8就会发现第一个readfile读取文件的第一个字节,存入eax,然后第二个readfile读取eax个字节,第三个readfile固定读取0x12个字节,联想之前做的CrackMe使用两个GetItemText分别读取用户名与注册码,推断此处也应该为此方式。
  • 后两个call readfile后紧跟着两个call,可推测为变换函数。
  • 第一个变换函数401000看汇编也很好理解,就是将用户名累加,存到一个指定的地方。(记着,这个东西肯定后面有用)
  • 第二个变换函数4010c9看的一脸懵逼,开IDA,在IDA函数窗口中很容易就能找到sub_4010c9,f5查看伪代码,如图:
  • 捕获.PNG
  • 容易看出string2是一串神奇的字符串,基本就可以断定这是一道迷宫题(记着)。程序将字符C所在的地址存在off_403184,随后sub_40101D函数对从文件读入的数据逐个异或某个值(动态调试不难发现这个),而这个异或的值就是用户名累加后的结果(以后要记着,我反正半天都不知道这个值怎么来的)
  • 关键函数sub_401033,参数为两个二进制位,其实就是将文件中用户名后的数据当成二进制流,一次传输两个二进制位。从   -16 就可以推断是一个16列的迷宫,写脚本打印迷宫。也不难看出01 右 10 下 11 左 00 上。
  • 根据迷宫手写二进制流(走迷宫的代码不会写......)
  • 我将用户名设置为52pojie,得到和值为0x7e,将二进制转换为16进制再异或0x7e就得到了注册码,利用16进制编辑工具就可以写KeyFIle了
  • 二进制流如下:10101001 10101011 10100101 00010000 01010100 00111111 00110000 01010101 01100101 00010110 01010110 10111110 11110011 11101010 11101001 01010000 01010101 10101111
  • 对应16进制数:0xA9,0xAB,0xA5,0x10,0x54,0x3F,0x30,0x55,0x65,0x16,0x56,0xBE,0xF3,0xEA,0xE9,0x50,0x55,0xAF
三、总结
以后写题要对关键处做必要的记录,以及尽量去理解程序逻辑,而不是去关心运算。

那个txt文件是KeyFile,改一下后缀就好。有什么问题及建议都可以提啊,包括本人的写作水平,嘤嘤嘤。

KWAZYWEB.txt

26 Bytes, 下载次数: 22, 下载积分: 吾爱币 -1 CB

PacMe.7z

9.47 KB, 下载次数: 22, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 8吾爱币 +12 热心值 +6 收起 理由
Hmily + 6 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xuexiyixiaxia + 1 我很赞同!
Tc5230 + 1 + 1 我很赞同!
lph619 + 1 + 1 热心回复!
靓仔胖哥 + 1 用心讨论,共获提升!
佳友一生 + 1 + 1 谢谢@Thanks!
qaz003 + 1 谢谢@Thanks!
朱朱你堕落了 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

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

 楼主| _默默_ 发表于 2019-5-3 08:18
673010347 发表于 2019-5-2 22:16
有个考试软件有个监控端和学生端,监考端有加密狗,我破解了加密狗后,软件能完全正常运行,但学生端连接不 ...

不会..........  这种网络传输等我学了计算机网络后再研究
673010347 发表于 2019-5-2 22:16
有个考试软件有个监控端和学生端,监考端有加密狗,我破解了加密狗后,软件能完全正常运行,但学生端连接不了监考端。怎么回事呀。
大侠帮个忙。
wenxue1994 发表于 2019-5-2 13:46
wapjltb 发表于 2019-5-2 16:18
感谢分享!
爱飞的猫 发表于 2019-5-2 16:22
还读了qq输入法里的一个文件(我不知道这是在干嘛)


可能是系统自动呼出输入法,输入法在读数据
qqrate 发表于 2019-5-2 17:54
procesmonitor!!!!!!好软件,不过写教程的更是好人
 楼主| _默默_ 发表于 2019-5-2 19:33
qqrate 发表于 2019-5-2 17:54
procesmonitor!!!!!!好软件,不过写教程的更是好人

谢谢! 新人表示很开心
zyj181 发表于 2019-5-3 07:10
厉害厉害
佳友一生 发表于 2019-5-3 07:36
好厉害呀
qaz003 发表于 2019-5-3 07:47
谢谢分享……PM确实好用,还有个RM也是……
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 12:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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