请问在WIN2K如何完全隐藏一个程序以及如何让用户不能修改时间?

huangxi1981 2003-08-21 04:56:57
我做了一个单机下的网关程序,控制用户对内网IP的访问。我希望我的这个程序做到使用户无法关闭,但我无法解决2K下在任务管理器里关闭进程来关闭程序。请问2K下有没有API函数能实现隐藏进程?还有个问题是如何是用户不能修改本机时间,或者说是一旦修改就自动改回?
请高手指点。
...全文
43 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangxi1981 2003-08-22
  • 打赏
  • 举报
回复
上面的问题实在是问的丢脸,汗
HCURSOR CMy1Dlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}

BOOL SetNewTime(WORD hour, WORD minutes)
{
SYSTEMTIME st;
char *pc;

GetSystemTime(&st); // gets current time
st.wHour = hour-8; // adjusts hours
st.wMinute = minutes; // and minutes
if (!SetSystemTime(&st)) // sets system time
{return FALSE;}
else
return TRUE;
}

void CMy1Dlg::OnOK()
{
// TODO: Add extra validation here



SetNewTime(21,00);
CDialog::OnOK();
}
这样是对的
但为什么要是st.wHour = hour-8;才能得到想要的时间?
难道是北京时间的第8时区?
huangxi1981 2003-08-22
  • 打赏
  • 举报
回复
VC下测试:
void CMy1Dlg::OnOK()
{
// TODO: Add extra validation here

BOOL SetNewTime(WORD hour, WORD minutes)
{
SYSTEMTIME st;
char *pc;

GetSystemTime(&st); // gets current time
st.wHour = hour; // adjusts hours
st.wMinute = minutes; // and minutes
if (!SetSystemTime(&st)) // sets system time
return FALSE;
return TRUE;
}

SetNewTime(11,00);
CDialog::OnOK();
}
抱错:E:\fire\2324252562362626\1\1Dlg.cpp(177) : error C2601: 'SetNewTime' : local function definitions are illegal
错在那里啊?
realwar 2003-08-22
  • 打赏
  • 举报
回复
到“添加/删除程序”中,在所有WIN2000加上SNMP协议,启动时间服务,再在你的主域控制器上设置时间即可。
如果你不用windows的时间同步服务,看你的要求,我认为你不需要用CreateRemoteThread,你做一个你自己的windows服务即可达到你的目的。

huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
呵呵
一会我用VC测试一下
谢谢帮助
我的QQ 1187089
如果不闲我麻烦的话请加我,以后向你多请教
zhllwarez 2003-08-21
  • 打赏
  • 举报
回复
对C++BUILDER无能为力,建议到C++BUILDER版问问
huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
使用WINDOWS的时间同步服务。再就是可用windows api的CreateRemoteThread去隐你的任务。


能说详细点吗?
huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
我测试修改时间:
C++BUILDER6
pragma package(smart_init)
#pragma resource "*.dfm"
BOOL SetNewTime(WORD hour, WORD minutes);
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetNewTime(18,00);
}
BOOL SetNewTime(WORD hour, WORD minutes)
{
SYSTEMTIME st;
char *pc;

GetSystemTime(&st); // gets current time
st.wHour = hour; // adjusts hours
st.wMinute = minutes; // and minutes
if (!SetSystemTime(&st)) // sets system time
return FALSE;
return TRUE;
}
抱错:[Linker Error] Unresolved external 'WinMain' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0W32.OBJ
请问是什么问题啊?
realwar 2003-08-21
  • 打赏
  • 举报
回复
使用WINDOWS的时间同步服务。再就是可用windows api的CreateRemoteThread去隐你的任务。
zhllwarez 2003-08-21
  • 打赏
  • 举报
回复
当然了,不是吗?
huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
你的意思是我就在程序用个TIMER每阁个1,2分钟就调用一次这个函数?
这样的话只要能解决隐藏线程的问题就2个问题都解决了?
zhllwarez 2003-08-21
  • 打赏
  • 举报
回复
Windows中有修改系统时间的API,是SetSystemTime。
例子:
// SetNewTime - sets system time
// Return value - TRUE if successful, FALSE otherwise
// hour - new hour (0-23)
// minutes - new minutes (0-59)

BOOL SetNewTime(WORD hour, WORD minutes)
{
SYSTEMTIME st;
char *pc;

GetSystemTime(&st); // gets current time
st.wHour = hour; // adjusts hours
st.wMinute = minutes; // and minutes
if (!SetSystemTime(&st)) // sets system time
return FALSE;
return TRUE;
}
huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
用程序修改当前时间改怎么做?
有API函数吗?
zhllwarez 2003-08-21
  • 打赏
  • 举报
回复
系统开机时即加载你的程序,程序立即获得当前时间,打开一个timer,随时矫正系统时间。
因你的程序无法被终止,故即使用户修改了时间你的程序也会把它自动改回去
注意:必须防范用户直接在cmos中修改时间,可以设置cmos密码解决
smallrascal 2003-08-21
  • 打赏
  • 举报
