腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9872)
视频
沙龙
1
回答
如
何用
C++
给出
的
地址
覆盖
汇编
堆栈
的
返回
地址
?
c++
、
assembly
、
x86
、
coroutine
、
context-switch
它接收两个
堆栈
指针,并将更改进程
的
上下文。所以如果我有一个协程A,它使用了一个特定
的
函数resume(),协程B应该继续工作。目前,我无法让我
的
代码正常工作。
汇编
程序:(switchContext(void*& from, void*& to)): switchContext: mov ebp, espesp + 4 ; use new returnadress to
浏览 24
提问于2019-05-19
得票数 1
回答已采纳
1
回答
当我们从函数
返回
时,函数
的
堆栈
框架是否被清除,或者它是否就这样保留在
堆栈
上
assembly
、
visual-c++
、
callstack
我同时使用
汇编
语言和我
的
C++
代码进行调试,从
C++
代码看,
堆栈
帧似乎没有被清除,而是在由main()调用另一个函数时被
覆盖
。 我并排看了
汇编
代码。&inta时,main中
的
a将获得inta
的
地址
。但这是危险
的
,因为如果调用另一个函数,在将inta
的
地址
分配给a之后,在该步骤(即*a)之后取消引用a将是未定义
的
。因为inta
地址<
浏览 26
提问于2019-08-12
得票数 0
回答已采纳
1
回答
通过缓冲区溢出在内存中写入零
buffer-overflow
、
c
试图给命令行程序一个
地址
来
覆盖
保存在
堆栈
中
的
返回
地址
。我可以成功地将输入参数溢出到确切
的
返回
地址
位置,但我想
给出
的
地址
包含零(以零开头,
如
0x0000555555554bce)。我在字符串中
给出
地址
,00必须是NUL字符(\0),但不能使用命令行
给出
。你知道我怎么能做到吗?
浏览 0
提问于2018-03-23
得票数 1
回答已采纳
4
回答
函数
堆栈
返回
值不安全
的
原因
c++
、
stack
、
return
在阅读eckel..where时,我看到了以下段落,他试图解释为什么函数在
堆栈
上
返回
值是不安全
的
。 现在想象一下,如果一个普通函数试图
返回
堆栈
上
的
值,会发生什么?.you不能触及
堆栈
中高于
返回
地址
的
任何部分,因此函数必须将值推送到
返回
地址
以下。但是,当执行
汇编
语言
返回
时,
堆栈
指针必须指向
返回
地址</em
浏览 3
提问于2011-03-03
得票数 4
回答已采纳
1
回答
使用克隆模拟vfork
c
、
clone
、
fork
可以用clone来模拟vfrok
的
行为吗?到目前为止,我已经但我仍然需要传递我自己
的
堆栈
,所以新进程在不同
的
堆栈
框架中工作,但在相同
的
地址
空间中工作(因为CLONE_VM),据我所知,如果我调用vfork而不使用exec中
的
某些函数,新进程将在与父进程相同
的
地址
浏览 0
提问于2012-04-06
得票数 2
回答已采纳
1
回答
理解外壳代码示例
c
、
pointers
、
assembly
、
shellcode
、
opcodes
0是我们存储在ebx中
的
exit()参数,1是退出syscall
的
数量,0x80我们将CPU更改为内核模式,然后执行syscall。在此之后,他们让生产
的
操作码是: b8 01 00 00 00然后,将其转换为C语言,如下所示: pointer = (int *)&pointer+2; } 因此,我所理解<e
浏览 6
提问于2014-09-27
得票数 5
2
回答
返回
指向局部函数变量
的
指针
c++
、
visual-c++
可能重复: cout << v2() << endl; // Output: garbage (♀ ╠╠╠╠╠╠╠╠)但是,我
返回
指向一个原始
浏览 4
提问于2012-01-03
得票数 3
1
回答
ARM
的
自定义
堆栈
跟踪实现
c++
、
macros
、
embedded
、
arm
我需要在我
的
程序中有一个
堆栈
跟踪,它是用
C++
编写
的
,并在ARM设备上运行。我找不到任何可靠
的
方法来获取starcktrace,所以我决定编写自己
的
尽可能简单
的
方法,只是为了在gdb中获得类似stacktrace
的
东西。STACKTRACE_ENTER_FUNC;} 下一个问题是:我可以使用__PRETTY_FUNCTION__ (因为我们只使用固定版本
的
gcc,
堆栈
跟踪实现只用于固定平台上
浏览 3
提问于2013-12-16
得票数 3
2
回答
如何在内存中找到
返回
指令
c
、
debugging
、
memory
、
opcode
我正在Windows上
的
visual中编译这段代码。是否有一种直观
的
方式查看
返回
指令(操作码)和
返回
入口?我试图在Visual中使用内存窗口,但我只看到了缓冲区"blie“和一些十六进制解释内存值。我认为CC可能是一个操作码,但我想有一种方法/软件清楚地查看
返回
指令和
返回
入口。
浏览 4
提问于2015-09-06
得票数 2
回答已采纳
1
回答
如何在Windows函数调用中设置
堆栈
?
winapi
、
assembly
、
x86
、
stack
首先,我想说我有足够
的
汇编
语言背景,足以理解成为函数式
汇编
语言程序员所需了解
的
大部分知识。不幸
的
是,我不理解Windows API调用在
返回
地址
方面是如何工作
的
。然后在呼叫期间;函数
的
返回
地址
放在
堆栈
上。然后,这就是我感到困惑
的
地方,该函数将所有参数从
堆栈
中弹出。我感到困惑是因为,由于
堆栈</em
浏览 0
提问于2016-11-03
得票数 2
2
回答
MIPS -为什么在调用子程序时还原
堆栈
?
assembly
、
mips
、
calling-convention
、
stack-frame
假设我们使用
堆栈
框架将参数传递给子例程,如下所示:sw $s0, 0($sp)lw $s1, 4($sp)... do stuff ...jr $raaddi $sp, $sp, 8
浏览 5
提问于2021-03-31
得票数 0
4
回答
Arm组件和
C++
c++
、
architecture
、
arm
你好,我正在读一本关于ARM架构
的
书。(我是个菜鸟)我在读cpu
的
寄存器文件。
地址
寄存器通过
地址
总线
返回
内存
地址
的
是什么?(示例:&a)我只是想看看我
的
理解是否正确。谢谢你
的
浏览 0
提问于2012-07-14
得票数 1
2
回答
在不将
返回
地址
存储在
堆栈
上
的
处理器体系结构中,
返回
地址
寄存器如何工作?
assembly
、
cpu-architecture
我正在尝试弄清楚在寄存器(RR)中存储调用
的
返回
地址
的
体系结构是如何工作
的
(而不是在
堆栈
上推送和弹出
返回
地址
)。 每次进行嵌套调用时,
返回
地址
寄存器不是都会被
覆盖
吗(因此,超过一次
返回
就不可能
返回
)?阅读我
的
作业问题,我应该修改一个
汇编
程序,使用一个RR寄存器来存储调用
的
返回
地址</e
浏览 0
提问于2020-04-21
得票数 4
2
回答
Retq指令,它
返回
到哪里?
assembly
、
x86-64
、
stack-overflow
、
inline-assembly
我不能理解
汇编
指令retq
返回
到哪里。简而言之,它是否使用rbp或esp来查找
堆栈
上
的
地址
?
浏览 2
提问于2013-08-19
得票数 14
回答已采纳
1
回答
拆卸带有调试信息
的
IAR 8051
iar
、
8051
我正在开发一个项目中
的
8051固件,必须使用IAR作为工具链。构建系统为CMake。我不能用IAR IDE。 为了优化我
的
源代码,我想看看结果二进制
的
反
汇编
,最好是带有标签。有没有办法让xlink输出一些我可以分析
的
东西?我知道IAR调试器有一个调试视图,但我不能使用IDE。看起来xlink可以输出很多文件格式,但是哪种格式允许在命令行中提取调试信息?
浏览 13
提问于2022-04-06
得票数 0
回答已采纳
1
回答
为什么作为函数参数给定
的
字符串
的
地址
在ret
地址
溢出后发生了变化?
c
、
stack
、
callstack
、
buffer-overflow
、
shellcode
我想通过控制
堆栈
来利用一段C代码
的
漏洞来达到教育目的。一个简单
的
基于
堆栈
的
缓冲区溢出,用应该执行外壳代码
的
地址
覆盖
返回
地址
。所以我认为,如果我找到了我必须
覆盖
的确切内存量,那么我可以简单地输入一个由\x90 (NOP指令)组成
的
字符串,后跟外壳代码,最后是这个缓冲区
的
地址
。所以我发现,如果我
覆盖
n字节,然后
给出
浏览 0
提问于2011-12-17
得票数 0
2
回答
程序集指针和基
地址
assembly
由于我是一个
汇编
语言初学者和学习目的,我尝试扫描内存
地址
和指针在一个游戏。我对指针和
地址
有点困惑。我在youtube上
的
一个教程中找到了这个指针,但是我想要对这个指针有一些深入
的
理解并进行偏移。 我不明白这些偏移量和
地址
是如何加在一起
的
,并
给出
了一个存储值为1000
的
最终
地址
。00F8EBE0 -> 11DA0924 = 1000这是怎么发生
的
?如
何用
浏览 0
提问于2013-10-30
得票数 1
回答已采纳
3
回答
为什么没有伴随
的
指令离开?
assembly
、
x86
、
cdecl
为什么x86上没有相应
的
说明?
浏览 2
提问于2013-07-05
得票数 1
回答已采纳
1
回答
Ubuntu 10 (
汇编
)中
的
实验性缓冲区溢出
c
、
linux
、
stack-overflow
我试图在Ubuntu 10.04中使用C程序溢出缓冲区,并将
返回
地址
转移到函数"junk“。但是我不能用未使用
的
函数“垃圾”
的
地址
覆盖
返回
地址
。它只是在12个字节
的
堆栈
上转储一些未知
的
地址
。转储用于函数显示
的
汇编
代码: 0x08048445 &l
浏览 1
提问于2012-09-07
得票数 2
1
回答
堆栈
动态和
堆栈
动态数组
c++
、
c
、
compiler-construction
C/
C++
编译器如何处理固定
堆栈
动态数组和
堆栈
动态数组。通过查看
汇编
代码中
的
静态变量和
堆栈
动态变量
的
地址
,我看到了这些变量
的
不同之处。
浏览 34
提问于2019-04-27
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Python既然是用C实现的,那为何不直接用C/C+?
江湖秘笈:支持图形界面、操作简洁、可强制使用二进制编码转换的反汇编逆向工程工具OllyDbg 让代码安全审计工作变得轻松愉快
C语言可变参数的原理和应用
程序是怎样被电脑所读懂的?
栈溢出原理浅析
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券