小编mas*_*sec的帖子

启用 ASLR 后,图像的所有部分是否每次都以相对于图像基地址的相同偏移量加载?

这样做的不同部分libc(如.text.plt.got.bss.rodata,和其他人)在获得相同的偏移相对于装载libc基址每次?

我知道libc每次运行程序时加载器都会在随机位置加载。

先感谢您。

c c++ linux x86-64 aslr

5
推荐指数
1
解决办法
353
查看次数

如何为 clang+llvm 二进制包安装 LLVMgold.so?

我想使用 llvm 控制流完整性,我使用了 Ubuntu 14.04 附带的 clang+llvm 二进制打包版本 7.0.1。当我使用带有选项 '-fsanitize=cfi -flto -fvisibility=hidden' 的 clang++ 时,出现以下错误:

/usr/bin/ld: /home/username/llvm-7.0.1/bin/../lib/LLVMgold.so: error loading plugin: /home/username/llvm-7.0.1/bin/../lib/LLVMgold.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

知道如何在不使用启用黄金的选项编译源代码的情况下解决这个问题吗?

llvm-clang clang++ ubuntu-14.04

5
推荐指数
1
解决办法
1171
查看次数

将EAX复制到RAX更高位?

我想知道是否有任何指令序列,而不使用任何其他寄存器将RAX的低32位复制到其高32位.当然,我也希望EAX完好无损.

先感谢您.

assembly x86-64

4
推荐指数
3
解决办法
537
查看次数

获取SHA1MSG1指令的非法指令错误

SHA1MSG1是Intel指令,用于计算用于计算SHA1哈希值的步骤。我使用它的方式如下(采用AT&T语法):

sha1msg1    %xmm14, %xmm13
Run Code Online (Sandbox Code Playgroud)

我可以编译我的代码。当我运行我的代码时,它给出一个错误:

Illegal instruction (core dumped)
Run Code Online (Sandbox Code Playgroud)

我使用调试了代码ida pro,但此指令出现错误,如下所示:

401839: got SIGILL signal (Illegal instruction) (exc.code 4, tid 48292)
Run Code Online (Sandbox Code Playgroud)

我试图找到该指令的示例用法,但没有找到任何用法。我想我根据规格正确使用了它。知道我做错了什么吗?

顺便说一句,我正在使用Ubuntu 64位。

assembly x86-64

1
推荐指数
1
解决办法
176
查看次数

如何将标签推入可重定位共享库的堆栈中,其对象应使用 -fPIC 进行编译?

我正在使用从汇编代码组装的多个目标文件来制作可重定位共享库(所有编译都应使用 -fPIC 和 -DPIC)。

在我的代码中我有push label说明。当我使用一切看起来都很好将汇编代码组装成目标文件时-fPIC -DPIC,但是当我想使用目标文件创建共享库时,我收到了消息relocation R_X86_64_32S against '.text' can not be used when making a shared object; recompile with -fPIC

我确信问题出在这些push label说明上,因为当我删除它们时,错误就会消失。

关于如何组装它有什么想法吗?

顺便说一句,我的平台是采用 Intel x86_64 架构的 Linux,编译器gcc采用 GAS 语法。我对 64 位库感兴趣。

assembly x86-64 shared-libraries

0
推荐指数
1
解决办法
453
查看次数

标签 统计

x86-64 ×4

assembly ×3

aslr ×1

c ×1

c++ ×1

clang++ ×1

linux ×1

llvm-clang ×1

shared-libraries ×1

ubuntu-14.04 ×1