回复
利用线程插入技术,这样的话只要系统还在运行程序就不肯能被关闭
muake 2003-08-21
  • 打赏
  • 举报
回复
用路由表就可以呀
还有访问控制列表
huangxi1981 2003-08-21
  • 打赏
  • 举报
回复
我的程序就是用来让用户不能上网的。这样的话就不能和网络时间比较了啊?
还有其他方法吗?
zhllwarez 2003-08-21
  • 打赏
  • 举报
回复
隐藏进程:http://gtogo.myetang.com/po/biancheng/1.htm
不能修改本机时间思路:
自己在程序中设置一个定时器随时校对系统时间。还有一种网上对时的软件(获取网上主机时间校正本地时间)的编程思路可以参考
其中包含 AccessChk 为了确保创建安全的环境,Windows 管理员通常需要了解特定用户用户组对文件、目录、注册表项和 Windows 服务等资源具有哪种访问权限。AccessChk 能够通过直观的界面和输出快速回答这些问题。 AccessEnum 这一简单但强大的安全工具可以向您显示,谁可以用何种访问权限访问您系统中的目录、文件和注册表项。使用此工具可查找权限漏洞。 AdExplorer Active Directory Explorer 是一个高级的 Active Directory (AD) 查看器和编辑器。 AdInsight 一种 LDAP(轻型目录访问协议)实时监视工具,旨在对 Active Directory 客户端应用程序进行故障排除。 AdRestore 恢复已删除的 Server 2003 Active Directory 对象。 Autologon 登录过程中跳过密码屏幕。 Autoruns 查看哪些程序被配置为在系统启动和您登录时自动启动。Autoruns 还能够完整列出应用程序可以配置自动启动设置的注册表和文件位置。 BgInfo 此完全可配置程序会自动生成桌面背景,其中包含有关系统的 IP 地址、计算机名称、网络适配器及更多内容的重要信息。 BlueScreen 此屏幕保护程序不仅精确模拟“蓝屏”,而且也模拟重新启动(完成 CHKDSK),并可在 Windows NT 4、Windows 2000、Windows XP、Server 2003 和 Windows 9x 上工作。 CacheSet CacheSet 是一个允许您利用 NT 提供的功能来控制缓存管理器的工作集大小的程序。它与 NT 的所有版本都兼容。 ClockRes 查看系统时钟的分辨率,亦即计时器最大分辨率。 Contig 您是否希望迅速对您频繁使用的文件进行碎片整理?使用 Contig 优化单个的文件,或者创建连续的新文件。 Coreinfo Coreinfo 是一个新的命令行实用工具,可向您显示逻辑处理器与物理处理器之间的映射、NUMA 节点和它们所处的插槽,以及分配给每个逻辑处理器的缓存。 Ctrl2cap 这是一个内核模式的驱动程序,可在键盘类驱动程序上演示键盘输入过滤,以便将 Caps-Lock 转变为控制键。在此级别过滤允许在 NT 刚好要“看到”键之前变换和隐藏键。Ctrl2cap 还显示如何使用 NtDisplayString() 打印初始化蓝屏的消息。 DebugView Sysinternals 的另一个优先程序:此程序截取设备驱动程序对 DbgPrint 的调用和 Win32 程序生成的 OutputDebugString。它允许在不使用活动的调试器的情况下,在本地计算机上或通过 Internet 查看和记录调试会话输出。 Desktops 使用这一新的实用工具可以创建最多四个虚拟桌面,使用任务栏界面或热键预览每个桌面上的内容并在这些桌面之间轻松地进行切换。 Disk2vhd Disk2vhd 可简化从物理系统到虚拟机 (p2v) 的迁移。 DiskExt 显示卷磁盘映射。 Diskmon 此实用工具会捕捉所有硬盘活动,或者在您的系统任务栏中象软件磁盘活动灯一样工作。 DiskView 图形磁盘扇区实用工具。 Disk Usage (DU) 按目录查看磁盘使用情况。 EFSDump 查看加密文件的信息。 Handle 此易用命令行实用工具将显示哪些进程打开了哪些文件,以及更多其他信息。 Hex2dec 将十六进制数字转换为十进制及反向转换。 接合点 创建 Win2K NTFS 符号链接。 LDMDump 转储逻辑磁盘管理器在磁盘上的数据库内容,其中说明了 Windows 2000 动态磁盘的分区情况。 ListDLLs 列出所有当前加载的 DLL,包括加载位置及其版本号。2.0 版将打印已加载模块的完整路径名。 LiveKd 使用 Microsoft 内核调试程序检查真实系统。 LoadOrder 查看设备加载到 WinNT/2K 系统中的顺序。 LogonSessions 列出系统中的活动登录会话。 MoveFile 使您可以安排在系统下一次重新启动时执行移动和删除命令。 NTFSInfo 用 NTFSInfo 可以查看有关 NTFS 卷的详细信息,包括主文件表 (MFT) 和 MFT 区的大小和位置,以及 NTFS 元数据文件的大小。 PageDefrag 对您的分页文件和注册表配置单元进行碎片整理。 PendMoves 枚举在系统下一次启动时所要执行的文件重命名和删除命令的列表。 PipeList 显示系统上的命名管道,包括每个管道的最大实例数和活动实例数。 PortMon 通过高级监视工具监视串行端口和并行端口的活动。它能识别所有的标准串行和并行 IOCTL,甚至可以显示部分正在发送和接收的数据。3.x 版具有强大的新 UI 增强功能和高级筛选功能。 ProcDump 这一新的命令行实用工具旨在捕获其他方式难以隔离和重现 CPU 峰值的进程转储。该工具还可用作用于创建进程转储的一般实用工具,并可以在进程具有挂起的窗口或未处理的异常时监视和生成进程转储。 Process Explorer 找出进程打开了哪些文件、注册表项和其他对象以及已加载哪些 DLL 等信息。这个功能异常强大的实用工具甚至可以显示每个进程的所有者。 Process Monitor 实时监视文件系统、注册表、进程、线程和 DLL 活动。 ProcFeatures 这一小程序会报告处理器和 Windows 对“物理地址扩展”和“无执行”缓冲区溢出保护的支持情况。 PsExec 在远程系统上执行进程。 PsFile 查看远程打开的文件。 PsGetSid 显示计算机或用户的 SID。 PsInfo 获取有关系统的信息。 PsKill v1.13(2009 年 12 月 1 日) 终止本地或远程进程。 PsList 显示有关进程和线程的信息。 PsLoggedOn 显示登录到某个系统的用户。 PsLogList 转储事件日志记录。 PsPasswd 更改帐户密码。 PsService 查看和控制服务。 PsShutdown 关闭并重新启动(可选)计算机。 PsSuspend 挂起和继续进程。 PsTools PsTools 套件包括一些命令行程序,可列出本地或远程计算机上运行的进程、远程运行进程、重新启动计算机、转储事件日志,以及执行其他任务。 RegDelNull 扫描并删除包含嵌入空字符的注册表项,标准注册表编辑工具不能删除这种注册表项。 RegJump 跳至 Regedit 中指定的注册表路径。 RootkitRevealer 扫描系统以找出基于 Rootkit 的恶意软件。 SDelete 安全地覆盖敏感文件,并使用此符合 DoD 的安全删除程序清理先前删除文件所在的可用空间。 ShareEnum 扫描网络上的文件共享并查看其安全设置,以关闭安全漏洞。 ShellRunas 通过方便的 shell 上下文菜单项,作为另一个用户启动程序。 Sigcheck 转储文件版本信息并检查系统中的映像是否已进行数字签名。 Streams 显示 NTFS 备用数据流。 Strings 在二进制映像中搜索 ANSI 和 UNICODE 字符串。 Sync 将缓存数据刷新到磁盘。 TCPView 活动套接字命令行查看器。 VMMap VMMap 是进程虚拟和物理内存分析实用工具。 VolumeId 设置 FAT 或 NTFS 驱动器的卷 ID。 Whois 查看 Internet 地址的所有者。 WinObj 基本对象管理器命名空间查看器。 ZoomIt 在屏幕上进行缩放和绘图的演示实用工具。
【一】OsdRoom.exe 包厢字幕显示程序,接收网络的字幕命令,并显示字幕,运行后为托盘程序,双击托盘退出程序。当文件TV.bmp(256色)存在的时候,OsdRoom.exe自动装载该图片,作为LOGO显示在左上角。【二】SendOSD.exe 发送字幕程序,发送给包厢字幕程序接收。【三】IP.ini IP地址配置文件,也可以把所有的包厢的机器名字配置到里面。【四】如果需要全部包厢接收信息,则发送端必须是WIN98或WIN2K,如果是其他操作系统,需要作者修改程序。【五】如果要正确显示字体,发送端和接收端字体必须存在。【六】如果OSD叠加程序和VOD播放程序一起运行,需要先启动OSD叠加程序。【七】OsdRoom.exe 和 SendOSD.exe 不要在同一台电脑上使用!!!【八】支持脚本操作,用户可以根据自己的需要,定制自己的脚本,使自己的程序功能强大无比。【九】最佳使用分辨率1024 X 768脚本样例://脚本命令不区分大小写,时间格式为:hh:ss:mm, 正确的时间格式:20:00:00,错误的格式:20:0:0 或 20:0:00 或 20:00:0//请注意不要用多余的空格,不然命令不会执行,脚本只有启动后,才会执行。//在时间20:00:10,显示叠加的文字,叠加的文字为两行。line=欢迎使用长沙智远科技OSD叠加程序line=http://www.csdelphi.com//在时间20:01:00,显示叠加的文字line=联系电话:0731-2600017 13574073303 李生 如果OSD叠加程序和VOD播放程序一起运行,需要先启动OSD叠加程序//在时间20:01:30,隐藏叠加的文字注意:Start=后面的时间 和 End=后面的时间 必须一致。提示:文字透明颜色:clLime。

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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