杂杂杂,汇编,shellcode,

gcc test.c -o test.out

----

test.c -> test.s -> test.o -> test.out

 

as test.s -o test.o

ld test.o -o test.out

./test.out

 

提取shellcode:

objdump -d shellcode_execve | grep "[0-9a-f]" | grep -v "file" | cut -f2 -d: | cut -f1-6 -d' '| tr -s ' '| tr '\t' ' '| sed 's/ $//g'| sed 's/ /\\x/g' | paste -d '' -s | sed 's/^/"/' | sed 's/$/"/g'

64位和32位的寄存器和汇编的比较

https://blog.csdn.net/qq_29343201/article/details/51278798

 

32位终端,系统调用对应表

http://blog.chinaunix.net/uid-28458801-id-3477399.html

 

栈结构

https://www.huaweicloud.com/articles/76d0abbffec2d0d7bd315d6813701e8a.html

 

Y86-64 指令字节数 及 指令编码

 

如何得到指令编码?小端法机器上

 

 

 

x86_64汇编入门

pushq %rax == subq $8, %rsp; movq %rax, (%rsp)

popq %rax == movq (%rsp), %rax; addq $8, %rsp

call func == pushq %rip; jmp func

https://nifengz.com/introduction_x64_assembly/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值