终级上网提速 NetSpeedBooster注册码的获得
【作者】WindayJiang
【破解声明】 无意中下载使用,由于软件捆?了中文上网,十分讨厌这种软件,一怒之下,决定破解!
【破解工具】WDSM,OLLDBG, LOADPE,PEID,PEEDITOR,REGMON
【破解难度】EASY
【软件保护】NAG+SN
【软件下载】http://www.bwkj.net/cn/soft.htm
初运行:
运行软件,注册窗口首先出来,随便输入假SN,程序没任何便退出,再次运行依旧;点试用后,随机出注册窗口。由于知道是把注册信息存到注册表或文件里了,用REGMON查到存到VB的默认注册表位置。
壳:
用PEID查壳,NOTHING FOUND;用PEEDITOR打开SECTION看到有DXPACK,原来用DXPACK加的壳,这个壳没有难度,找到OEP 405224,你可以LOADPE完整DUMP掉。
注意:我用LOADPE DUMP完后,再用IMPORTREC修复发现修复后的文件是0字节的,不知为何,所以直接用OD插件选METHOD1脱了,脱完后就能用。
DEBUG:
程序是用VB写的,开始头痛了
用WDSM找不到什么有用的东西,估计用链接库来判断注册码了,于是用常用的VB断点VBASTRCMP(我找不到VBASTRCOMP),F9运行,来到这里:
008442FD . FF15 28114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCmp>] ; MSVBVM60.__vbaStrCmp //来到这里,[ESP+4]=12F970=假注册码
00844303 . 85C0 TEST EAX,EAX
00844305 0F85 25010000 JNZ test.00844430
点12F970然后FOLLOW IN DUMP,下硬件断点,F9运行,来到这里:
779B95C5 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
进程在OLEAUT32, 如果再按F9就会飞掉,所以我在这里开始按CTRL+F9,F8, 一直返回到这里,不要回到NetSpeedBooster.exe领空:
166B1804 8BD0 MOV EDX,EAX //EAX=“E1DAZX8E”,很面熟。。。。
现在进程在ACK.OCX了,开始有点头绪了,再来:
1669B74A FF90 1C080000 CALL DWORD PTR DS:[EAX+81C]
1669B750 8B55 DC MOV EDX,DWORD PTR SS:[EBP-24]//EDX是一串号,机器码用的
1669B753 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C]
…………..
1669B783 FF15 24106916 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrVarMove>] ; MSVBVM60.__vbaStrVarMove
1669B789 8BD0 MOV EDX,EAX //EAX是机器码了,上面的串号取前16位
1669B78B 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
……….
一直F8往下走,来到这:
1669C876 56 PUSH ESI
1669C877 FF90 1C080000 CALL DWORD PTR DS:[EAX+81C] //生成了一串号,估计是注册号
1669C87D 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C] //放到EDX
1669C880 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C]
……
1669C8AB 68 7C516916 PUSH ack.1669517C ; UNICODE "LiberationKey"
1669C8B0 68 48516916 PUSH ack.16695148 ; UNICODE "ActiveLock"
1669C8B5 890A MOV DWORD PTR DS:[EDX],ECX
1669C8B7 8B4D 88 MOV ECX,DWORD PTR SS:[EBP-78]
1669C8BA 894A 04 MOV DWORD PTR DS:[EDX+4],ECX
1669C8BD 8B4E 40 MOV ECX,DWORD PTR DS:[ESI+40]
1669C8C0 51 PUSH ECX
1669C8C1 8942 08 MOV DWORD PTR DS:[EDX+8],EAX
1669C8C4 8B45 90 MOV EAX,DWORD PTR SS:[EBP-70]
1669C8C7 8942 0C MOV DWORD PTR DS:[EDX+C],EAX
1669C8CA FF15 68116916 CALL DWORD PTR DS:[<&MSVBVM60.#689_rtcGetSetting>; MSVBVM60.rtcGetSetting
//读取注册表位置的信息
…….
1669C92F FF15 CC106916 CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarTstEq>] ; MSVBVM60.__vbaVarTstEq
//像是在这里作比较了
我进去看了一下,是用MD5算法的,没去管它;直接找开程序,输入注册号,没提示就直接进入软件(没退出了?),试运行也没有NAG了,跑去注册表看看,哦,原来只要前16位就好了。
至此,软件告破!
好久没破解了,2年前注册的ID都忘密码了,刚注册完发一个破文,希望大家喜欢同时希望大家给点意见!
:)
////////////////////////////////////////////////////////////////
If you want to crack well, learn ASM well !
WiNDaYJiANg 2005-12-17
////////////////////////////////////////////////////////////////
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课