如何从内联汇编器调用 Win32 API 函数?

2023-12-28

有人可以告诉我这段代码有什么问题吗 我只是从 kernel32.dll 调用 Sleep 函数 怎么了? 我使用的是 Visual Studio 2008。 任何帮助将不胜感激。 非常感谢。

__asm
{
    mov eax, 77e2ef66h
    push 9999
    call eax
}

你从哪里得到这个神奇的数字,77e2ef66h?通常,如果您从内联汇编器调用 Win32 API 函数,您会执行以下操作:

__asm 
{ 
    push 9999 
    call Sleep
} 

Win32 中的函数没有固定地址(无论“DLL 导出查看器”可能显示什么)。函数通过以下方式链接name or ordinal在加载时(由 Windows PE 加载程序)并且不位于固定地址。事实上,函数的实际地址可能会在不同的 Windows 版本、同一版本的 Windows 内的子版本之间、不同的机器上、甚至可能在程序的一次运行与下一次运行之间发生变化。

(免责声明:我已经很久没有这样做了,所以上面的代码示例的细节无疑是错误的,但我知道你绝对不需要使用幻数。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从内联汇编器调用 Win32 API 函数? 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • 使用jq将json数组转换为jsonl格式

    我有这样的 json one 1 two 2 并希望将其转换为以下格式 one 1 two 2 以便于将其索引到 ElasticSearch 中 后者称为 jsonl 格式 JQ 是我最喜欢的工具 但我不知道如何做到这一点 谢谢 关键是 c
  • 两个div高度相等

    我有 2 个 div 每个 6 列 左侧的 div 中是图像 右侧的 div 中是一些引用 我希望右侧 div 的高度与图像的高度相同 这是我的代码 http codepen io matysflance pen PZXdBK http c
  • 如何查看jar文件的版本?

    我目前正在开发一个 J2ME 抛光应用程序 只是对其进行增强 我发现很难获取 jar 文件的确切版本 有没有办法找到类中完成的导入的 jar 文件的版本 我的意思是 如果你有一些东西 请导入 x y z 我们可以知道 x y 包所属的 ja
  • ASP.NET Web API 不允许使用冗长的 base64 URI

    我正在尝试从 Android 客户端接收冗长的 base64 字符串 然后将其解码为 Web API 项目中的位图 以将其作为图像上传到 Azure BLOB 存储 但是 该项目返回此消息并拒绝接受参数 请求 URL 太长 HTTP 错误
  • 将 H:M:S 字符转换为数字

    在文本文件中 我有一个包含字符值的字段 如下所示 00 01 53 910 该值实际上是以小时 分钟 秒为单位的时间 我想将其转换为数值 在此示例中 它应为 113 91 秒 尝试在 R 中使用此代码 我得到 1606287714 as n
  • 查询PrincipalSearcher是否包含多个字符串

    我希望能够查询活动目录 给出包含某些单词 例如用户或管理员 的所有组的列表 下面是我到目前为止所得到的 PrincipalContext ctx new PrincipalContext ContextType Domain GroupPr
  • Hibernate中嵌入成员的成员的独特约束

    是否可以在 Hibernate 中的嵌入式类的成员上定义唯一的约束 我需要确保 Nested i1 和 Nested i2 作为一对 组合 是唯一的 Entity Table uniqueConstrains public class Wi
  • 读取 R 中不同目录中最后创建/修改的文件

    我想读取最近在不同目录中修改 或创建 的 CSV 文件 然后将其放入预先存在的单个数据帧 df 总计 中 我有两种目录可供阅读 A LogIIS FOLDER01 files csv 在其他设备上有一个包含多个files csv的文件夹 如
  • Markdown:如何显示预览(比如前N个单词)

    我正在使用 Rails 4 和 Kramdown 但我相信这个问题可以扩展到任何支持 Markdown 的 网络 编程语言 我正在制作一个博客网站 在概述页面上 我想显示每篇文章的开头 由于文章可能很长 我只想展示第一部分 一个简单的想法是
  • 数据模板和泛型类型

    我有一个通用类 public abstract class BaseViewModel
  • Doobie 无法找到或构造类型 T 的 Read 实例

    我正在使用 doobie 查询一些数据 一切正常 如下所示 case class Usuario var documento String var nombre String var contrasena String def getUsu
  • gdb 按行号反汇编

    假设我想反汇编文件 x 的 m n 行 其中文件 x 不在当前上下文中 这个手术是否可行 如果可以 如何进行 注意 我正在 x86 Linux 上工作 您可以使用反汇编命令 m键在其汇编对应行前面显示原始 C 行 disassemble m
  • 如何找到 php 数组中最后一次出现的“needle”

    有一个内置函数用于查找值的数组键 array search http www php net array search 然而 正如您从示例中看到的 该函数仅找到第一个出现的位置 而我需要最后一个出现的位置 有没有内置函数为了这 如果没有的话
  • Mass DM 机器人工作正常,但现在无法发送消息

    几个月前 我和一个叫 Diggy 来自这个社区 的人为我和一些朋友在 BlackDesert Online 上运行的公会编写了一个 MassDM 机器人 一直工作得很好 直到 10 月 28 日停止发送 DM 一开始 它只是将 DM 发送给
  • 使用java将大量数据从数据库导出到.csv时出现问题

    我 谢谢你的关注 我想使用 java 将大量数据 实际上是 600 万行 导出到 csv 文件 该应用程序是一个 swing 应用程序 带有 JPA 使用 toplink ojdbc14 我尝试过使用 缓冲写入器 随机存取文件 文件通道 等
  • pandas - 将函数应用于所有其他行的当前行

    我正在利用 pandas 创建一个数据框 如下所示 ratings pandas DataFrame article a 1 1 0 0 article b 1 0 0 0 article c 1 0 0 0 article d 0 0 0
  • Django - 测试失败时记录

    我有很多单元测试Django https www djangoproject com 如果测试失败 我经常需要查看日志 如果可能的话 在控制台中 我无法真正使用日志文件 因为它变得非常混乱 我现在要做的是 激活控制台日志记录settings
  • 删除字符串末尾的空格但保留换行符

    如何检查Python字符串在任何点是否有新行前有一个空格 如果确实如此 我必须删除该单个空格 但保留新行符号 这可能吗 def remspace my str if len my str lt 2 returns unchanged ret
  • 打开模式时自动聚焦输入不起作用 - React Bootstrap

    我有一个由 3 个组件组成的模态 每个组件代表一个阶段 例如第一个组件正在输入用户的名字 当用户单击 下一步 时 它将转到下一个组件 即输入地址 然后用户单击 下一步 它将带用户到最后阶段 输入昵称 在每一个input来自组件的元素 它将有
  • 如何从内联汇编器调用 Win32 API 函数?

    有人可以告诉我这段代码有什么问题吗 我只是从 kernel32 dll 调用 Sleep 函数 怎么了 我使用的是 Visual Studio 2008 任何帮助将不胜感激 非常感谢 asm mov eax 77e2ef66h push 9