x86 Assembly:很难找到无限循环挑战的想法

2024-04-22

我打算和我的朋友们进行一场类似于“corewars”的比赛(我们使用与原始游戏相同的内存网格)

在游戏中,我们每个人都应该写一个“保险箱”,它是一个不超过 25 行的无限循环。每个“安全”都有一个技巧或代码可以停止循环,从而破坏“安全”。例如:

;Safe
safe:
    mov ax, [1000]
    cmp ax, 9999
    jne safe

如果我们将正确的代码(9999)传递给[1000],这个保险箱就可以被破坏,这将破坏保险箱:

;Breaker
mov ax, 9999
mov [1000], ax
breaker: jmp breaker

我正在考虑制作某种数学方程,然后使用它的结果作为保险箱的代码,但我没有任何既简短又有趣的好主意。

我不确定这个问题是否与这个堆栈站点相关,所以如果不是,我想知道解决此类问题的更好的堆栈站点。


None

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

x86 Assembly:很难找到无限循环挑战的想法 的相关文章

  • 我应该使用哪些 gdb 命令来缩小标签“main”中出现分段错误的位置?

    这是我的汇编代码和我的主要子例程 这是我的宏和常量 text fmt string x t t ln x n sfmt string 10lf t 10lf n error string Error filename string inpu
  • 自定义键盘中断处理程序

    我正在尝试编写一个简单的程序 将标准键盘中断替换为自定义的键盘中断 以减少变量 但是 如果不调用旧处理程序 它就无法工作 这是我的中断处理程序 handler proc push ax push di dec EF pushf when t
  • 如何关闭MIPS-GCC自动指令重排序?

    继这个问题之后 使用跳转 和链接 指令的奇怪 MIPS 汇编器行为 https stackoverflow com questions 3807480 weird mips assembler behavior with jump and
  • 不知道如何一次打印整个日历[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 cseg segment assume cs cseg ds cseg org 100H begin mov es cs video mov
  • 用于读/写 XMM 和 YMM 寄存器的内联汇编代码?

    我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
  • 内联汇编 - cdecl 和准备堆栈

    我最近一直在尝试通过使用缓冲区和不同汇编运算符的原始十六进制等效项来实现 C 中的动态函数 为了说明一个简单的跳转 byte buffer new buffer 5 buffer 0xE9 Hex for jump uint buffer
  • NOP 雪橇如何工作?

    我找不到回答这个问题的好来源 我知道 nop sled 是一种用于规避缓冲区溢出攻击中堆栈随机化的技术 但我无法理解它是如何工作的 有什么简单的例子可以说明这种方法 128 字节 nop sled 等术语是什么意思 有些攻击包括使程序跳转到
  • x86 实模式下的段大小

    我对实模式下段的大小有一个疑问 因为它们不能超过 64K 但可以小于那个 http support microsoft com kb 120069 我的问题是这些段大小和基地址是如何初始化的 就像保护模式下有 GDT 和 LDT 一样 实模
  • 如何查看JVM中JIT编译的代码?

    有什么方法可以查看 JVM 中 JIT 生成的本机代码吗 一般用法 正如其他答案所解释的 您可以使用以下 JVM 选项运行 XX UnlockDiagnosticVMOptions XX PrintAssembly 根据特定方法进行过滤 您
  • 汇编语言中的全局_start是什么?

    这是我的汇编级代码 section text global start start mov eax 4 mov ebx 1 mov ecx mesg mov edx size int 0x80 exit mov eax 1 int 0x80
  • 如何获取 VESA BIOS 信息

    我正在跟踪Phil Opp 教程 https os phil opp com 关于用 Rust 编写一个操作系统 在稍微尝试了一下之后 我想在屏幕上显示真实的图形 我发现我应该从使用带有 VESA 的线性帧缓冲区开始 我在 osdev or
  • ARM 调用约定是否允许函数不将 LR 存储到堆栈中?

    正如标题所示 我在理解 ARM 架构的调用约定时遇到问题 特别是 我仍然很难知道当你调用子程序时 LR 寄存器会发生什么 我认为 当您进入子程序时 处理 LR 寄存器的最明显 最安全的方法是将其存储到堆栈中 但该行为没有出现在文档中 因此我
  • 装配中出现奇怪的字符?

    我写了以下代码 386 model small stack 100h data text db Paper 0 code start lea dx text mov ah 9h int 21h mov ah 4ch int 21h end
  • 这段汇编语言代码是什么意思?

    我是一名学生 刚刚开始学习汇编语言 为了更好地理解它 我只是用 C 写了一个简短的代码并将其转换为汇编语言 奇怪的是我有点听不懂 代码是 include
  • 在 x86 程序集中将整数打印到控制台

    当我在 16 位汇编中添加两个值时 将结果打印到控制台的最佳方法是什么 目前我有这个代码 CODE START mov ax 1 put 1 into ax add ax 2 add 2 to ax current value mov ah
  • 尝试使用 x86 程序集 GNU GAS 在数组索引处赋值时出现错误

    我在用x86GNU 与 GCC 的程序集 并尝试实现相当于以下内容的程序集c c int x 10 x 0 5 但是 当我尝试运行 使用命令 a out 我的汇编代码如下 第一次编译后gcc filename s 错误Segmentatio
  • 近调用/跳转表并不总是在引导加载程序中工作

    一般问题 我一直在开发一个简单的引导加载程序 并在某些环境中偶然发现了一个问题 在这些环境中 此类指令不起作用 mov si call tbl SI Call table pointer call call tbl Call print c
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • 在 x86 ASM 中测试零通常哪个更快:“TEST EAX, EAX”与“TEST AL, AL”?

    测试 AL 中的字节是否为零 非零通常哪个更快 TEST EAX EAX TEST AL AL 假设之前有一个 MOVZX EAX BYTE PTR ESP 4 指令加载了一个带有零扩展的字节参数到 EAX 的其余部分 防止了我已经知道的组
  • Nasm 打印到下一行

    我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4

随机推荐

  • 重新启动 Android MediaRecorder 时出现 IllegalStateException [在无效状态下调用启动:1]

    我正在尝试实现简单的逻辑来开始 停止录制MediaRecorder安卓的 周期为 连接到 localSocket 设置选项 mRecorder prepare mRecorder start mRecorder stop mRecorder
  • Android Studio 3.1:代理配置:无法为git操作设置https用户密码

    我最近将 Android Studio 从 3 0 升级到了 3 1 在3 0中 我曾经在中设置代理配置gradle properties 全局属性 文件 其中包括设置systemProp https proxyPassword除其他外 但
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • /var/run/docker.sock:在 Python CGI 脚本中运行 docker 时权限被拒绝

    我正在尝试运行 Python CGI 脚本 在其中需要运行 docker 镜像 我使用的是 Docker 版本 1 6 2 用户是 www data 添加到docker组中 www data www data sudo docker 在机器
  • 模型响应包含 swagger 中不同对象类型的数组

    我想建模一个响应对象 其中包含 swagger 中不同类型对象的数组 如下所示 table user customer employee 我尝试了下面的解决方案 但它将所有属性包装在单个对象 user customer 中 response
  • 使用 SSE/AVX 获取 __m256d 中存储的值的总和

    有没有办法获得存储在 m256d 变量中的值的总和 我有这个代码 acc mm256 add pd acc mm256 mul pd row vec acc in this point contains 2 0 8 0 18 0 32 0
  • Rvest XML 网络抓取

    我是一个初学者 我在抓取方面遇到了问题 我需要获取有关一些客户的活动 非活动 VEIS 号码的数据 目前 我只尝试一个 在网站上 我必须 设置值并发送表单 然后浏览器重定向到下一页 我可以在其中找到有趣的日期 下面我发送了我的代码 也许有人
  • Excel动态图表标题(前n个)

    是否可以创建包含 前 n 的动态 Excel 数据透视图标题 其中 n 用户选择的值过滤器行限制 我知道图表标题可以设置为单元格的内容 但不确定如何确定用户选择的前 n 个限制或如何将其添加到单元格公式中 如果可能的话 我们将不胜感激任何帮
  • 如何评估kafka流应用程序的消耗时间

    我有 1 0 0 kafka 流应用程序 有两个类 如下所示 class FilterByPolicyStreamsApp 和 class FilterByPolicyTransformerSupplier 在我的应用程序中 我读取事件 执
  • Django 模型:设置相对于另一个字段的默认值

    我正在使用 Django 1 10 作为后端构建一个应用程序 是否可以设置模型字段相对于同一实例中另一个模型的默认值 我特别需要设置second visit s默认为 3 周后first visit class SomeModel mode
  • 映射列类型 Slick 3.1.1

    我是 Slick 的新手 很难将 java sql date time timestamp 映射到 jodatime trait ColumnTypeMappings val profile JdbcProfile import profi
  • 如何将索引从一个索引节点移动到 couchbase 中的另一个索引节点

    我在 couchbase 集群中有 6 个索引节点 我想替换一次索引节点并将索引从旧索引节点移动到新索引节点 将索引从一个节点移动到另一个节点的最佳实践是什么 在 Couchbase 5 5 中 您可以使用 ALTER INDEX 语句将索
  • WooCommerce 根据用户角色更改 BACS 订单状态

    我收到几个订单 其中客户选择 直接银行转账 然后他们改变主意并希望通过信用卡付款 这非常烦人 因为我必须手动将订单从 暂停 更改为 待付款 以便他们可以通过 订单 下 我的帐户 中的 订单支付 端点通过卡付款 我一直在使用WooCommer
  • 错误:命令失败,rc=65536 python 和 mod_wsgi

    我遇到这个问题 我正在运行 pythonbrew 来获取 python2 7 因此我重新编译了 mod wsgi 以使用 2 7 python 为此 我遵循了本教程 code google com p modwsgi wiki QuickI
  • python 中的跨平台代码

    如何在 python 中编写一些 Windows 代码 仅当我在 widnows 中运行脚本时才执行 如果我应该在 linux 中运行它 则应该忽略这部分 windows 代码 与此类似 在 C 中 ifdef windows code e
  • C++ 如何将“this”传递给指针引用

    我有一个主类 我喜欢将其指针引用传递给我创建的对象 但它给了我错误 错误 1 错误 C2664 GameController GameController GameLayer 无法将参数 1 从 GameLayer const 转换为 Ga
  • ListView 的转换视图类型 BaseAdapter 错误

    我有一个使用不同类型的视图行的列表视图适配器 大多数时候它工作得很好 但是当我从列表中删除一个元素时它会崩溃 它将错误类型的convertView发送到getView public View getView int position Vie
  • @csrf_exempt 在 Django 1.4 中停止工作

    我有以下代码 在 Django 1 2 5 中运行良好 from django views decorators csrf import csrf exempt class ApiView object def call self requ
  • 在新窗口中使用 jquery 显示从控制器返回的 PDF 流

    我有一个控制器操作 它读取 pdf从 azure blob 存储中读取文件并将流对象返回到 ajax method 控制器返回 var stream blobStorage OpenRead filepath await FileAsync
  • x86 Assembly:很难找到无限循环挑战的想法

    我打算和我的朋友们进行一场类似于 corewars 的比赛 我们使用与原始游戏相同的内存网格 在游戏中 我们每个人都应该写一个 保险箱 它是一个不超过 25 行的无限循环 每个 安全 都有一个技巧或代码可以停止循环 从而破坏 安全 例如 S