linux简单之美(一)

简介:

    话说windows也有syscall,这是必须的。但是win的syscall可以直接call吗?可以是

可以但是破费周折,搞成SDT之类的复杂概念。下面看看linux是如何做的吧。

section .data
msg db "hello hopy!",0x0a

section .text
global _start

_start:
	mov eax,4
	mov ebx,1
	mov ecx,msg
	mov edx,12
	int 0x80
	
	mov eax,1
	mov ebx,0
	int 0x80

    关键是系统调用号要知道,开始找的是usr/include/asm-gen*/unistd.h,

可是都不对。后来找的是usr/include/x86_64_linux_gnu/asm/下的头文件,

有2个,分别对应x86和x64.、编译连接指令如下:

nasm -f elf main.asm

ld main.o

运行,段转储错误鸟,查了一下,本猫用的是x64位的linux,所以要生成

x64位的程序,或者指明是x86的程序,我选择后者:

ld -m elf_i386 -o main main.o

哦鸟!

相关文章
|
5天前
|
SQL 缓存 监控
|
5天前
|
前端开发 Linux Shell
|
1天前
|
Linux Shell 网络安全
网络安全中Dos和linux常用命令总结
本篇是对网安学习中,常用的命令做一个图文与命令示例,并对一些比较重要的dos和shell命令进行总结,方便自己后续学习进行查询,并希望能够给更多人有一个总结命令和了解命令的地方.
22 5
|
4天前
|
Linux
Linux系统ps命令
这些是一些常见的 `ps`命令选项和用法,用于查看系统中运行的进程及其相关信息。您可以根据需要选择合适的选项以满足您的任务要求。
12 0
|
4天前
|
存储 Linux Shell
linux课程第二课------命令的简单的介绍2
linux课程第二课------命令的简单的介绍2
|
4天前
|
Linux C语言 数据安全/隐私保护
linux课程第二课------命令的简单的介绍3
linux课程第二课------命令的简单的介绍3
|
5天前
|
监控 Unix Linux
如何使用 Linux less 命令?
【4月更文挑战第25天】
15 1
如何使用 Linux less 命令?
|
5天前
|
JSON 网络协议 Linux
Linux ip命令:网络的瑞士军刀
【4月更文挑战第25天】
9 1