- UID
- 37363
注册时间2007-11-5
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
PYG首发微服视频监控直播系统 V3.0注册算法简单分析
开发者: 安陆天佑科技开发有限公司
网 页: http://www.altykj.com/_d268721643.htm
简 介: 既可以作为电脑摄像头聊天等使用,更可以作为监控安防系统使用(如火灾报警,烟雾报警),摄像头录象(MP4压缩)
天空下载地址:http://shareware.skycn.com/soft/18614.htm
主程序加壳类型为:ASPack 2.12 -> Alexey Solodovnikov
这个壳比较简单,可以脱壳分析也可以不脱直接分析。
这个软件如果注册码不对的话,按注册按钮是没有反应的,没办法要跟踪只好试一下万能断点了,还真行拦下来了!
OD载入带壳运行,设置好万能断点,按照提示输入假码:888888888888888888888888888888888888点注册被拦下。找到以下地址!
(第一次发文,也不知道怎么写,大大们不要见笑啊)
0056A02C |. E8 1BE9FFFF CALL JK_unpac.0056894C ;关键 CALL 跟入
0056A031 |. 84C0 TEST AL,AL
0056A033 |. 74 44 JE SHORT JK_unpac.0056A079 ;跳走就是未注册了,可以改为JNE或NOP NOP(也是一个爆破点)
0056A035 |. BA ACA05600 MOV EDX,JK_unpac.0056A0AC ; 软件注册(已注册)
0056A03A |. 8B83 28040000 MOV EAX,DWORD PTR DS:[EBX+428]
0056A040 |. E8 8B98EFFF CALL JK_unpac.004638D0
0056A045 |. 33D2 XOR EDX,EDX
0056A047 |. 8B83 30040000 MOV EAX,DWORD PTR DS:[EBX+430]
0056A04D |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0056A04F |. FF51 64 CALL DWORD PTR DS:[ECX+64]
0056A052 |. 33D2 XOR EDX,EDX
0056A054 |. 8B83 34040000 MOV EAX,DWORD PTR DS:[EBX+434]
0056A05A |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0056A05C |. FF51 64 CALL DWORD PTR DS:[ECX+64]
0056A05F |. B2 01 MOV DL,1
0056A061 |. 8B83 A0050000 MOV EAX,DWORD PTR DS:[EBX+5A0]
0056A067 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0056A069 |. FF51 64 CALL DWORD PTR DS:[ECX+64]
0056A06C |. B2 01 MOV DL,1
0056A06E |. 8B83 A4050000 MOV EAX,DWORD PTR DS:[EBX+5A4]
0056A074 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0056A076 |. FF51 64 CALL DWORD PTR DS:[ECX+64]
0056A079 |> 33C0 XOR EAX,EAX
0056A07B |. 5A POP EDX
0056A07C |. 59 POP ECX
0056A07D |. 59 POP ECX
0056A07E |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
0056A081 |. 68 9EA05600 PUSH JK_unpac.0056A09E
0056A086 |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
0056A089 |. E8 D6A6E9FF CALL JK_unpac.00404764
0056A08E |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
0056A091 |. E8 CEA6E9FF CALL JK_unpac.00404764
0056A096 \. C3 RETN
-----------------------------------------------------------
关键 CALL 跟入
------------------------------------------------------------
0056894C /$ 55 PUSH EBP
0056894D |. 8BEC MOV EBP,ESP
0056894F |. B9 06000000 MOV ECX,6 ; 6 给 ECX
00568954 |> 6A 00 /PUSH 0
00568956 |. 6A 00 |PUSH 0
00568958 |. 49 |DEC ECX
00568959 |.^ 75 F9 \JNZ SHORT JK_unpac.00568954 ; 循环 6 次
0056895B |. 51 PUSH ECX ; ECX 为 0
0056895C |. 53 PUSH EBX
0056895D |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX ; EAX 为假码
00568960 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00568963 |. E8 C8C2E9FF CALL JK_unpac.00404C30
00568968 |. 33C0 XOR EAX,EAX ; EAX 清 0
0056896A |. 55 PUSH EBP
0056896B |. 68 788A5600 PUSH JK_unpac.00568A78
00568970 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00568973 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00568976 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00568979 |. E8 76FEFFFF CALL JK_unpac.005687F4
0056897E |. 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
00568981 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] ; 机器码送 ECX
00568984 |. BA 908A5600 MOV EDX,JK_unpac.00568A90 ; E7AE0BE8-5978-4C16-8AA7-92B191EE0B88
00568989 |. E8 FEC0E9FF CALL JK_unpac.00404A8C ; EDX 为 固定值:E7AE0BE8-5978-4C16-8AA7-92B191EE0B88
0056898E |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] ; 把值:E7AE0BE8-5978-4C16-8AA7-92B191EE0B88443F6302-3157-9CC4-DE56-FACC797E4BEE 送EAX
00568991 |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
00568994 >|. E8 B7FAFFFF CALL JK_unpac.00568450
00568999 |. 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
0056899C |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
0056899F |. E8 20FBFFFF CALL JK_unpac.005684C4
005689A4 |. 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
005689A7 |. 50 PUSH EAX
005689A8 |. B9 08000000 MOV ECX,8 ; 8 送ECX
005689AD |. BA 01000000 MOV EDX,1 ; 1 送 EDX
005689B2 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 没有连接符“9750B784CF043CBDF96B1D5E80716F16”的真码送EAX
005689B5 |. E8 E6C2E9FF CALL JK_unpac.00404CA0 ; 取真码的前8位:9750B784
005689BA |. FF75 DC PUSH DWORD PTR SS:[EBP-24] ; 真码前8位压栈,下一条是连接符“-”
005689BD |. 68 C08A5600 PUSH JK_unpac.00568AC0 ; -
005689C2 |. 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
005689C5 |. 50 PUSH EAX
005689C6 |. B9 04000000 MOV ECX,4 ; 4 送 ECX
005689CB |. BA 09000000 MOV EDX,9 ; 9 送 EDX (也就是从第9位开始取4位)
005689D0 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 没有连接符“9750B784CF043CBDF96B1D5E80716F16”的真码送EAX
005689D3 |. E8 C8C2E9FF CALL JK_unpac.00404CA0
005689D8 |. FF75 D8 PUSH DWORD PTR SS:[EBP-28] ; 取到真码:CF04 ,下一条是连接符“-”
005689DB |. 68 C08A5600 PUSH JK_unpac.00568AC0 ; -
005689E0 |. 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
005689E3 |. 50 PUSH EAX
005689E4 |. B9 04000000 MOV ECX,4 ; 4 送 ECX
005689E9 |. BA 0D000000 MOV EDX,0D ; 13(十六进制OD) 送 EDX (也就是从第13位开始取4位)
005689EE |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 没有连接符“9750B784CF043CBDF96B1D5E80716F16”的真码送EAX
005689F1 |. E8 AAC2E9FF CALL JK_unpac.00404CA0
005689F6 |. FF75 D4 PUSH DWORD PTR SS:[EBP-2C] ; 取到真码:3CBD ,下一条是连接符“-”
005689F9 |. 68 C08A5600 PUSH JK_unpac.00568AC0 ; -
005689FE |. 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
00568A01 |. 50 PUSH EAX
00568A02 |. B9 04000000 MOV ECX,4 ; 4 送 ECX
00568A07 |. BA 11000000 MOV EDX,11 ; 17(十六进制11) 送 EDX (也就是从第17位开始取4位)
00568A0C |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 没有连接符“9750B784CF043CBDF96B1D5E80716F16”的真码送EAX
00568A0F |. E8 8CC2E9FF CALL JK_unpac.00404CA0
00568A14 |. FF75 D0 PUSH DWORD PTR SS:[EBP-30] ; 取到真码:F96B ,下一条是连接符“-”
00568A17 |. 68 C08A5600 PUSH JK_unpac.00568AC0 ; -
00568A1C |. 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]
00568A1F |. 50 PUSH EAX
00568A20 |. B9 0C000000 MOV ECX,0C ; 12(十六进制0C) 送ECX
00568A25 |. BA 15000000 MOV EDX,15 ; 21(十六进制15) 送EDX (也就是从第21位开始取12位)
00568A2A |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 没有连接符“9750B784CF043CBDF96B1D5E80716F16”的真码送EAX
00568A2D |. E8 6EC2E9FF CALL JK_unpac.00404CA0
00568A32 |. FF75 CC PUSH DWORD PTR SS:[EBP-34] ; 取到真码:1D5E80716F16
00568A35 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
00568A38 |. BA 09000000 MOV EDX,9
00568A3D |. E8 BEC0E9FF CALL JK_unpac.00404B00
00568A42 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 真真的真码:9750B784-CF04-3CBD-F96B-1D5E80716F16 送EAX
00568A45 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] ; 假码送 EDX
00568A48 |. E8 3FC1E9FF CALL JK_unpac.00404B8C ; 这个未跟入
00568A4D |. 0F94C3 SETE BL
00568A50 |. 33C0 XOR EAX,EAX
00568A52 |. 5A POP EDX
00568A53 |. 59 POP ECX
00568A54 |. 59 POP ECX
00568A55 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
00568A58 |. 68 7F8A5600 PUSH JK_unpac.00568A7F
00568A5D |> 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]
00568A60 |. BA 06000000 MOV EDX,6
00568A65 |. E8 1EBDE9FF CALL JK_unpac.00404788
00568A6A |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
00568A6D |. BA 03000000 MOV EDX,3
00568A72 |. E8 11BDE9FF CALL JK_unpac.00404788
00568A77 \. C3 RETN
00568A78 .^\E9 3FB6E9FF JMP JK_unpac.004040BC
00568A7D .^ EB DE JMP SHORT JK_unpac.00568A5D
00568A7F . 8BC3 MOV EAX,EBX
00568A81 . 5B POP EBX
00568A82 . 8BE5 MOV ESP,EBP
00568A84 . 5D POP EBP
00568A85 . C3 RETN
------------------------------------------------------------
简单分析就到这是了,大大们不要见笑哦!最后也来一个小小结吧:
我的机器码:443F6302-3157-9CC4-DE56-FACC797E4BEE
输入的假码:888888888888888888888888888888888888
注册码 :9750B784-CF04-3CBD-F96B-1D5E80716F16
最后最后还要请教一下大大们了:注册机我做不来,应该怎么做呢,请大大们指点一二啊,谢谢看完!还要多学习学习才是!
[ 本帖最后由 ttt0001 于 2008-4-11 12:41 编辑 ] |
评分
-
查看全部评分
|