goushibee 发表于 2014-7-14 10:05:25

流星网络电视 MeteorNetTV 2.86版算法分析

00520B13|.BA A80C5200   mov edx,MeteorNe.00520CA8                ;\SOFTWARE\Microsoft\Windows\CurrentVersion\olympic

00520B1A|.E8 9DBEF1FF   call MeteorNe.0043C9BC                   ;打开注册表
00520B1F|.84C0          test al,al
00520B21|.74 14         je XMeteorNe.00520B37
00520B23|.8B0D A8975200 mov ecx,dword ptr ds:          ;MeteorNe.0052B234
00520B29|.8B09          mov ecx,dword ptr ds:               ;ASCII "6ED4A17967C7")
00520B2B|.BA E40C5200   mov edx,MeteorNe.00520CE4                ;pic
00520B30|.8BC3          mov eax,ebx
00520B32|.E8 E9C2F1FF   call MeteorNe.0043CE20                   ;setvalue
00520B37|>8BC3          mov eax,ebx
00520B39|.E8 E6BDF1FF   call MeteorNe.0043C924                   ;closekey

----------------------------------------------------------------------------------
00520D2C=MeteorNe.00520D2C (ASCII "MeteorTV.username")
edx=00E38930, (ASCII "SoftWare\Microsoft\Windows\CurrentVersion\patron")

00520B61|.BA F00C5200   mov edx,MeteorNe.00520CF0                ;\SoftWare\Microsoft\Windows\CurrentVersion\patron
00520B66|.8BC3          mov eax,ebx
00520B68|.E8 4FBEF1FF   call MeteorNe.0043C9BC
00520B6D|.84C0          test al,al
00520B6F|.74 1F         je XMeteorNe.00520B90
00520B71|.8D4D B8       lea ecx,
00520B74|.BA 2C0D5200   mov edx,MeteorNe.00520D2C                ;MeteorTV.username
00520B79|.8B45 F8       mov eax,
00520B7C|.E8 8B78F5FF   call MeteorNe.0047840C                   ;。。
00520B81|.8B4D B8       mov ecx,                     ;ASCII "F9C6DB58FA6AF7C70AE96C39FEF54C99"
00520B84|.BA 480D5200   mov edx,MeteorNe.00520D48                ;mortal
00520B89|.8BC3          mov eax,ebx
00520B8B|.E8 90C2F1FF   call MeteorNe.0043CE20                   ;SetValue
00520B90|>8BC3          mov eax,ebx

根据name求出的值放这里

00520B99|.E8 9230EEFF   call MeteorNe.00403C30
00520B9E|.6A 40         push 0x40
00520BA0|.B9 500D5200   mov ecx,MeteorNe.00520D50                ;提示
00520BA5|.BA 580D5200   mov edx,MeteorNe.00520D58                ;为了验证注册信息的有效性,程序将自动退出,您需要重新运行本软件。
00520BAA|.A1 50995200   mov eax,dword ptr ds:
00520BAF|.8B00          mov eax,dword ptr ds:

上面只是把注册信息加密后存到注册表
重启验证,这里只是写值

005196B8|.8B55 F0       mov edx,dword ptr ss:          ;name DES加密后的结果
005196BB|.8D83 A4050000 lea eax,dword ptr ds:
005196C1|.E8 72B4EEFF   call MeteorNe.00404B38
005196C6|>8BC6          mov eax,esi
005196C8|.E8 5732F2FF   call MeteorNe.0043C924
005196CD|.8BC6          mov eax,esi
005196CF|.E8 5CA5EEFF   call MeteorNe.00403C30
005196D4|.8D4D EC       lea ecx,dword ptr ss:
005196D7|.BA F89B5100   mov edx,MeteorNe.00519BF8                ;MeteorTV.username
005196DC|.8B83 A4050000 mov eax,dword ptr ds:
005196E2|.E8 0DEFF5FF   call MeteorNe.004785F4                   ;DES解密
……

005196F8|.8B83 A4050000 mov eax,dword ptr ds:         ;name
005196FE|.E8 F5FAF5FF   call MeteorNe.004791F8                   ;md5加密
00519703|.8D4D E8       lea ecx,dword ptr ss:
00519706|.BA 149C5100   mov edx,MeteorNe.00519C14                ;killyou?yes
0051970B|.8B45 FC       mov eax,dword ptr ss:
0051970E|.E8 4D3BFCFF   call MeteorNe.004DD260                   ;!!!
……

