域名|空间 淘宝 拍拍网店传奇世界私服 林海科技频道 欢迎加盟1G双线赠数据库八折广告位56296827
返回列表 回复 发帖

Windows Genuine Advantage Crack 0.1(XP/VISTA适用)

  用于Windows XP/Vista,可以使盗版或试用版通过M$的正版验证,从而达到更新和不受封锁的目的

N年前从Xfocus.net上下载到了HideProcess这个小工具,说是能隐藏进程,并公开了源代码,今天有兴趣研究一下。
(注:这个HideProcess.exe会被报毒,先关掉杀毒软件监控)

先看看HideProcess.exe的“威力”。

本例用任务管理器taskmgr.exe“开刀”,先打开任务管理器。

1、运行cmd.exe开一个窗口,再运行HideProcess taskmgr.exe
2、SSM拦截到它也是利用CreateRemoteThread注入DLL到taskmgr.exe中……
3、然后在任务管理器中就会发现自己给没了……

运用一些常用工具(包括我的ksIceProcess)当然无法检测出隐藏的taskmgr.exe,不过:

IceSword =>红色显示taskmgr.exe
SSM    =>深红色显示taskmgr.exe (必须是较高版本,低版本无法检测到)

又试了一个新鲜玩意:
knlps -l 成功检测到taskmgr.exe  


可见HideProcess利用的不是什么高深的技术,也没有加载驱动(但是沾了点边),正好合胃口。

用VC++ 打开它的EXE源码,将步骤列在下面。

1、定义一个字符串szHideDll,这个字符串很长,是这个程序要释放的DLL的全部数据。
2、入口main()
3、先检测一下用户输入的参数是否合理。
4、调用ReleaseDll()函数。其中releaseDLL调用CreateFile与WriteFile释放Hide.dll
5、GetModuleFileName得到DLL全路径。
6、OpenProcess打开目标进程
7、VirtualAllocEx和WriteProcessMemory在目标进程存放LoadLibrary(/* DLL 路径*/)字符串。
8、调用 CreateRemoteThread()注入DLL到目标进程
9、VirtualFreeEx(),CloseHandle()释放内存和目标进程句柄,DeleteFile()删除DLL文件。


当然,EXE只是一些皮毛,真正的东西还在DLL中。打开它的DLL源码。

由于看不太懂,只将能看出来的写在下面。

1、加载ntdll.dll (LoadLibrary("ntdll.dll")),其实是为了得到ntdll.dll的一个句柄,和GetModuleHandle差不多。
2、GetProcAddress()从ntdll.dll得到导出函数
RtlInitUnicodeString  //用于转化Char到Unicode 字符串,因为在内核下必须使用Unicode字符串。
ZwOpenSection      

3、调用OpenPhysicalMemory()读物理内存。代码:
  RtlInitUnicodeString(&physmemString, L"\Device\PhysicalMemory");
  status = ZwOpenSection(&g_hMPM, SECTION_MAP_READ|SECTION_MAP_WRITE, &attributes);  
  g_pMapPhysicalMemory = MapViewOfFile(g_hMPM, FILE_MAP_READ|FILE_MAP_WRITE, 0, PhyDirectory,  

0x1000);
4、下面的看不懂了。好像是修改了导入函数表之类的HOOK掉相关的函数。

5、进程成功隐藏!


写了一个钻空子的程序ProcTest,可以查出被HideProcess隐藏的程序.

注意这个程序需要配合KsIceProcess 0.72使用.它有些系统进程也检测不出来,两者的进程列表一比对,就可以知道被隐藏的进程了(Proctest有而KsIceProcess 0.72无的就是隐藏进程.不可以反过来.).如果大家需要,我可以把这个功能加到KsIceProcess中.

HideProcess.rar (61 KB)

ProcTest.rar (18 KB)

返回列表