当Skylake具有FSGSBASE时,为什么我使用__builtin_ia32_wrfsbase64获得非法指令?
我正在使用“ Intel Xeon处理器(Skylake,ibrs)”的服务器上运行代码。我在底部列出了CPU标志。我得到了一个核心转储,在GDB中运行它,并看到非法指…
C++
现在,我正在尝试在Windows X64 OS上的C ++ 17中实现堆叠的Coroutine,但是不幸的是,我遇到了问题:我将无法在Coroutine中抛出异常,如果我这样做,…
内存访问的内存吞吐量
我正在使用 _MM256_I32GATHER_EPI32 内在的内存来测量内存吞吐量和运行时间。这是我用于测试的循环: for (int i = 0; i < len; i+=8) { const __m256…
当编写64位反向外壳时,在CreaterProcessa API中陷入困境
您好,我正在编写Windows 64bit反向外壳,并在Gett连接到targetMachine IP之后,我想创建进程以spwan shell,拳头,我尝试为createProcess API编写sta…
Syscall和Sysret开发人员设置
我是否正确理解 syscall 与包含可由内核开发人员设置的跳台的某些寄存器或内存块有关?然后 sysret 只是将您返回到执行 syscall 的应用程序代码。 如…
MSVC生成不必要的复杂说明
在涉及 std ::可选&lt; double&gt; 的基准测试代码时,我注意到代码MSVC与Clang或GCC产生的代码的速度大约是一半的速度运行速度。花了一些时间减少…
CR0在Linux内核启动上包含PE/PG标志
我正在使用gnu grub版本 2.04 bootloader和linux内核 5.19-rc2 我正在调试Linux内核初始化,并期望CPU在内核启动时应在实际模式。实际上如 Intel系统…
同一X64指令的多个编码有什么区别?
我正在使用 miasm 框架进行一些实验。考虑下面的摘要,在其中我拆卸并重新组装 lea rax的字节码,[RIP + 1] : from miasm.analysis.machine import M…
为什么执行`cmpq`指令都会产生`sign sigttin,toped'?
我正在阅读从地面上进行编程并使用程序中的文件阅读第5章。,第63页中的代码。 我试图让此32位代码转换为64位代码。 以下是我的代码。 # system call …
汇编(NASM)64X-将字符串中的字母转换为字母订单号
我需要将字符串的字母转换为字母中的相应顺序(例如:a - &gt; 1,b - &gt; 2等) 。 em>“ mostra os objetos e os morfismos” ,我尝试了很多事…
在64位模式下在CR0寄存器中禁用WP位
我在这里要做的是写入属于ntoskrnl.exe地址空间的仅阅读内核模式代码,但是我的机器不断锁定,所有需要重新启动的东西都冻结了。多亏了《 rootkit Ars…
GDB不加载NASM的源线
我正在使用NASM组装X86-64程序: nasm -f elf64 -g -F dwarf -o foo.o foo.asm ld -o foo foo.o 来源: section .text global _start _start: mov rax…
为什么海湾合作委员会使用其他寄存器将值推向堆栈?
该C代码 void test_function(int a, int b, int c, int d) {} int main() { test_function(1, 2, 3, 4); return 0; } 由GCC(无标志,版本12.1.1,Tar…
如果通过近呼叫输入函数,它可以在不破坏退货地址预测的情况下进行远距离调用吗?
考虑此代码: .globl _non_tail, _tail .text .code32 _non_tail: lcall $0x33, $_non_tail.heavensgate ret .code64 _non_tail.heavensgate: # do st…