请vbin、cner、adaptor85等大侠看过来,继续98下隐藏进程的问题

roy_hu 2001-10-06 03:03:23
为什么:
在 App类 中 有 如 下 定 义 :
DWORD m_nAppType
DWORD m_nOffset

在 APP类 的 构 造 函 数 中 加 入
DWORD nOffset;
DWORD nAppType = 0x10800000;
__asm{
mov ebx,30h
push es
push fs
pop es
mov ebx,es:[ebx]
mov nOffset,ebx
pop es
mov eax,nAppType
xchg [ebx+20h],eax
mov nAppType,eax
}
m_nOffset = nOffset;
m_nAppType =nAppType;

在 程 序 结 尾 (ExitInstance)加 上 :
DWORD nOffset;
DWORD nAppType;

nOffset = m_nOffset;
nAppType = m_nAppType;

__asm{
push eax
push ebx
mov ebx,nOffset
mov eax,nAppType
xchg [ebx+20h],eax
pop ebx
pop eax
}
的作用相当于RegisterServiceProcess,这是怎么看出来的呢?
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rh 2001-10-10
  • 打赏
  • 举报
回复
你还是不要faint的好
谁叫你点大侠的名,让我等菜鸟都不敢进来看你的帖子

隐藏的代码段是如此的:
mov ebx,30h
push es
push fs
pop es
mov ebx,es:[ebx]
pop es
mov [ebx+20h],10800000h

在98下,你用ShowWindow(Application->Handle,SW_HIDE);//能在任务栏上隐藏窗体
你用Form1->Visible = false;能在ctrl+tab切换程序时显示的任务窗体里隐藏自己的程序
当你按下ctrl+del+alt后,当一个应用程序没有可以显示的enable窗体的名字时
98将检查上面程序段的特定双字是否为10800000h,若是则不显示在任务管理器里,否则显示
一般情况下该双字的值为200h

以上不是我的原创。我也是从别处看来,为他人用softice跟踪而得。
根据作者介绍,他觉得(没有肯定)在98加载应用程序时,fs指向的段就好比dos程序的psp
里面有许多重要数据,这里的双字便是其中之一。但具体代表什么,微软没有公开,不能确定


roy_hu 2001-10-10
  • 打赏
  • 举报
回复
faint,why?
roy_hu 2001-10-07
  • 打赏
  • 举报
回复
up

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