标 题: 【原创】绕过流星网络电视(MeteorNetTv) V2.23.3 在线认证
作 者: the0crat
时 间: 2007-02-01,12:55
链 接: http://bbs.pediy.com/showthread.php?s=&threadid=38913
【文章标题】: 绕过流星网络电视(MeteorNetTv) V2.23.3 在线认证
【文章作者】: the0crat
【作者邮箱】: the0crat.cn_at_gmail.com
【作者主页】: http://the0crat.blogcn.com
【生产日期】: 20070201
【作者声明】: 本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任。本文中
的不足之处请各位多多指教
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
--------------------------------------------------------------------------------
【详细过程】
虽然先前写了算法分析,那篇当中的在线认证没有专门分析,很多人也对在线认证感兴趣。这里就当补充吧,不过没有什么技术含量的,得道高僧请飞过,不然我会内疚的。不过之所以专门写一下如何绕过在线认证着重的是过程,蛮好玩的。严格的来说也只是另一种方式的爆破。这里没有什么算法,所以也就不深入分析具体过程了。
查壳,和上一个版本一样,ASPack 2.12 -> Alexey Solodovnikov,在005713a9上f2,f9就能看到OEP了,
dump.
为了定位在线认证的位置,我们来对比几次分析一下
-插上网线,输入注册码,程序重启之后,虽然标题栏还有“钻石版”的字样,但是在“关于”里面能看到
注册信息实际上已经被删除了
-拔掉网线,输入注册码,程序重启之后,“关于”中能看到完整的注册信息
-插网线,od,ctrl+n
wininet.InternetCloseHandle
wininet.InternetConnectA
wininet.InternetCrackUrlA
wininet.InternetOpenA
wininet.InternetOpenUrlA
wininet.InternetReadFile
...
在InternetReadFile上Find Reference to import,能看到004B6E24和004DF926,下断,F9,断下来
004DF926 . E8 1D2EF5FF call <jmp.&wininet.InternetReadFile>
总是在这里,次数太多了,我们把断点往上移,在这个函数的入口处下断
004DF804 $ 55 push ebp
004DF805 . 8BEC mov ebp, esp
004DF807 . 81C4 E0FBFFFF add esp, -420
004DF80D . 53 push ebx
004DF80E . 33C9 xor ecx, ecx
Ctrl+F2,运行,第一次断下来,看堆栈最顶端的地址,Enter,
005061DC . 64:8920 mov dword ptr fs:[eax], esp
005061DF . 8D55 C8 lea edx, dword ptr [ebp-38]
005061E2 . 8B45 FC mov eax, dword ptr [ebp-4]
005061E5 . 8B80 78040000 mov eax, dword ptr [eax+478]
005061EB . E8 1496FDFF call 004DF804
005061F0 . 8B55 C8 mov edx, dword ptr [ebp-38]
005061F3 . 8B45 FC mov eax, dword ptr [ebp-4]
005061F6 . 05 7C040000 add eax, 47C
来到这里,先别管eax的那个文件到底是什么,在这个call的下一行下断,Ctrl+F2,先拔掉网线,运行,断下来,插上网线,运行,注册信息被删了,重新把注册信息输入
-只留004DF804处的断点,ctrl+f2,拔掉网线,f9三次,插上网线,一路f9,可以看到我们要的注册信息。那么在线注册的地方就知道了,在第二次f9之后第三次之到第二次端下来时堆栈顶端的地方,也就是这个关键call
005062F1 . 64:8920 mov dword ptr fs:[eax], esp
005062F4 . 8B45 FC mov eax, dword ptr [ebp-4]
005062F7 . 8B88 D0040000 mov ecx, dword ptr [eax+4D0]
005062FD . 8D45 A8 lea eax, dword ptr [ebp-58]
00506300 . BA A46B5000 mov edx, 00506BA4 ; ASCII
"http://www.jesen.cn/check/isdaolian.asp.id="
00506305 . E8 22E4EFFF call 0040472C ; 将机器码连在后面
0050630A . 8B45 A8 mov eax, dword ptr [ebp-58]
0050630D . 8D55 AC lea edx, dword ptr [ebp-54]
00506310 . E8 EF94FDFF call 004DF804 ; 关键call
00506315 . 8B45 AC mov eax, dword ptr [ebp-54]
00506318 . 8D55 F4 lea edx, dword ptr [ebp-C]
这就有一个很简单的能绕过认证的方法,因为拔掉网线时不会断在关键call后面,插上网线时会断在这里,也就是只要能打开那个url才继续认证,那么把这个url改成别的就达到目的了
总的来说,其实也就是检查一下盗链吧。那让它检查不了就行了,当然也有别的办法,这里就不多费口舌了
又可参考http://bbs.pediy.com/showthread.php?s=&threadid=37659
[课程]FART 脱壳王!加量不加价!FART作者讲授!