前几天球赛盛行,我们寝室几个兄弟都嚷着要看,虽然我不是很喜欢看球(我简直太不男人了),但是没办法只好由着他们。上华军一看网络电视类软件,就STTV-视通卫星网络电视最叫座,下载量第一和后面几名拉开的距离大的很。下下来一用,连接CCTV-5速度果然了得。可是没看几分钟,女排辽宁VS天津正火呢。突然弹个窗口:
“对不起,阁下,为了减轻服务器的负荷,您评估试看节目的时间已到!\n如果您感觉本软件不错,请注册支持sttv!注册后为您开通会员专用通道,\n可以享受更流畅的观看的效果和终身升级服务!”靠,这试用版的还有时间限制。这比赛正进行着呢,赶紧的操起OD,ASPACK的壳工具脱壳后,
00557B0D . 68 608B5500 PUSH Unpacked.00558B60 ; /《视通卫星网络电视》注册窗口
00557B12 . 6A 00 PUSH 0 ; |Class = 0
00557B14 . E8 07F5EAFF CALL <JMP.&user32.FindWindowA> ; \FindWindowA
00557B19 . 85C0 TEST EAX,EAX
00557B1B . 75 1B JNZ SHORT Unpacked.00557B38
00557B1D . BA 888B5500 MOV EDX,Unpacked.00558B88 ; 对不起,阁下...
00557B22 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00557B25 . E8 26A4FFFF CALL Unpacked.00551F50
修改一个跳转指令现在不记得是那条了,取消掉了时间限制,总算把比赛给看完了。
看完比赛后就仔细看了一下这个软件(STTV2007豪华版build0302),发现还真是不好破解,我这菜鸟在这说几句,愚昧之处还望大侠见谅。
首先进行注册,用户名输入STTV2007,注册码yanjun,提示错误:
“注册不能成功,请检查:\n1、用户名是否输入正确,如果是数字,请关闭中文输入法试试\n2、注册码是否合法(通过付费注册获取)\n3、注册码是否有输入错误,建议使用复制粘贴的方法输入注”
0054B91D . /75 16 JNZ SHORT Unpacked.0054B935
0054B91F . |A1 94085600 MOV EAX,DWORD PTR DS:[560894]
0054B924 . |8B00 MOV EAX,DWORD PTR DS:[EAX]
0054B926 . |BA 1CC55400 MOV EDX,Unpacked.0054C51C ; 注册不能成功...
0054B92B . |E8 20660000 CALL Unpacked.00551F50
0054B930 . |E9 0D080000 JMP Unpacked.0054C142
0054B935 > \66:A1 CCC55400 MOV AX,WORD PTR DS:[54C5CC]
0054B93B . 50 PUSH EAX
0054B93C . 6A 00 PUSH 0
0054B93E . A1 94085600 MOV EAX,DWORD PTR DS:[560894]
0054B943 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0054B945 . 8B80 08040000 MOV EAX,DWORD PTR DS:[EAX+408]
0054B94B . B1 02 MOV CL,2
0054B94D . BA D8C55400 MOV EDX,Unpacked.0054C5D8 ; 注册提示:...
0054B952 . E8 3993FEFF CALL Unpacked.00534C90
使用OD动态跟踪注册码,发现它使用的是明码比较,当时我这心里叫激动啊,心想¥180元的注册费就省了,可是输入寻找到的注册码(05A2D930-15A323D8-63238344-226778C0-72BE1C00-486CD388)才发现它还要在网上进行认证。
0054BD47 /75 29 JNZ SHORT Unpacked.0054BD72
0054BD49 . |A1 94085600 MOV EAX,DWORD PTR DS:[560894]
0054BD4E . |8B00 MOV EAX,DWORD PTR DS:[EAX]
0054BD50 . |BA 74C75400 MOV EDX,Unpacked.0054C774 ; 注册码网上认证
0054BD55 . |E8 F6610000 CALL Unpacked.00551F50
0054BD5A . |8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054BD5D . |8B80 F8020000 MOV EAX,DWORD PTR DS:[EAX+2F8]
0054BD63 . |BA 0CC35400 MOV EDX,Unpacked.0054C30C ; 注册认证
0054BE3A . /75 27 JNZ SHORT Unpacked.0054BE63
0054BE3C . |A1 94085600 MOV EAX,DWORD PTR DS:[560894]
0054BE41 . |8B00 MOV EAX,DWORD PTR DS:[EAX]
0054BE43 . |8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
0054BE46 . |E8 05610000 CALL Unpacked.00551F50
0054BE4B . |8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054BE4E . |8B80 F8020000 MOV EAX,DWORD PTR DS:[EAX+2F8]
0054BE54 . |BA 0CC35400 MOV EDX,Unpacked.0054C30C ; 注册认证
将0054BD47和0054BE3A处JNZ改为JMP后就爆破了它的网上注册码认证。这时在启动STTV后发现它已经识别成了钻石版了,我这心里又是一个小激动(菜鸟啊就是这样)。随便点了一个台,靠,这下完了,连试用的电台都不能看了,提示我这注册版已经过期,叫我续费。我这晕啊。看来它这每个电台的连接都要到服务器进行验证。仔细使用OD查看终于看出了点眉目:
00553923 . BA 244C5500 MOV EDX,Unpacked.00554C24 ; 试用版
00553928 . E8 A30DEBFF CALL Unpacked.004046D0
0055392D . 74 52 JE SHORT Unpacked.00553981
0055392F . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00553932 . 50 PUSH EAX
00553933 . FF35 78315600 PUSH DWORD PTR DS:[563178]
00553939 . FF35 7C315600 PUSH DWORD PTR DS:[56317C]
0055393F . 68 6C4C5500 PUSH Unpacked.00554C6C ; rmurl____20060322.asp?jmmc=
00553944 . FF75 F8 PUSH DWORD PTR SS:[EBP-8]
00553947 . 68 904C5500 PUSH Unpacked.00554C90 ; ®username=
0055394C . FF35 58315600 PUSH DWORD PTR DS:[563158]
00553952 . 68 A84C5500 PUSH Unpacked.00554CA8 ; &code=
00553957 . FF75 EC PUSH DWORD PTR SS:[EBP-14]
0055395A . 68 B84C5500 PUSH Unpacked.00554CB8 ; &diskserial=
0055395F . FF35 94315600 PUSH DWORD PTR DS:[563194]
00553965 . 8D45 80 LEA EAX,DWORD PTR SS:[EBP-80]
00553968 . BA 0A000000 MOV EDX,0A
0055396D . E8 D20CEBFF CALL Unpacked.00404644
它这首先检测您这版本是不是试用版,如果是的话就进行电台判断,只让您使用试用电台。如果不是就将您的用户名,注册码和硬盘的序列号和电台编码成一个URL发送到服务器端进行验证,如果在服务端查询到您的注册信息就给你连接电台,否则就认为您是非法用户,不给你连接电台。
这种验证简直太绝了,我这菜鸟实在想不出什么好方法,除非您黑掉它的服务器站点,获得几个已注册的注册信息。希望各位大侠能够指点一二。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)