草庐IT

敏感信息

全部标签

windows - 如何在 Windows 中的进程之间传输敏感数据?

我想将用户名和密码信息从一个进程传输到在Windows中同一服务器上运行的另一个进程。以安全方式实现此传输的最佳方法是什么?一种简单的方法是将密码复制到一个文件,然后让另一个进程从文件中读取,然后在读取后删除该文件。虽然这很简单,但我担心它是否安全,因为即使它只存在很短的时间,某人仍然有可能获得对该文件的访问权限,并且如果另一个文件也有可能被遗漏处理错误或崩溃。像套接字和命名管道这样的IPC似乎是解决这个问题的过度杀伤力。我更倾向于使用内存映射文件,如以下链接中所述,该链接讨论了跨进程共享内存。这是正确的方法吗?此外,在释放/删除之前用虚拟数据填充内存以防止恶意进程从该内存位置清除数据

c++ - 如何在非托管 C++ 中设置区域性信息?

我有一个用非托管C++编写的程序,我需要从系统获取文化信息并将该信息设置到我的C++应用程序中的当前执行线程。谢谢。 最佳答案 在Windows上的非托管C++中,您需要的是Locale。文化是.NET中定义的一个术语,用于替代该术语。有一大堆函数,但您需要启动的函数称为SetThreadLocale。SetThreadLocaleFunction(Windows)@MSDN在MSDN的文档中,Vista中似乎存在一些怪癖。您也可以引用以下功能。SetThreadUILanguageFunction(Windows)@MSDN此处提

windows - 获取有关 Windows 上其他进程的信息

如何获取有关Windows中其他(与perl.exe无关)进程的信息?比如说,我有一个脚本想要监视有关所有firefox.exe进程的一些基本信息。我想做这样的事情:#!perl-wusewarnings;usestrict;useMagicModuleqw/read_process_info/;useData::Dumper;my$ps=MagicModule::read_process_info();printDumper($ps);然后看到类似的东西:$VAR=[{ProcessName=>'firefox.exe',PID=>1234,PirvateBytes=>2115354

windows - 在 64 位 Windows 应用程序中获取 TID(线程信息 block )的最快方法?

我有一个计算密集型模块,我在其中添加了堆栈跟踪以便能够找到特定问题。尽管启用此堆栈跟踪时允许应用程序运行得更慢,但它不能运行慢10倍。这就是为什么我不使用DBGHELP.DLL中的StackWalk例程,而是使用帧指针自己遍历堆栈(因此我不使用FramePointerOmission编译器选项)。在大多数情况下,获取调用堆栈工作正常并且非常快,但在某些情况下,我的逻辑会失败,因为其中一个帧指针指向堆栈外的地址(不多,只是一点点)。我知道这可能是某个地方的错误,但为了能够使我的代码更安全,我需要一种方法来检查帧指针是否指向当前线程堆栈中的内存位置。该应用程序为64位,可在Windows下

vb.net - 获取扩展文件信息详情

如何使用VB.net获取windows文件的详细信息?我指的详细信息类型是当我右键单击一个文件时发现的,比如一个MSword文档,然后单击“属性”并选择“详细信息”选项卡。我知道有些可以通过FileInfo获得,但不是全部,例如“Tags”。谢谢 最佳答案 对于那些你需要使用Shell32的东西。在COM选项卡中,找到并添加MicrosoftShellControlsandAutomation。下面是为给定文件创建属性值列表的代码:'classtoholdthegoodiesFriendClassShellInfoPublicPro

windows - 如何为 ReadFileEx() 的完成例程提供上下文信息?

Win32ReadFileEx定义为:BOOLWINAPIReadFileEx(__inHANDLEhFile,__out_optLPVOIDlpBuffer,__inDWORDnNumberOfBytesToRead,__inoutLPOVERLAPPEDlpOverlapped,__in_optLPOVERLAPPED_COMPLETION_ROUTINElpCompletionRoutine);我正在尝试弄清楚如何使完成例程(最后一个参数)在操作完成时调用动态函数指针。似乎没有办法传递用户数据。有什么想法吗? 最佳答案 传入R

c++ - Windows 中有关 PTE(页表条目)的信息

为了更容易发现缓冲区溢出,我正在更改我们的自定义内存分配器,以便它分配一个完整的4KB页面,而不是仅分配所需的字节数。然后我更改页面保护和大小,这样如果调用者在其分配的内存块之前或之后写入,应用程序会立即崩溃。问题是虽然我有足够的内存,但应用程序永远不会完全启动,因为它耗尽了内存。这有两个原因:由于每次分配都需要4KB,我们可能很快就会达到2GB的限制。如果我制作一个64位可执行文件(还没有尝试过),这个问题就可以解决。即使我只需要几百兆字节,分配也会在某个时刻失败。第二个问题是最大的一个,我认为它与PTE的最大数量有关(页表条目,它存储有关虚拟内存如何映射到物理内存的信息,以及页面是

windows - 如何在 Visual Studio 中将版本信息添加到已编译的 EXE 文件中?

我有一个C++控制台应用程序,我想在EXE文件中添加一个版本号。如果这个版本会随着每次构建自动递增,那就更好了。这在VisualStudio2013中有可能吗? 最佳答案 第一部分很简单。右键单击解决方案中的ResourceFiles文件夹,添加、资源、版本。只需根据需要编辑字段。该编辑器在Express版afaik中不可用。第二部分,不,自动递增版本并不简单。有用于此的构建自动化工具,您在构建服务器上使用的那种。如果你使用一个,你就不会问这个问题。 关于windows-如何在Visua

c++ - 如何以编程方式检索 C++ 中 64 位进程的详细信息?

我的目标是以编程方式获取64位进程的完整命令行。我已经理解并编写了这段代码,我在其中对所有当前正在运行的进程进行了进程遍历,并获取了它们的每一个细节。但问题是此代码无法对64位进程(不在WOW64下运行的进程)执行相同的操作。#include#include#include#include#include#includeusingnamespacestd;BOOLGetProcessList(FILE*f);BOOLListProcessModules(DWORDdwPID,FILE*f);BOOLListProcessThreads(DWORDdwOwnerPID,FILE*f);v

python - 我们可以在 Python 中使用 os.listdir 获取时间戳信息吗(如 ls -l)?

我联系一个SFTP服务器并根据修改后的时间戳显示文件。目前,它是使用类似的东西完成的:files=os.listdir(SFTP)遍历文件并使用os.stat获取时间戳。用Python对最终列表进行排序。当SFTP位于不同的服务器上时,第2步中的循环成本非常高,因为它必须为每个文件从服务器到SFTP进行网络调用。有没有办法使用os.listdir或类似的API获取文件和修改时间?我使用的是Windows后端,SFTP连接通常是使用win32wnet.WNetAddConnection2完成的包裹。一个通用的解决方案会很有帮助,如果不是一个特定的解决方案也应该没问题。