首页
社区
课程
招聘
[原创]看雪2016 第一题 CrackMe逆向分析
发表于: 2016-11-2 14:57 5397

[原创]看雪2016 第一题 CrackMe逆向分析

2016-11-2 14:57
5397
设置一个定时器,定时检测一个事件对象是否创建.如果创建则启动校验线程.该事件会在按钮点下时创建.


来到线程回调,单步来到401CD6,检测输入的序列号是否有'b'


继续单步来到401D0F,检测输入的序列号是否有'p'


然后递归调用该函数 edx 为1
该程序会调用API查询时间戳,判断两次代码之间是否大于2,如果是则退出.并检测序列号长度是否为7


将输入的序列号简单异或0xF


接着查看输入的序列号里必须只能有两个英文.


从第二个字节开始必须为15pb


然后拿点击次数下标拼接到字符串"0123456789"后面


判断第一个和第二个是否为'1'  和 '2'


拿拼接后的字符也就是输入的第二个字符+31必须为63
点击的次数+37必须跟最后一个字符相等


总结:字符长度为7, 第1 第2位为'1' 和'2',接着是"15pb",然后最后一位=0x37+点击次数,也就是第一次为0x38,字符'8'.

结果为:1215pb8

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个题作为第一题,有点难啊
2017-1-13 13:47
0
雪    币: 12
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
检测时间的那个始终过不去,大神能详细一点吗
2017-3-16 12:03
0
雪    币: 279
活跃值: (123)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
了解了,不错的
2017-6-18 22:52
0
游客
登录 | 注册 方可回帖
返回
//