草庐IT

API安全

全部标签

c# - 在 C# 中使用 win32 API 操作简单的 Windows 计算器?

好吧,我已尽力查看代码示例并在网络上发布有关如何执行此操作的帖子,但在几个月内我无法使用WindowsAPI与其他人交互取得任何进展已经在运行的程序。我不是最伟大的程序员,其中一些东西超出了我的范围。我能做的最多的就是找到计算器进程及其句柄,然后将其与SetWindowText一起使用以更改标题。我真正想学习的是让我的程序使用windowsuser32(我认为这一定是正确的库)通过实际按下软件计算器上的数字键按钮来输入一些数字来进行简单的计算。我并没有真正使用这个程序,这只是我试图达到的一个目标,即学习如何使用WindowsAPI,超过我在C#中的初级水平。如果没有人知道这方面的代码,

windows - 在 Windows 命令中使用密码参数是否安全?

假设我们有一个可以接受密码(或其他敏感信息)参数的程序或脚本:>program.exe/password:secret对于Linux,最佳实践通常建议反对直接在命令行上指定密码,因为存在潜在的安全问题(密码可能出现在shell的历史文件和系统的进程表中):$./program.sh--password'secret'&[1]4152$cat/proc/4152/cmdline/bin/sh./program.sh--passwordsecret但是,在四处搜索时,我没有看到针对Windows的同样强烈的推荐。在为Windows编写程序和脚本时,除了命令行选项的参数之外,我们是否应该提供

.net - 文件的安全流更新

我们通过将新记录写入临时文件来执行大型文本文件的更新,然后用临时文件替换旧文件。一个大大简化的版本:vartpath=Path.GetTempFileName();try{using(varsf=newStreamReader(sourcepath))using(vartf=newStreamWriter(tpath)){stringline;while((line=sf.ReadLine())!=null)tf.WriteLine(UpdateLine(line));}File.Delete(sourcepath);File.Move(tpath,sourcepath);}catch

windows - 复制 Windows XP 上正在运行的进程使用的 dll 是否安全?

这是在WindowsXP上。我有一个正在运行的进程(我想保持运行)。如果我复制它使用的dll(例如,将其替换为较新的版本),这是否会导致正在运行的进程出现问题,或者代码是否已经加载,所以这无关紧要? 最佳答案 您不应该复制正在运行的进程正在使用的dll。为了替换dll,需要将其标记为删除并在下次重新启动时替换。如果您希望手动执行此操作,则需要停止该过程。如果您可以复制它-那么dll没有像您怀疑的那样被使用,如果它被延迟绑定(bind)那么您可以在一个过程中复制它进程没有主动锁定它的时间-并且提供dll的内部结构对事件进程没有任何不利

windows - 不同的 Windows 操作系统使用了多少个安全环?

我问这个问题,因为我试图搜索所有Windows操作系统(从9x到Windows8,包括WindowsCE/Embedded)的信息,但没有成功,我没有得到准确的计数不同版本的铃声,关于内存范围等。MSDN中有一些关于native开发(KMDF)的信息,但仅适用于比Win32更低级别的工作,并且没有关于所有环和访问每个环的完整信息。你能帮我回答这个问题吗? 最佳答案 现在没有主要操作系统(至少在桌面上没有)使用超过2个环,原因很简单,在一个主要体系结构上,进行系统调用的现代高效方式(例如SYSENTER)专门支持从ring-3到rin

c - 有效地为不同的 Windows 版本使用不同的 API

我面临着使用可用的新Windows运行时功能的需要,并回退到新功能不存在的旧功能。代码路径对性能至关重要。如果平台(Windows8/WindowsServer2012)提供,我需要调用GetSystemTimePreciseAsFileTime,如果不存在较新的版本,则回退到GetSystemTimeAsFileTime。我知道我可以使用LoadLibrary和GetProcAddress加载GetSystemTimePreciseAsFileTime如果失败,回退到GetSystemTimeAsFileTime。我担心通过另一层间接调用像这样对性能至关重要的东西对性能的影响。是否有

c++ - 如何使用 SetTimer API

我尝试使用SetTimerAPI每隔X分钟调用一个函数。所以,我写了这段测试代码voidf(){printf("Hello");}intmain(){SetTimer(NULL,0,1000*60,(TIMERPROC)&f);}我应该每分钟都写下你好,但它不起作用。 最佳答案 你的程序有几个问题:C程序在离开main()时确实会结束,因此没有时间可以触发计时器。Win32计时器需要消息泵(见下文)才能工作,因为它们是通过WM_TIMER消息实现的,即使它们没有与任何窗口相关联,并且如果您提供函数回调。Whenyouspecifya

c++ - 编译错误,MinGW(g++),kinect for windows API

Kinect开发新手。我想使用MinGW作为我的Kinectforwindows的开发环境。我已经在c:\programfiles\MicrosoftSDKS\kinect\v1.8下安装了KinectforwindowsSDK。然后关注thisexample从MSDN,我写了一个代码来初始化我的Kinect传感器。当我编译时使用:g++-ccolor.c-I"c:\ProgramFiles\MicrosoftSDKs\Kinect\v1.8\inc"我收到了一大堆警告和错误警告InfileincludedfromNuiApi.h:109:0,fromcolor.c:2:c:\Prog

c++ - Windows 调试 Api - 分离不起作用

我在附加到目标进程时创建的线程中运行我的事件循环。我在分离之前所做的只是调用一个函数来清除调试并调用DebugSetProcessKillOnExit等,但是得到错误的返回值我认为它们必须从我创建的线程中调用。所以我做到了,现在没有错误,但目标进程只是在我退出/分离时退出。目前我检查事件循环中的bool值以检查我是否应该分离(有更好的解决方案吗?)然后执行以下操作:pEng->ClearHardwareBreakpoints();DebugSetProcessKillOnExit(FALSE);ContinueDebugEvent(pEng->pId,pEng->tId,DBG_CON

c - 哪个 API 用于在 Windows 上加密休眠文件?

以下内容引自此article的“安全改进”部分.“为了回应我们关于缺少Windows休眠文件加密API的公众投诉,Microsoft开始提供用于在WindowsVista和更高版本的Windows上加密休眠文件的公共(public)API..."但是,谷歌搜索未能显示更多信息,例如API的名称。也许我在谷歌上搜索了错误的术语……有人有什么想法吗? 最佳答案 来自IRP_MN_DEVICE_USAGE_NOTIFICATION系统组件发送此IRP以询问设备的驱动程序该设备是否可以支持特殊文件。特殊文件包括分页文件、转储文件和休眠文件。