http://ift.tt/2i73gJv
[TOC]
前期准备工作
熟悉软件流程
首先打开软件,熟悉一遍软件的流程,以便了解基本导入口点
可以看到,界面的主要交互有2个,以一个是serial/name
还有一个就是serial
查看PE信息
首先用PEID扫一下,看看是什么语言编写的,连接器版本,有没有壳,TLS回调函数等
查看了这写信息之后,主要想做的事情就是点击check 的时候正确就好了(其实应该是逆出算法更好的,但是真心不想动)
开干
下断分析
根据点击发现,输入错误的时候,会填出一个框用来提示,那么猜一下这个框是什么东西,是MessageBox 还是Dialog 或者其他的,不妨挨个下断点试试
就还有一个点就是弹出的框中有字符串提示,其实可以搜一下字符串,直接找到这个定位(鉴于这样做的成本最小,所有先从搜索字符串开始吧)
###第一步
- 破解serial/name
果然,一搜就搜到了,果然难度为1的就是简单的
直接定位过去
0042FB03 /75 1A JNZ SHORT Acid_bur.0042FB1F
0042FB05 |. |6A 00 PUSH 0x0
0042FB07 |. |B9 CCFB4200 MOV ECX,Acid_bur.0042FBCC ; Congratz !!
0042FB0C |. |BA D8FB4200 MOV EDX,Acid_bur.0042FBD8 ; Good job dude =)
0042FB11 |. |A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042FB16 |. |8B00 MOV EAX,DWORD PTR DS:[EAX]
0042FB18 |. |E8 53A6FFFF CALL Acid_bur.0042A170
0042FB1D |. |EB 18 JMP SHORT Acid_bur.0042FB37
0042FB1F |> \6A 00 PUSH 0x0
0042FB21 |. B9 74FB4200 MOV ECX,Acid_bur.0042FB74 ; Try Again!
0042FB26 |. BA 80FB4200 MOV EDX,Acid_bur.0042FB80 ; Sorry , The serial is incorect !
0042FB2B |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042FB30 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
可以看到怎么会这么简单,正好有个JNZ跳转,爆破嘛,当然是直接NOP掉喽
0042FB03 90 NOP
0042FB04 90 NOP
0042FB05 |. 6A 00 PUSH 0x0
0042FB07 |. B9 CCFB4200 MOV ECX,Acid_bur.0042FBCC ; Congratz !!
0042FB0C |. BA D8FB4200 MOV EDX,Acid_bur.0042FBD8 ; Good job dude =)
0042FB11 |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042FB16 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0042FB18 |. E8 53A6FFFF CALL Acid_bur.0042A170
0042FB1D |. EB 18 JMP SHORT Acid_bur.0042FB37
0042FB1F |> 6A 00 PUSH 0x0
0042FB21 |. B9 74FB4200 MOV ECX,Acid_bur.0042FB74 ; Try Again!
0042FB26 |. BA 80FB4200 MOV EDX,Acid_bur.0042FB80 ; Sorry , The serial is incorect !
0042FB2B |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042FB30 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
然后第一个步就搞定了
第二步
- 破解serial
同样的搜索字符串,找到如下代码:
0042F4D5 /75 1A JNZ SHORT Acid_bur.0042F4F1
0042F4D7 |. |6A 00 PUSH 0x0
0042F4D9 |. |B9 64F54200 MOV ECX,Acid_bur.0042F564 ; Congratz!
0042F4DE |. |BA 70F54200 MOV EDX,Acid_bur.0042F570 ; God Job dude !! =)
0042F4E3 |. |A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042F4E8 |. |8B00 MOV EAX,DWORD PTR DS:[EAX]
0042F4EA |. |E8 81ACFFFF CALL Acid_bur.0042A170
0042F4EF |. |EB 18 JMP SHORT Acid_bur.0042F509
0042F4F1 |> \6A 00 PUSH 0x0
0042F4F3 |. B9 84F54200 MOV ECX,Acid_bur.0042F584 ; Failed!
0042F4F8 |. BA 8CF54200 MOV EDX,Acid_bur.0042F58C ; Try Again!!
0042F4FD |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042F502 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
NOP 掉JNZ跳转
0042F4D5 90 NOP
0042F4D6 90 NOP
0042F4D7 |. 6A 00 PUSH 0x0
0042F4D9 |. B9 64F54200 MOV ECX,Acid_bur.0042F564 ; Congratz!
0042F4DE |. BA 70F54200 MOV EDX,Acid_bur.0042F570 ; God Job dude !! =)
0042F4E3 |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042F4E8 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0042F4EA |. E8 81ACFFFF CALL Acid_bur.0042A170
0042F4EF |. EB 18 JMP SHORT Acid_bur.0042F509
0042F4F1 |> 6A 00 PUSH 0x0
0042F4F3 |. B9 84F54200 MOV ECX,Acid_bur.0042F584 ; Failed!
0042F4F8 |. BA 8CF54200 MOV EDX,Acid_bur.0042F58C ; Try Again!!
0042F4FD |. A1 480A4300 MOV EAX,DWORD PTR DS:[0x430A48]
0042F502 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
然后就结束了QAQ
The post 160个CrackMe之001 Acid burn appeared first on cole.
http://ift.tt/2jCxxAb reverse engineering, reverse December 01, 2017 at 07:44PM
评论
发表评论