问题标签 [nop]

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 投票
0 回答
58 浏览

c# - 如果绑定到 int 和 datetime,“asp-disabled”对 nop-editor 不起作用

由于使用了 Bootstrap TouchSpin-v4.2.5 库(jquery.bootstrap-touchspin.js),我不能使用“禁用”属性在这些情况下正常工作(对于 int、DateTime、double 类型),因为这是本库不提供。

我该如何解决这个问题?

0 投票
0 回答
28 浏览

security - 指示RET中的NOP Sildes发生段错误而不是滑动到shellcode

我试图通过利用缓冲区溢出来执行shell。

这是我尝试运行的代码。

task2_exploit.c

在此处输入图像描述

task2_stack.c

在此处输入图像描述

我试图在buf数组中获取 shellcode 部分的地址:

在此处输入图像描述

在这里,shellcode 似乎从0xffd563指示的蓝色框开始,所以我实现了它,task2_exploit.c它显示在红色框中,这是RET一部分。

在此处输入图像描述

当我像这样运行程序时,实现shellcode的确切地址,它成功调用了shell。buf但是,当我在数组中实现 NOP Slide 部分的地址之一时(例如ffffd480),它会发生段错误而不是滑动到 shell 代码部分并调用新的 shell。我尝试了很多次,但从未成功。我不明白为什么会这样。请帮忙。

这是编译和运行程序的命令。

将 shell 更改为zsh并停用 ASLR:

编译task2_stack.c并更改所有权,授予 set-uid 权限:

编译task2_exploit.c

执行程序:

0 投票
0 回答
54 浏览

c++ - 如何在 C++ _asm 内联上“nop ptr [eax + 0x00]”

我在 asm 中有这个代码:

我在 C++ 上有这个代码:

我如何将这个 nop dword 放在 c++ 代码中?如果我正常书写,Visual Studio 会返回错误。

视觉工作室错误图像

0 投票
0 回答
13 浏览

memory - 如何编辑程序的内存并用 NOP 替换某个地址?

我正在尝试将 Cheat Engine 表转换为独立的 ASI 文件。我已经有了与函数关联的地址和字节,我需要知道我需要编写什么样的代码来修改地址的值。

显然我不知道将它输入搜索引擎的正确方法,所以我真的没有运气找到可以完成此操作的代码。我想可能是这样,但不知道如何将任何实际数据输入其中(进程名称、地址、字节等)

基本上我需要做的是通过脚本自动用 NOP 替换地址的值。***

强文本 BOOL ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesRead );


0 投票
2 回答
96 浏览

assembly - Risc-V 组装 - 使代码可操作所需的气泡数量 - [假设]

我想知道为什么在流水线 RiscV 上执行此汇编代码时 - 不会自动停止 - 通过转发(内部寄存器文件 WB->DEC 转发除外)我们需要在第三个命令之后立即放置两个 NOP 命令,不会一个 NOP 就够了吗?

这是我的思路 - 在一个 nop 之后,第一个命令完成编译,我们可以将 t1 从第二个命令的 WB 转发到 beq 的 EXE。我哪里错了?

0 投票
0 回答
65 浏览

c - 为什么在未优化的 GCC 输出中的 void 函数中存在 NOP?

我正在玩弄可执行文件/编译器/程序集——全部。

在编译器生成的 asm 中,我碰巧注意到函数序言和结尾(Godbolt 编译器资源管理器)之间没有操作:

我用gcc -S(没有优化)编译它;编译时它消失了-O1,所以我的理论是它是用于调试的。

但是我不清楚它的目的。即使对于调试,无操作(根据定义)对程序的行为方式没有任何影响

那么为什么会有呢?


进一步的结果

  • NOP 在 GCC5 中是新的;GCC4.9.4 中不存在

  • NOP 在任何实际返回值的函数中都消失了。(从函数末尾掉下来int仍然会产生 a nop,包括main在 C89 模式下没有隐式返回 0 的 for )。

  • 拥有非空函数体并不能避免 NOP:
0 投票
0 回答
25 浏览

assembly - 汇编代码中的“nopw”是什么意思?

我有一个非常简单的代码,如下所示。

但是有一条线我无法解释。

上面的汇编代码有点添加两个整数,如 1+1。

我可以理解除最后一行之外的每一行。

我了解到 (%, %) 意味着添加汇编代码。

在最后一行这样解释是否仍然有意义?