00519721|.BA 289C5100   mov edx,MeteorNe.00519C28                ;http://www.jesen.cn
00519726|.8B83 A8050000 mov eax,dword ptr ds:
0051972C|.E8 DBECF5FF   call MeteorNe.0047840C
00519731|.8B55 E0       mov edx,dword ptr ss:          ;ASCII "7FB1CCEBD2482153")
00519734|.8D4D E4       lea ecx,dword ptr ss:
00519737|.8B45 FC       mov eax,dword ptr ss:
0051973A|.E8 CDECF5FF   call MeteorNe.0047840C                   ;DES
0051973F|.8B55 E4       mov edx,dword ptr ss:
00519742|.8D45 FC       lea eax,dword ptr ss:
00519745|.E8 32B4EEFF   call MeteorNe.00404B7C
0051974A|.8D55 DC       lea edx,dword ptr ss:
0051974D|.8B45 FC       mov eax,dword ptr ss:
00519750|.E8 A3FAF5FF   call MeteorNe.004791F8                   ;md5
……

005197E8|.E8 17B8EEFF   call MeteorNe.00405004                   ;第0x10位开始 取5位
005197ED|.FF75 C4       push dword ptr ss:
005197F0|.8D45 C0       lea eax,dword ptr ss:
005197F3|.50            push eax
005197F4|.B9 04000000   mov ecx,0x4
005197F9|.BA 04000000   mov edx,0x4
005197FE|.8B45 FC       mov eax,dword ptr ss:
00519801|.E8 FEB7EEFF   call MeteorNe.00405004                   ;第0x4位开始 取4位
00519806|.FF75 C0       push dword ptr ss:
00519809|.8D45 BC       lea eax,dword ptr ss:
0051980C|.50            push eax
0051980D|.B9 04000000   mov ecx,0x4
00519812|.BA 12000000   mov edx,0x12
00519817|.8B45 FC       mov eax,dword ptr ss:
0051981A|.E8 E5B7EEFF   call MeteorNe.00405004                   ;第0x12开始 取4位
0051981F|.FF75 BC       push dword ptr ss:
00519822|.8D45 B8       lea eax,dword ptr ss:
00519825|.50            push eax
00519826|.B9 03000000   mov ecx,0x3
0051982B|.BA 1D000000   mov edx,0x1D
00519830|.8B45 FC       mov eax,dword ptr ss:
00519833|.E8 CCB7EEFF   call MeteorNe.00405004                   ;1d开始 取3位
00519838|.FF75 B8       push dword ptr ss:
0051983B|.8D45 C8       lea eax,dword ptr ss:
0051983E|.BA 04000000   mov edx,0x4
00519843|.E8 1CB6EEFF   call MeteorNe.00404E64                   ;取出来的拼接起来
00519848|.8B45 C8       mov eax,dword ptr ss:
0051984B|.8D55 CC       lea edx,dword ptr ss:
0051984E|.E8 A5F9F5FF   call MeteorNe.004791F8                   ;md5加密
00519853|.8B45 CC       mov eax,dword ptr ss:
00519856|.8D4D D0       lea ecx,dword ptr ss:
00519859|.BA 449C5100   mov edx,MeteorNe.00519C44                ;Impressions
0051985E|.E8 A9EBF5FF   call MeteorNe.0047840C                   ;DES加密
00519863|.8B45 D0       mov eax,dword ptr ss:
00519866|.B9 0A000000   mov ecx,0xA
0051986B|.BA 06000000   mov edx,0x6
00519870|.E8 8FB7EEFF   call MeteorNe.00405004                   ;第6位开始 取A位
00519875|.C705 3CB25200>mov dword ptr ds:,0x1
0051987F|.8D4D F8       lea ecx,dword ptr ss:
00519882|.BA 589C5100   mov edx,MeteorNe.00519C58                ;nmmd-sgpj
00519887|.B8 6C9C5100   mov eax,MeteorNe.00519C6C                ;[标准版]
……

