[英]How work with chmod() in assembly linux x86?
我如何使用chmod()更改Assembly linux x86中的文件權限? 我想要匯編中的示例代碼,我看到了幫助指南,但仍然很難理解
http://man7.org/linux/man-pages/man2/chmod.2.html
int chmod(const char *pathname, mode_t mode);
chmod()有2個argv,第一個是路徑文件名,第二個是mod!
路徑/Users/paul/Desktop/file.txt和mode_t模式為:S_ISUID,S_ISGID,S_ISVTX,S_IRUSR,S_IWUSR
還有更多可以在url中看到的第一個問題:我需要在ecx的變量中設置這些值,或者我必須使用數值number,我必須使用哪個數值? S_IWGRP或00020#按組寫入
第二個問題:我是不是真的做到了? 我將它們放在ecx中並執行以下操作:
mov eax,15
mov ebx,mypathfile
mov ecx,S_IWUSR
int 0x80
有人可以給我代碼示例嗎?
最后一個問題是,如何設置文件的777權限(對所有人執行讀寫操作)?
謝謝。
這是完整的程序。 那應該回答你的問題。
main.asm中:
global _start
section .text
_start:
mov eax, 15 ; sys_chmod
mov ebx, path
mov ecx, 0777o
int 0x80
mov eax, 1 ; sys_exit
mov ebx, 0
int 0x80
section .data
path: db "file.ext", 0
構建:
nasm -f elf32 -o main.o main.asm
ld -m elf_i386 -o main main.o
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.