看雪论坛
发新帖
1

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

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


来到线程回调,单步来到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
上传的附件:
本主题帖已收到 0 次赞赏,累计¥0.00
最新回复 (3)
blowingluo 2017-1-13 13:47
2
这个题作为第一题,有点难啊
好事多磨 2017-3-16 12:03
3
检测时间的那个始终过不去,大神能详细一点吗
罗小墨 5天前
4
了解了,不错的
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.012, SQL: 10 / 京ICP备10040895号-17