达尔文10.15上的自修改代码导致“格式错误的mach-o图像”?

问题描述 投票:1回答:2

我有一个程序会生成自我修改的代码(如果您有兴趣,请参阅https://tigress.wtf/selfModify.html)。它可以在x86 Darwin和Linux上运行。在达尔文,我编译为

gcc -g -segprot __TEXT rwx rwx self_modifying.c -o self_modifying.exe

最近,这似乎不起作用,我明白了>>

dyld: malformed mach-o image: __TEXT segment maps start of file but is writable

当我运行程序时。

我正在MacOS 10.15.3上运行clang版本6.0.1。任何帮助,将不胜感激。

我有一个程序会生成自我修改的代码(如果您有兴趣,请参阅https://tigress.wtf/selfModify.html)。它可以在x86 Darwin和Linux上运行。在达尔文上,我使用gcc -g -segprot ...

macos dyld mach-o malformed self-modifying
2个回答
0
投票

您正在观察的问题是macOS Catalina的限制,与您的编译器无关。


0
投票

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...............]

Mach-O load命令有2种格式,它们指示可执行文件本身可以使用的最小MacOS。-LC_BUILD_VERSION(如果我没记错的话,新版本在10.14左右推出)-LC_VERSION_MIN_MACOSX(旧版)

© www.soinside.com 2019 - 2024. All rights reserved.