腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
跳转
到JIT (x86_64)
assembly
、
compiler-construction
、
x86-64
、
jit
、
machine-code
我正在用C语言为x86_64
linux
编写一个JIT编译器。unsigned char *code_1 = { 0xAB, 0xCD, ... }; void *exec_block在x86_64中无法
跳转</e
浏览 6
提问于2015-04-22
得票数 4
回答已采纳
1
回答
什么是相对跳跃?
delphi
、
assembly
、
page-jump
为什么要用它来挂接和重定向函数?procedure RedirectProcedure(OldAddress, NewAddress: Pointer); NewCode: TInstruction; NewCode.Opcode := $E9; //relative jump PatchCode(OldAddress, NewCode, SizeOf(NewCode));顺便
浏览 20
提问于2013-07-22
得票数 2
回答已采纳
2
回答
x64:怎么做一个相对的jmp *%rax?
assembly
、
64-bit
、
x86-64
、
att
我想编码一个64位的相对
跳转
到x64汇编中存储在%rax中的
地址
。AFAIK,没有操作码,所以我手动计算相对
地址
对应的
绝对
地址
,然后进行
绝对
跳转
到
绝对
地址
: # destination address, relative to end of jmp instruction还是应该避免64位相对
跳转
的另一个原因?
浏览 262
提问于2015-11-02
得票数 -1
1
回答
为什么jmpq可以
跳转
到与Mac上GDB提示不同的
地址
?
macos
、
assembly
、
dylib
0x0000000149ab0d2c <+0000> jmpq *0x1e04b6(%rip) # 0x149c911e8(gdb) p $rip+6+0x1e04b6 $4 = (void (*)(void)) 0x149c911e8(gdb) p $rip $5 = (void (*)(void)) 0x148c46d4a 顺便说一句,我的环境是Mac 10.6.4。该程序加载2个dylib,这两个dylib都链接到使用
浏览 0
提问于2011-04-15
得票数 1
回答已采纳
1
回答
Linux
内核的哪一部分强制特权分离,以及如何实现?
linux
、
linux-kernel
我想知道内核和负责此任务的内核部分是如何执行权限分离的。编辑:我知道戒指号码。我的问题是内核(模块或其他部分)对进程执行检查以找出它们的特权级别。我相信内核中可能有一个组件来检查进程的环数。
浏览 1
提问于2016-08-14
得票数 1
回答已采纳
2
回答
汇编中的相对jmp与
绝对
jmp
assembly
、
x86
在编写汇编语言时,我注意到IA32的设计方式是为了促进相对
跳转
的使用,即
跳转
一定数量的字节,而不是使用
绝对
跳转
,即将eip更改为内存中的特定
地址
。这背后的逻辑是什么?
浏览 7
提问于2011-01-15
得票数 9
回答已采纳
2
回答
对x86-64下装配说明中的开关箱部分的怀疑
assembly
、
switch-statement
、
x86-64
movslq (%rcx,%rsi,4), %rax jmp *%raxleaq .L4(%rip), %rcx %rcx接收
跳转
表数组的第一个
地址
movslq (%rcx, %rsi, 4), %rax %rax接收特定的数组元素值,即与大小写对应的操作
地址
。
浏览 2
提问于2022-01-09
得票数 2
回答已采纳
1
回答
MIPS
跳转
不会将4添加到PC。
mips
、
mips32
beq和bne指令所做的事情如下:然而,
跳转
指令并没有将4添加到PCold中,尽管我知道每个mips指令都添加了4(到下一条指令)。所以如果我写:然后PCnew接受循环*4的
地址
,而不将4添加到it.Why中,是吗?我是不是出什么问题了?
浏览 0
提问于2018-03-15
得票数 2
回答已采纳
1
回答
把一颗星星放在登记册前是什么意思?
assembly
我正在研究c++如何通过汇编语言调用正确的成员函数。我附带的简单程序如下:{ virtual void show() {} {
浏览 4
提问于2013-09-30
得票数 13
回答已采纳
2
回答
本地标签在NASM中的
地址
是什么?
assembly
、
x86
、
nasm
、
memory-address
那么,本地标签的
地址
(以及所有汇编程序中的标签)是什么?它是相对的还是
绝对
的,还是取决于使用? jmp short start 我之所以问这一切,是因为我的代码中有本
浏览 5
提问于2013-07-06
得票数 3
3
回答
JMP到
绝对
地址
(操作码)
assembly
、
x86
、
executable
、
masm
、
opcode
我正在尝试编写一个可执行打包程序/保护器,以此来学习更多关于汇编程序、c++和PE文件工作原理的知识。我目前已经让它工作了,所以包含EP的部分是带有密钥的XORed,并且创建了一个包含我的解密代码的新部分。一切工作很好,除了当我尝试和JMP的原始EP解密后。DWORD originalEntryPoint = optionalHeader->AddressOfEntryPoint; crypted.put(0xE9); crypted.write((char*)&orginalEntryPoint, sizeof
浏览 4
提问于2009-10-10
得票数 10
回答已采纳
1
回答
如何查找到特定
地址
的
跳转
gdb
、
x86-64
、
disassembly
一些有趣的代码位于
地址
0x1234,我如何找到到该
地址
的所有
跳转
?(当然,我不希望找到到该
地址
的计算
跳转
,只是硬编码的
跳转
)。我不能使用简单的搜索,因为
跳转
指令通常是用相对偏移量编码的,并且有许多类型的
跳转
(je,jne,jmp...)。如果必须是一种特定于平台的方法,我现在正在x86_64 /
linux
上使用GDB-PEDA。
浏览 2
提问于2016-11-28
得票数 0
3
回答
IF语句ASM和CPU分支
c
、
performance
、
assembly
、
x86
、
cpu
00344415 jmp main+5Eh (034441Eh) 00344417 mov dword ptr [j],3 我说
跳转
表已经实现了我正在研究IF语句的性能成本,并想知道优化到
跳转
表的编译器是否意味着没有更多的CPU分支问题。
浏览 0
提问于2014-02-03
得票数 1
2
回答
组件中的远距离跳跃和远距离跳跃之间有什么区别?
assembly
、
x86
我正在看一些汇编的实践代码,任务基本上是用一个跳点替换另一个跳点。
浏览 1
提问于2015-04-03
得票数 9
回答已采纳
1
回答
x64计算前向跳
assembly
、
64-bit
、
machine-code
如果您有一条向前跳的指令,是否有一种计算偏移
地址
的方法,还是只计算第二次通过时的
绝对
跳转
?如下所示:Move 0 to 64bit Register 1Move 0 to 64bit Register 2 在这种情况下,编译器只是使用
绝对
跳转
吗?
浏览 5
提问于2015-04-14
得票数 1
回答已采纳
1
回答
MIPS
跳转
指令及
绝对
值的后果
assembly
、
mips32
、
machine-code
假设我们有
地址
0x20000004的
跳转
指令。现在,据我所知,跳间隔不是相对于PC值,而是一个大约32位寄存器最大值的1/16的
绝对
间隔。现在,考虑到
跳转
指令是如何在机器代码中构造的,这是否意味着最大向后跳-in (这个特殊情况)是1条指令,还是
地址
为0x20000000?或者在相反的情况下:在
地址
0x1FFFFFC上
跳转
指令,我想跳到
地址
0x200004的两个指令前面。这不是可行的吗?汇编程序如何避免在这两种情况中的一种情况下放置指令?编辑
浏览 2
提问于2017-11-23
得票数 1
回答已采纳
2
回答
MIPS汇编中的
跳转
指令
assembly
、
mips
下面是我用来测试
跳转
指令的一些MIPS汇编代码: addi $a0, $0, 1next:add $a0, $a0, $a0j skip2:[0x00002C] 0x08000008 # j 0x0008 (jump to addr 0x0020) 查看
跳转
指令的机器代码instructions) 0x0800000B 5th jump (skips 3 instructions backwards
浏览 1
提问于2011-10-24
得票数 8
回答已采纳
1
回答
x64跳跃指令
64-bit
、
machine-code
我理解那些直接值、寄存器或
地址
都是抵消的近距跳跃。应该有远(
绝对
地址
)
跳转
与即时值,注册,或
地址
太过正确吗?远指令列出了m16:16,m16:32和m16:64,但这意味着什么呢?
浏览 5
提问于2015-04-11
得票数 1
回答已采纳
1
回答
为什么我的分支指令没有跳到给定的
地址
?
visual-studio
、
assembly
、
64-bit
、
x86-64
、
nasm
更具体地说:我做了一个绕道钩子作为练习,程序崩溃了,因为它跳到了错误的
地址
。
浏览 27
提问于2021-02-06
得票数 0
1
回答
jmp指令*%eax
assembly
、
x86
、
att
在Google的论文中,作者将nacljmp定义为以下两个指令:jmp *%eax然而,星号在%eax之前意味着什么?
浏览 2
提问于2015-06-12
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux探秘之用户态与内核态
怎样Hack Linux的内核符号?
深入分析POP/MOV SS漏洞
Hacking:破坏与重建的奇妙艺术
通过vmstat学习CPU和进程性能监控
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券