



别看题目挺抢眼的,其实一点不难,估计gg平台也是初试驱动,几乎没有保护驱动,所以可以很轻易地被干掉。
原理上篇文章已经说了,是SSDT的NtOpenProcess被Hook了,还原之即可。不知道gg会不会再次hook,总之在开挂前开一次我放的这个干掉gg就可以开挂了——此程序只负责干掉gg驱动下的hook,至于gg平台本身的检测war3内存等概不管之,请自行解决!
在驱动面前,本人也是菜鸟。此程序只在xp sp2下测试通过,其他平台可能会有问题,使用此程序可能导致蓝屏,请在使用之前保存相关工作或文档,切记!如果首次运行成功,以后就不会有问题了。
下载地址:http://www.qiannao.com/space/show/lynnux/上传分享/2008/11/19/干掉GG.rar/.page




GG竞舞台终于还是走向了驱动,进了内核,魔兽外挂作者们要加油啊!
看了留言板,我特意去下了个竞舞台,运行起了war3,进程里看了下,并没有被隐藏,于是打开lynnMH用内存patch方式,结果提示“打开war3进程失败!”,我差不多知道原因了,是OpenProcess出错。
OpenProcess差不多是内存修改war3进程必用的API,这个出错一般是被hook,hook分两大类,一类是ring3级的,一类是ring0级的。于是我打开RootKit Unhooker,SSDT那里直接就显示出来了,是NtOpenProcess被Hook了。
解决办法很简单,在RootKit Unhooker那里选中NtOpenProcess那栏,然后右键菜单,选择UnHook Selected即可。
驱动内核我是才学,不多加评论了,游戏平台进入ring0级别那么一大批ring3级的外挂都会失效咯,HOHO~~~(有点幸灾乐祸的味道)
哎,继续学习吧,不陪你们玩咯~~~




今天搞了个VB的小CrackMe,有一些心得几下来,不然过不久就都忘了,如果此文对你有帮助,我也会倍感欣慰
1.VB的变量
ds:[0040100C]=7349986E (msvbvm60.__vbaVarMove)
Var就是变量了,但是实际值是在指针偏移+8处,比如这个0012F49C变量指针,其实际值是31 00 00 00
0012F49C 02 00 00 00 00 00 00 00 31 00 00 00
对于字符串变量,31 00 00 00就是一个字符串指针
2.VB对API的调用
VB对API调用必然会用到这个函数
004011B0 .- FF25 68104000 jmp dword ptr [<&MSVBVM60.DllFunctio>; msvbvm60.DllFunctionCall
即DllFunctionCall,对其下断,保准对api的掉用一个都跑不掉
而且就在调用DllFunctionCall上面不远处就有那个api的字符串,比如
004025D8 . 75 73 65 72 3>ascii "user32",0
004025DF 00 db 00
004025E0 0C db 0C
004025E1 00 db 00
004025E2 00 db 00
004025E3 00 db 00
004025E4 . 4D 65 73 73 6>ascii "MessageBoxA",0
004025F0 D8254000 dd test.004025D8 ; ASCII "user32"
004025F4 E4254000 dd test.004025E4 ; ASCII "MessageBoxA"
004025F8 00 db 00
004025F9 00 db 00
004025FA 04 db 04
004025FB 00 db 00
004025FC D4424000 dd test.004042D4
00402600 00 db 00
00402601 00 db 00
00402602 00 db 00
00402603 00 db 00
00402604 00 db 00
00402605 00 db 00
00402606 00 db 00
00402607 00 db 00
00402608 $ A1 DC424000 mov eax, dword ptr [4042DC]
0040260D . 0BC0 or eax, eax
0040260F . 74 02 je short 00402613
00402611 . FFE0 jmp eax
00402613 > 68 F0254000 push 004025F0
00402618 . B8 B0114000 mov eax,
0040261D . FFD0 call eax
0040261F . FFE0 jmp eax
3.转帖ximo的VB事件找法:二进制搜索81 6C 24 ,比如下面这样的形式:
00402C1C . 816C24 04 4300>sub dword ptr [esp+4], 43
00402C24 . E9 B7000000 jmp 00402CE0
后面可能会有很多jmp语句,直接对有jmp那行下断就可以断下VB的关键事件模块
OK,暂时总结上面三点,以后有继续补充




按键精灵很有名气我却没用过,不久前破了一个按键精灵写的脚本,今天由于需要下了个破解来玩,是6.84版本的。
这个破解版我看了下,用的是lpk.dll补丁,老东西了,只能在xp系统上用,不过这个lpk要弹广告,直接跳到破解作者的主页上去了,不爽,于是自己盗版了这个lpk,哈哈。




最近在看rookit,看到了这本比较短的科普资料:Inside Windows Rootkits.pdf。让我见识了一种很新奇——当然对我来说——的隐藏rootkit的方法或者说是思路,叫Shadow walker ,下面是简介,不过是英文的,:P
Shadow walker
While kernel-level rootkits have generally focused on hiding processes, files, and registry keys,
there is one resource that rootkits have not traditionally aimed to hide: memory. For rootkits, this
is a serious flaw, because it opens up the opportunity to detect them by scanning memory. At
BlackHat USA 2005, Jamie Butler and Sherri Sparks presented Shadow Walker, a rootkit that
aims to control the view that the operating system has on certain memory regions in a manner
that allows a rootkit to hide itself in memory [22]. The goal of Shadow Walker is to give a benign
view of memory regions that contain the rootkit whenever a request is made to read the memory,
but to give the true view of the rootkit whenever a request is made to execute code in the
memory. In this way, when a scanner reads the memory to compare it to signatures, the scanner
does not see the rootkit’s code.
To accomplish this, Shadow Walker marks all of the rootkit’s memory as being paged out to disk,
causing a page fault to occur whenever the memory is accessed. It then hooks the page fault
handler with code that determines whether the request was made to read the memory or execute
it. Depending on the nature of the request, Shadow Walker can either point to physical memory
holding the rootkit code, or physical memory holding benign data.
There are a number of ways to detect the presence of Shadow Walker. For example, its page
fault handler hook is implemented as an IDT hook, which, as discussed earlier, can be detected.
Also, rootkit code is almost always in non paged memory, which cannot be paged out. Shadow
Walker marks this non paged memory as being paged out, which is a sign of its presence. Still,
Shadow Walker is a clever concept, and it adds yet another place to focus when attempting to
detect rootkits on a compromised system.
大概的意思就是无论rootkit怎么隐藏,它总会在内存里留下痕迹,那么我们就从内存入手来隐藏。把rootkit的执行代码放入分页内存中,这样当要读取、写入或者运行这段代码的时候就会引起分页故障,于是要转入相应的程序来处理,我们就可以hook这个处理程序,只有当由运行这段代码的时候才是rootkit真正的原本的面目,其余特别是读取代码页的时候就指向假的内存页,这样就不会发现rootkit了(假设是根据特征码检测rootkit)。上面最后那段文字可以不管,说的要检测这样的rootkit还是由很多种办法的,因为它要hook,但是它的思路是很好的!
所以如果MH做到驱动去了,HOHO,那办法就是相当地多了~~~


More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS

Void
Life « Default
Earth
Wind
Water
Fire
Light 