问题标签 [ntdll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9251 浏览

events - Ollydbg“ntdll 上的单步事件 - 按 shift+f8 以通过执行....”?

我有 olly 2 Beta,它运行良好,但它错过了 Olly 1 的一些旧功能,如调用堆栈窗口,而且它不适用于任何插件。所以我决定切换到 Olly 1.10。

问题是,每当我加载任何程序时,它都会显示“ntdll 上的单步事件 - 按 shift+f8 将执行传递给主程序”或类似的东西。当我按下组合键时,它显示“调试的应用程序无法处理执行”。我尝试将“00000000-FFFFFFFF”作为异常范围传递,并且厌倦了所有“忽略异常”选项,但应用程序崩溃了。

我正在运行 Windows 7 Ultimate 64 位。任何帮助将不胜感激。

0 投票
2 回答
1610 浏览

c++ - 将用户模式 ​​dll 中的高级函数映射到 NTDLL.dll

Windows NT/2000 Native API Reference 》一书提供了未记录的(由 Microsoft 提供的)Native API 的综合文档(即使已过时)。但我很好奇,有没有找到在 ntdll.dll 中声明的低级函数与 kernel32.dll、advapi.dll 等中的用户模式函数之间的映射。

例如:

我知道函数CreateFile映射到NtCreateFile. MoveFileWithProgressW但是对于kernel32.dll中的函数,我不知道 ntdll.dll 中的确切函数

0 投票
1 回答
2249 浏览

delphi - Delphi - 在连接到 Oracle 并调用 Web 服务方法后关闭时 ntdll.dll 中的异常

在 Delphi 2009 中,我发现每当我执行与 Oracle连接(通过 OCI.dll)和对 Web 服务方法的调用时,在 IDE 中关闭我的应用程序时,都会在 ntdll.dll 中出现异常。

对于与 Oracle 的连接,我尝试使用 DOA(直接 Oracle 访问)4.1.1.0 和 ODAC 组件(最新试用版);

对于 Web 服务方法调用(只是一个简单的“函数 HelloWorld:字符串”),在从 Web 服务导入 WSDL 之后,我正在使用 Delphi 的现有功能。

如果我在“直接”模式下使用 ODAC 组件,即不使用 OCI.dll,则关闭时不会出现异常。

如果我只调用 Web 服务方法(不连接到 Oracle),则关闭时不会发生异常(即使我使用 DOA 或 ODAC 组件)。

如果我只连接到 Oracle(通过 OCI.dll)(不调用 Web 服务方法),一切都会正常进行(无论我使用 DOA 还是 ODAC 组件)。

当在 Delphi 7 和 Delphi XE2 中执行时,相同的代码运行完美:应用程序关闭时不会发生异常。

一些信息:Delphi 2009(股票和更新 3 版本)操作系统:Windows 7 32 位 Oracle Instant Client 10.2.0.4 和 Oracle Instant Client 10.2.0.5

我开始怀疑这可能是与 Delphi 2009 中应用程序关闭时的堆损坏有关的问题......

请问有什么帮助吗?

重现步骤(来自评论):

  1. 创建一个新的 VCL 表单应用程序
  2. 在窗体上放置一个 TOracleSession DOA 组件(名为 OracleSession1)
  3. 在窗体上放置一个 TButton(名为 Button1)
  4. 为按钮单击事件放置此事件处理程序:

这是代码:

“WebService3Soap”接口是由Delphi 2009 WSDL Importer 自动生成的。这是有意义的部分:

在 IDE 中运行应用程序,按下按钮(关闭 ShowMessages 后面的 2 个),然后关闭表单。

0 投票
1 回答
82913 浏览

visual-c++ - 为什么 ntdll.dll 会使我的 c++ 可执行文件崩溃?

我无法让 Visual C++ 可执行文件工作,应用程序崩溃,这是我在事件查看器中看到的。

在旧版本的 Visual Studio 中编译的可执行文件可以工作,但我在使用 2008 或 2010 等较新的 VS 编译的可执行文件时遇到错误。请咨询

0 投票
1 回答
617 浏览

c - 如何将 32 位 NTDLL 结构转换为 64 位结构?

我有一个我使用的代码NtQuerySystemInformationNtDuplicateObject以及NtQueryObject查询打开的句柄的函数。我使用这些结构:

我的应用程序在 Windows XP、Windows 7 32 位和 Windows 7 64 位下运行良好,但在 Windows XP 64 位下却表现得很奇怪。它无法接收正确的 ProcessID。我会得到随机的负数。但是,如果我在 64 位下编译我的代码,它工作正常。

是否有可能 i 只需更改我使用的结构的某些数据类型,就可以正常工作?如果是,那么有人可以帮我怎么做吗?如果不是,那么我唯一的选择是使用 64 位版本的代码吗?

谢谢!

0 投票
2 回答
287 浏览

winapi - Interpret Windows Native API call arguments

I am analyzing an executable based on its execution trace. I have obtained the execution trace using NtTrace tool. The output is a sequence of native api calls with arguments. I have managed to interpret most of the API calls except the following ones:

In NtQueryKey, how can I map the KeyHandle=0x46a to an actual registry key. Further, in NtDeviceIoControlFile based on IoControlCode=0x00012017 is it possible to find whether it is a TCP_RECV, TCP_SEND, etc...

Thank you.

0 投票
0 回答
212 浏览

c++ - 运行 g++ 的 Windows XP 上的 ntdll 中的运行时错误

所以我有这个 cpp 文件,我的 cl_Page 类的构造函数。

问题是即使在构造函数开始运行之前(parent_softroot 尚未设置)我的程序崩溃了。调用堆栈如下所示:

使用 cl_SoftRoot 构造函数中的初始值设定项列表调用 cl_Page 构造函数。

我很乐意提供所需的任何信息。

编辑: cl_Page 类标题:

0 投票
1 回答
1557 浏览

c++ - 在内存 C++ 中创建一个进程

我已经在这段代码上工作了几个小时,这让我发疯了!

整个来源在这里http://pastebin.com/Urxh68W4但我很确定我知道这个问题。

当我运行它时,我收到以下错误:

我猜应该包含一些 dll 或库,所以我将 Ntoskrnl.lib 添加到我的项目中,因为它包含 ZwUnmapViewOfSection 函数。

我完全不知道该怎么做。我应该使用 Ntdll.dll 吗?如果是这样,我什至如何链接 dll?我以为你只能使用 Visual Studio 2010 中的库。

另外,NTSYSAPI 和 NTAPI 到底是什么?网络上几乎没有任何信息。

0 投票
1 回答
340 浏览

windows - Windows 内核是否有 read-on-write fork() 指令?

由于 POSIX.1 合规性是 Windows 的强制性目标,因此操作系统旨在确保提供所需的基本系统支持,以允许实现 POSIX.1 子系统(例如 fork 函数,该函数在Windows 执行程序,以及对 Windows 文件系统中硬文件链接的支持)。

这个 fork 函数是写时复制吗?如果是这样,它是否仍然存在于最新版本的 Windows 中?如果是这样,它是否也可以调用 Win32 应用程序(尽管是未记录的 API)?

0 投票
0 回答
1426 浏览

ntdll - 在 Windows Server 2008 R2 上运行 c# 服务时出现 ntdll.dll 错误

我有一个客户的问题。我有一个每月宕机一两次的服务。Windows 事件查看器有一个错误:

Nom de l'application défaillante MaintiMediaServeurService.exe, version : 3.8.600.21236, horodatage : 0x509a3c59 Nom du module défaillant : ntdll.dll, version : 6.1.7601.17514, horodatage : 0x4ce7c8f9 Code d'exception : 0xc0000374 Décalage d'erreur : 0x00000000000c40f2 ID du processus défaillant : 0x5b0 Heure de début de l'application défaillante : 0x01ce680c6ab54f85 Chemin d'accès de l'application défaillante : C:\Program Files (x86)\TRIBOFILM Industries\MaintiMedia Serveur Service\MaintiMediaServeurService.exe Chemin d'accès du module故障:C:\Windows\SYSTEM32\ntdll.dll ID de rapport : 2b6bea7b-d403-11e2-981c-00505683000f

我尝试使用 Windlg 来获取更多信息,我有这个:

编辑:我试图有一个最好的执行捕获,但错误信息总是一样的。这是我的服务代码:

你有idee吗?