00519A49|.A1 34B25200   mov eax,dword ptr ds:          ;取这个地址内的值上面的结果的4位开始取6位
00519A4E|.E8 B1B5EEFF   call MeteorNe.00405004
00519A53|.8B85 70FFFFFF mov eax,dword ptr ss:
00519A59|.8D95 74FFFFFF lea edx,dword ptr ss:
00519A5F|.E8 6037FCFF   call MeteorNe.004DD1C4                   ;转成16进制文本
00519A64|.8B85 74FFFFFF mov eax,dword ptr ss:
00519A6A|.8D8D 78FFFFFF lea ecx,dword ptr ss:
00519A70|.BA A49C5100   mov edx,MeteorNe.00519CA4                ;sgpj-nmmd
00519A75|.E8 92E9F5FF   call MeteorNe.0047840C                   ;DES
00519A7A|.8B85 78FFFFFF mov eax,dword ptr ss:
00519A80|.50            push eax
00519A81|.8D85 64FFFFFF lea eax,dword ptr ss:
00519A87|.50            push eax
00519A88|.B9 06000000   mov ecx,0x6
00519A8D|.BA 04000000   mov edx,0x4
00519A92|.8B83 6C050000 mov eax,dword ptr ds:         ;取注册码加密后的值
00519A98|.E8 67B5EEFF   call MeteorNe.00405004
00519A9D|.8B85 64FFFFFF mov eax,dword ptr ss:
00519AA3|.8D95 68FFFFFF lea edx,dword ptr ss:
00519AA9|.E8 1637FCFF   call MeteorNe.004DD1C4
00519AAE|.8B85 68FFFFFF mov eax,dword ptr ss:
00519AB4|.8D8D 6CFFFFFF lea ecx,dword ptr ss:
00519ABA|.BA A49C5100   mov edx,MeteorNe.00519CA4                ;sgpj-nmmd
00519ABF|.E8 48E9F5FF   call MeteorNe.0047840C                   ;DES
00519AC4|.8B95 6CFFFFFF mov edx,dword ptr ss:
00519ACA|.58            pop eax
00519ACB|.E8 20B4EEFF   call MeteorNe.00404EF0                   ;比较
00519AD0      75 5F         jnz XMeteorNe.00519B31                   ;跳了死

程序验证是F(用户名,机器码) == F(序列号)
看下图。。



其中黄色部分和序列号的处理是一样的!!!所以去这上面的值作为注册码就可以了!!


启动时候还有一处网络验证的地方,如果没通过会删除注册表信息。。
0051AECD   .E8 929FEEFF   call MeteorNe.00404E64                   ;连接字符串
0051AED2   .8B45 B4       mov eax,dword ptr ss:
0051AED5   .8D55 B8       lea edx,dword ptr ss:
0051AED8   .E8 6B20FCFF   call MeteorNe.004DCF48               ; 网络验证
0051AEDD   .8B45 B8       mov eax,dword ptr ss:
……

0051AF60   . /75 08         jnz XMeteorNe.0051AF6A                   ;!!
0051AF62   . |8B45 FC       mov eax,dword ptr ss:
0051AF65   . |E8 0EE6FFFF   call MeteorNe.00519578               ;删除注册信息
0051AF6A   > \8D4D EC       lea ecx,dword ptr ss:


除了启动时候有验证,很多台也有网络验证。。。虚拟机什么都没改不知道怎么通过了网络验证。。。。。主机就不行。看人品了









最后来张虚拟机通过的。。。



下面是自己写的python注册机源码。。DES加密自己写了一遍。水平很渣,凑合着看吧。。



l0v3cr4ck 发表于 2014-7-14 11:14:31

赞一个,学习了。原来是大蛇写的啊。

GGLHY 发表于 2014-7-14 11:30:21

牛X,建议分析文章发软件安全版块~~~~~~

wkxq 发表于 2014-7-14 13:22:32

很牛的分析,膜拜中

beijingren 发表于 2014-7-14 13:23:52

膜拜会分分析注册机的大牛~~~

万分感谢论坛 发表于 2014-7-14 16:51:10

给力哈,膜拜大牛

pentium450 发表于 2014-7-14 17:21:08

十分厉害!!!赞啊

cfc1680 发表于 2014-7-14 17:21:14

大牛啊,膜拜会算法的大牛

Nisy 发表于 2014-7-14 18:26:01

我偷偷告诉你 ~~

jeremy 发表于 2014-7-15 16:40:56

太厉害了!
页: [1] 2 3
查看完整版本: 流星网络电视 MeteorNetTV 2.86版算法分析