a070458 发表于 2014-11-4 18:01

【吾爱破解2014CrackMe大赛】【第十四组】

先说说反调试
没有大致看过
NOP 00401755还有对CreateThread retn 0x18就过掉了

算法比较简单就一加法地址00402100
先是 004021A3|.8378 F4 13    cmp dword ptr ds:,0x13
可以看出key 的长度
然后strchar 和strtok 找到 "-" 分割字符
分割右边的字符要004022C9|.83F8 11       cmp eax,0x11   0x11 位
大概就是这个格式
1-12345678901234561
从这里开始时算法了
004022FF
第一为1留着作运算
最后一个1变为hex 1
1<<4=0x10
0x10+1=0x11
0x11*2=0x22
22+1a=3c
3c+0d=49
49+31=7A   add第一位12   ==0xbd

22+00=22
22+3a=5C   
5c+c=68   add第二位   ==0xe2

22+2d=4F
4f+2d=7C
7c+00=7c   add第三位   ==0xcb

22+21=43
43+1c=5F   add第四位   ==0xF8


22+11=33
33+00=00
33+0f=42
42+00=42   add第五位   ==0xB3



22+14=36
36+d=43
43+0=0   add第6位   ==0xC9



22+8=2A
2a+3e=68
68+0=0         add第7位   ==0xB9


22+25=47
47+1=48
48+0=48             add第8位   ==0xA6



后面就是004023D9|.FF15 44414000 call dword ptr ds:[<&USER32.SetDlgItemTe>; \SetDlgItemTextA
组成的8个字符是"解锁成功"
BDE2CBF8B3C9B9A6


可以从00402420此函数看得出解出8自己的某几个字节的正确数值, 然猜一猜 就看知道要解出来的字符了

大概就是比较某字节是不是一致,如果不是 马上设置编辑框为""
因为就一+法所以逆向算法很容易

附上KEYGEN



Kido 发表于 2014-11-6 20:50

最终得分:155
评委评价:有效

mi426878 发表于 2016-3-6 12:44

好厉害的样子

mi426878 发表于 2016-3-6 16:14

好好学习啦,不错的东西

waiting_for_you 发表于 2016-3-8 14:32

6666666666666666666666666

waiting_for_you 发表于 2016-3-8 14:33

厉害啊楼主真厉害哈哈哈哈哈哈哈哈

hewap 发表于 2016-4-16 13:15

楼主真厉害,

o6o7o5 发表于 2016-5-1 18:51

学习了!很棒!

长剑相思 发表于 2016-5-26 17:19

好厉害的样子

szac29964 发表于 2016-5-28 10:14

966666666666666666
页: [1] 2
查看完整版本: 【吾爱破解2014CrackMe大赛】【第十四组】