assembly - 汇编器代码编译引发链接器错误
问题描述
我有一个我正在尝试做的挑战,我想将一些汇编代码翻译成 c 代码。我目前正在尝试做的是将汇编代码编译成可执行文件,然后将其反编译成 c 代码(如果您知道更简单的方法,请提醒我)
但是,在使用nasm -f elf main.asm
and编译代码时gcc -o main main.o
(我也用过gcc -m32 -o main main.o
无济于事)
第一个命令运行没有错误,而后者失败返回:
Undefined symbols for architecture i386:
"_main", referenced from:
implicit entry/start for main executable
我知道汇编代码并不完美,我的目标不是能够运行程序,而只是想看看它作为 C 代码是什么样的。
section .text
global _main
_main:
jmp 0x40
pop eax
mov ecx, eax
mov ebx, 0x0
mov edx, 0x53
xor eax, eax
mov al,BYTE [ecx+ebx*1]
or cl,BYTE [edx]
push ebx
push ecx
push eax
mov ecx, esp
mov eax, 0x4
mov ebx, 0x1
push edx
mov edx, 0xa000001
or al,BYTE [eax]
int 0x80
pop edx
pop ecx
pop ecx
pop ebx
inc ebx
inc ebx
dec edx
jne 0x13
mov eax,0x1
mov ebx,0xa0a0000
add BYTE [eax],al
int 0x80
call 0x8
我试过删除下划线,然后_start
改用。我能做些什么来编译这段代码?
解决方案
推荐阅读
- php - PHP Laravel Trix 所见即所得如何显示数据库中的内容
- python - 使用 imageio 或 pyautogui 截屏时包含鼠标光标?
- blockchain - 退还所有在solidity合约上输入的地址
- r - 如何在同一张图中绘制“计数”和“身份”
- python - 在 keras ImageDataGenerator.flow() 中使用多输出标签并使用 model.fit_generator()
- nsis - 具有 UNC 路径的 NSIS CopyFiles
- jquery - 点击时传递参数会出错
- android - 使 SpannableStringBuilder 的多个部分加粗
- ios - 更新约束常量后 WebView 高度未更改
- angular - For Loop Inside Angular Subscribe 在 Ionic 4 中花费的时间太长