a070458 发表于 2014-10-26 12:00

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

本帖最后由 ximo 于 2014-10-28 10:41 编辑

被CM4虐了
果断找CM5安慰一下自己~
先按常理跟了一遍按钮事件~
address=0040A0A1
大概就获取用户名和密码保存在全局变量~
然后比较是否为空
还有一个貌似正常情况下永远不会发生的死循环(迷惑人?)
然后怎么跳都是失败   
没办法只有去找找全局变量的调用看看怎样
找来找去 发现最可疑就是这个全局变量的调用代码
0040958D|.68 CCED4900   push CrackMe.0049EDCC
其他基本就是个幌子

来到断首在返回一下调用
就是这里0040A082   .56            push esi                                 ;??????????????????
那么问题又来了,怎么弄都不能调用到这里~~~~~~~~~~~~~~~~~
还是去看看他启动的时候做了什么手脚吧

address=00401059
主要是这句代码
0040113C|.E8 DB2A0000   call CrackMe.00403C1C                  ;设置VEH?


跟进这个call    里面会调用
00429549   .- FFE0          jmp eax                                  ;ntdll.RtlAddVectoredExceptionHandler


VEH~~~~

果断去掉勾选所有异常和SOD的选项
但不知为什么还是没有异常发生~
然后我慢慢看关键函数0040A082
00409565|.813B 04000080 cmp dword ptr ds:,0x80000004   、、这个事异常代码
0040956B|.0F85 40060000 jnz CrackMe.00409BB1                     ;>>>
00409571|.8B5D F4       mov ebx,
00409574|.8B5B 04       mov ebx,dword ptr ds:
00409577|.83C3 4C       add ebx,0x4C
0040957A|.895D EC       mov ,ebx
0040957D|.A1 98ED4900   mov eax,dword ptr ds:
00409582|.8B5D EC       mov ebx,
00409585|.3903          cmp dword ptr ds:,eax               ;和0040A27D这个地址比较 所以要在这个地址要发生异常
00409587|.0F85 FA040000 jnz CrackMe.00409A87
0040958D|.68 CCED4900   push CrackMe.0049EDCC
00409592|.E8 AF060000   call CrackMe.00409C46                  ;这个call

翻翻书 发现0x80000004=单步中断
这就好办了直接在0040A27D的前一句代码 弄个TF标志位然他发生异常就行了
下面的代码基本就是调用易语言自带的加密数据和SUPER-EC的RC4类实现的了
大致就是这样 可能有错 没尝试过

逆回来大概就是这样

用户名?机器码?都是迷惑人的
VEH也有好几个函数也是这样?
所以弹出的内容是不固定的?
附上keygen


Kido 发表于 2014-10-27 20:02

攻击方式:Keygen
评委评价:虽然没有按照原本的想法弹出固定的内容,但是找到了程序中的BUG,剑走偏锋,非常可惜的是,咨询了多位评委意见后,发现没有完成作者的需求,因此0分,不过彩蛋详细分析报告发出来可以有额外加分
得分:0

a070458 发表于 2014-10-27 20:08

{:1_909:}我就知道我找错方向

Ylca 发表于 2014-10-28 14:38

小清子、 发表于 2016-3-13 19:50

新李逵劈鱼新李逵劈鱼

小清子、 发表于 2016-3-13 19:51


我就知道我找错方向

hewap 发表于 2016-4-15 23:53

好东西,学习了!

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

学习了!学习了!

长剑相思 发表于 2016-5-30 18:05

学习了!学习了!

烈枫寒 发表于 2016-6-9 15:56

好好学习,天天向上
页: [1] 2 3
查看完整版本: 【吾爱破解2014CrackMe大赛】【第五组】