好友
阅读权限20
听众
最后登录1970-1-1
|
无聊,下了个RARPasswordUnlocker的最新版3.2.01来完完。
首先,查壳,没有。正常,外国人的东西,就是意识高啊,加壳工具在他们那里基本没市场。哈哈 ,适合我等菜菜练手的。
先总结下这个软件吧。
1. 字符串查找,找不到成功弹窗的字符。
2. 输入任何的注册码都能成功,但重启后还是trial版。
3. 下断文件,注册表都没拦到有用的信息。
==
好了。开始OD.
载入,运行。
,trial的。
点击 软件的 help---register进行注册。随便输入注册码,注册成功。
上面都简单的说说。不知道是软件别人破过了,还是怎么的。反正是任意注册码都成功的。
--
我们看看上边2个图片的对比,少了purchase按钮了。好,就从这里入手。(看到这里,很多人都会想到bp DeleteMenu了,但我没这么做。)
---
搜索 字符串 看看
就是这个了,(有几个这样的 字符,都双击进入看看。)我是进入完了,直接往上拉,从头处下断,哈哈,习惯了。
重新载入OD运行,断下了。
慢慢跟,往下走。到这里
往下点,我们看到,
看到deletemenu ,不错,就是找对地方了。
0040976F . 6A 00 PUSH 0 ; |wParam = 0
00409771 . 68 80000000 PUSH 80 ; |Message = WM_SETICON
00409776 . 50 PUSH EAX ; |hWnd
00409777 . FFD7 CALL NEAR EDI ; \SendMessageW
00409779 . E8 E2AFFFFF CALL RARPassw.00404760//////////////////////进入
0040977E . 3D 0F270000 CMP EAX,270F//////////////////////////关键
00409783 . 74 0F JE SHORT RARPassw.00409794
00409785 . C705 EC744900 01>MOV DWORD PTR DS:[4974EC],1
0040978F . E9 69010000 JMP RARPassw.004098FD
00409794 > 8B13 MOV EDX,DWORD PTR DS:[EBX]
00409796 . 8B42 6C MOV EAX,DWORD PTR DS:[EDX+6C]
00409799 . 8BCB MOV ECX,EBX
0040979B . FFD0 CALL NEAR EAX
0040977E . 3D 0F270000 CMP EAX,270F 这里比较,改跳转就成功了。但我们还是进
00409779 . E8 E2AFFFFF CALL RARPassw.00404760这里看看。
来到这里
004047A1 |. 33F6 XOR ESI,ESI
004047A3 |. 897424 18 MOV DWORD PTR SS:[ESP+18],ESI
004047A7 |. 897424 0C MOV DWORD PTR SS:[ESP+C],ESI
004047AB |. 897424 14 MOV DWORD PTR SS:[ESP+14],ESI
004047AF |. C74424 10 010000>MOV DWORD PTR SS:[ESP+10],1
004047B7 |. 89B424 80000000 MOV DWORD PTR SS:[ESP+80],ESI
004047BE |. E8 7D1F0100 CALL RARPassw.00416740//////////////////////进入
004047C3 |. 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
004047C7 |. 84C0 TEST AL,AL////////////////////////////////////////关键
004047C9 |. 75 18 JNZ SHORT RARPassw.004047E3
004047CB |. C78424 80000000 >MOV DWORD PTR SS:[ESP+80],-1
004047D6 |. E8 D5FBFFFF CALL RARPassw.004043B0
004047DB |. 8D46 1E LEA EAX,DWORD PTR DS:[ESI+1E]
在004047C7 |. 84C0 TEST AL,AL这里,没跳,导致eax=1e,所以,我们要看看什么地方使AL=0导致跳转没跳成功。
使0040977E . 3D 0F270000 CMP EAX,270F//////////////////////////关键
处的比较不等。
--
所以,我们再进入
004047BE |. E8 7D1F0100 CALL RARPassw.00416740看看。
来到
0041677C |. 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
00416780 |. 894424 18 MOV DWORD PTR SS:[ESP+18],EAX
00416784 |. 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
00416788 |. 6A 01 PUSH 1 ; /Arg5 = 00000001
0041678A |. 6A 01 PUSH 1 ; |Arg4 = 00000001
0041678C |. 68 02000080 PUSH 80000002 ; |Arg3 = 80000002
00416791 |. 68 B8254600 PUSH RARPassw.004625B8 ; |S
00416796 |. 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C] ; |
0041679A |. 51 PUSH ECX ; |Arg1
0041679B |. 894424 54 MOV DWORD PTR SS:[ESP+54],EAX ; |
0041679F |. E8 2C000000 CALL RARPassw.004167D0 ; \RARPassw.004167D0
004167A4 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
004167A8 |. 8AD8 MOV BL,AL
004167AA |. C74424 40 FFFFFF>MOV DWORD PTR SS:[ESP+40],-1
004167B2 |. E8 F9DBFEFF CALL RARPassw.004043B0
004167B7 8AC3 MOV AL,BL////////////////////////////////关键
004167B9 |. 8B4C24 38 MOV ECX,DWORD PTR SS:[ESP+38]
004167BD |. 64:890D 00000000 MOV DWORD PTR FS:[0],ECX
004167C4 |. 59 POP ECX
004167C5 |. 5B POP EBX
004167C6 |. 83C4 3C ADD ESP,3C
在004167B7 8AC3 MOV AL,BL处,我们发现
Al=1
BL=0
兴奋中。直接NOP这句004167B7 8AC3 MOV AL,BL就Ok了。
完工。
------------------------------------------------------
第一次发贴,不是很会写。凑合着看吧。只是告诉像我样的菜菜,多试试,从不同的地方想办法。 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|