草庐IT

【docker - 安装】windows 10 专业版 安装docker,以及 WSL kernel version too low 解决方案

一、安装WSL1.执行2.重启计算机 二、下载docker三、安装docker四、问题Stage1:打开powershell,并执行Stage2:下载Linux内核更新包,并安装Stage3:将WSL2设置为默认版本Stage4:安装所选的Linux分发 一、安装WSL作用:在Windows上同时访问Windows和Linux         通过适用于Linux的Windows子系统(WSL),开发人员可以安装Linux发行版(例如Ubuntu、OpenSUSE、Kali、Debian、ArchLinux等),并直接在Windows上使用Linux应用程序、实用程序和Bash命令行工具,不用

c - 如何访问用户态内存?

我正在尝试阅读notepad.exe的PEB目前我正在尝试通过注册一个ProcessCreation回调然后等待notepad.exe创建来访问PEB。创建记事本后,我使用它的PID打开进程并使用ZwQuerryProcess(PROCESS_BASIC_INFORMATION)找到PEB。但是当我尝试阅读INFORMATION->PEB以外的内容时,会引发异常(我认为这是因为我无法访问内存)当我第一次发现这个时,我记得有人提到了KeStackAttachProcess,它对应于访问另一个进程上下文中的地址。问题是我不知道如何检查上下文更改是否成功。一旦我应该在另一个上下文中,我仍然无

windows - 线程 fs 段寄存器在用户和内核空间之间切换

fs段寄存器如何指向TEB和KPCR。这些数据结构是否保存在线程用户和内核堆栈中?那么,当线程上下文从用户切换到内核时,包含TEB指针的fs段reg被保存到线程用户堆栈,然后指向KPCR的内核fs段寄存器被加载回fs段寄存器?这就是fs段寄存器指向TEB和KPCR的方式吗? 最佳答案 FS寄存器在LDT或GDT(本地/全局段描述符表)中有一个与之关联的段基地址).FS几乎是描述符表的索引,它选择表中定义的段之一。当您通过FS(在指令中使用FS段覆盖前缀)访问内存时,您访问的虚拟地址等于指令中的地址加上段基址。该段基地址必须与线程特定

windows - 从驱动程序创建进程

有没有办法在WindowsNT平台(XP-W7)上从内核模式创建用户模式进程?编辑:我必须只安装驱动程序。这是项目的具体内容。 最佳答案 要创建有效的win32进程,驱动程序必须与CSRSS通信(完全没有记录)。因此,我最终将用户模式​​APC排队,并在现有win32进程的上下文中为APC代码分配虚拟内存(该代码将调用CreateProcess并完成工作)。这是一种棘手的方法,但它确实有效。 关于windows-从驱动程序创建进程,我们在StackOverflow上找到一个类似的问题:

windows - 内核模式和用户模式应用程序之间的通信

我构建了一个在内核模式下运行的WFP标注驱动程序。现在,我想弄清楚如何在这个驱动程序和我在用户模式下运行的GUI应用程序之间进行通信。有什么想法吗?正是我想要的是这样的:标注驱动程序检测到端口4444上的传入连接(这不是我的问题的一部分)驱动程序向用户模式应用程序发送消息。该应用向用户显示一条通知,询问我们是否应接受/阻止连接。用户模式应用将用户的响应发送回callout驱动程序。谢谢! 最佳答案 我同意LordDoskias的观点。您需要创建一个设备对象并使其可用于Win32领域。然后就可以使用CreateFile、ReadFil

windows - 如何在内核模式 Hook 中获取调用者 SID? ( Windows )

我正在开发一个HookWindows中某些功能的驱动程序(强化驱动程序会阻止某些操作)。问题是,我想记录哪个用户试图运行这些操作。例如,我在ZwSetValueKey上放置了一个钩子(Hook)以过滤注册表写入。钩子(Hook)工作完美,但我不知道如何获取调用者SID。我发现我可以使用ExGetPreviousMode确定调用者的模式(即用户模式或内核模式)。但是如果调用方处于用户模式,我不太确定如何确定SID。谢谢。 最佳答案 如果这是用户模式,您将从GetCurrentProcess或GetCurrentThread开始,然后调

java - 检测符号链接(symbolic link)/连接点的跨平台方式?

在java中,可以通过比较文件的规范路径和绝对路径来检测Unix环境中的符号链接(symboliclink)。但是,这个技巧在Windows上不起作用。如果我执行mkdirc:\foomklink/jc:\bar从命令行,然后在java中执行以下几行Filef=newFile("C:/bar");System.out.println(f.getAbsolutePath());System.out.println(f.getCanonicalPath());输出是C:\barC:\bar是否有任何Java7之前的方法来检测Windows中的连接? 最佳答案

windows - 在 Windows 和 Apache Toree Kernel 上使用 Jupyter 以实现 Spark 兼容性

我正在尝试安装ApacheToree内核以实现spark兼容性,但我遇到了一条奇怪的环境消息。这是我遵循的过程:使用Jupyter4.1.0安装最新的Anaconda版本运行:pipinstall--pretoree运行:jupytertoreeinstall--interpreters=PySpark,SparkR,Scala,SQL只真正对Scala内核感兴趣,但我安装了所有解释器。操作系统是windows7,没有选择使用虚拟机或linux。这是我修改后使用cygwin执行run.shbash脚本的kernel.json文件:{"language":"scala","display

windows - 如何在启动时关闭 Windows 内核调试?

我有一台Vista32位机器,我想在其上启用本地内核调试。在WinDbg中,我选择了文件/内核调试并选择了本地选项卡并单击确定。我收到以下消息。系统不支持本地内核调试。...WindowsVista中默认禁用本地内核调试,您必须运行“bcdedit-debugon”并重新启动才能启用它。我天真地按照说明打开提升的命令提示符并键入“bcdedit-debugon”并重新启动。但是,在重新启动时,系统在到达登录屏幕时挂起-或者就在我输入用户名和密码后挂起。我怀疑正在发生的事情是因为启用了调试器,在内核调试器进程中触发了用户模式异常,它正在等待我从附加的调试器输入一些输入??我希望在实际目标

windows - 在哪里可以了解 Windows 内核?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion在我作为一名软件工程专业的学生的时候,我接触过Linux很多次,以至于我觉得我对它的工作方式有所了解,但只了解一种操作系统对我来说似乎是短视的。我很想了解Windows的工作方式,虽然我不希望看到它的代码,但我确信有一些文章/学术论文/技术手册至少包含一些信息.您是否知道我可以从中了解Windows内核的良好来源?