[ASM][LINUX] Reset bez zamknięcia systemu.

W tym miejscu zadajemy pytania na temat języka Assembler, dzielimy się swoją wiedzą, udzielamy wsparcia, rozwiązujemy problemy programistyczne.
Awatar użytkownika
PROTON
Expert
Expert
Posty: 527
Rejestracja: czwartek 08 paź 2015, 18:35
Lokalizacja: Warszawa

[ASM][LINUX] Reset bez zamknięcia systemu.

Postautor: PROTON » poniedziałek 06 lut 2017, 14:28

Poniżej przedstawiam programik w asemblerze który wywołuję funkcję sys_reboot, efekt jest taki jakby nacisnąć RESET na obudowie.
Następuje restart bez zamknięcia systemu.

UWAGA! Nie jest to zdrowe dla systemu plików.

Kod: Zaznacz cały

;nasm -O999 -f elf64 sys_reboot.asm && ld -s -o sys_reboot sys_reboot.o

section .text
global _start
_start:
 
mov eax, 88; sys_reboot
mov ebx, 0xfee1dead
mov ecx, 672274793
mov edx, 0x01234567
int 80h

mov eax, 1
xor ebx, ebx
int 80h


Wykorzystałem 32-bitowe ABI, działa bez problemu w 64-bitowym środowisku.
Gott weiß ich will kein Engel sein.

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [ASM][LINUX] Reset bez zamknięcia systemu.

Postautor: tasza » poniedziałek 06 lut 2017, 19:10

PROTON pisze:Nie jest to zdrowe dla systemu plików

no to trzeba mieć na boczku jakiś linux do eksperymentów :) jak mój właśnie :) na wirtualce :)

prawie na żywo - działanie programiku typu ``pocałunek śmierci``

:arrow: https://youtu.be/jhusF4Bk0nI

pierwsze uruchomienie spełzło na niczym, tak jak się w sumie spodziewałam - zadziałały uprawnienia (moje konto osobiste nie jest w grupie root),
ale za to drugie podejście, to z sudo ( i z prawami root ) - pierdut, brzdęk i ciemność - zadziałało znakomicie :D
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

Re: [ASM][LINUX] Reset bez zamknięcia systemu.

Postautor: inż.wielki » poniedziałek 06 lut 2017, 23:34

Powinieneś dorobić tam jeszcze instrukcję jazdy po dysku i blokady klawiatury/myszy, byłby idealny programik do użycia w razie wizyty smutnych Panów :D

Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

Re: [ASM][LINUX] Reset bez zamknięcia systemu.

Postautor: tasza » wtorek 07 lut 2017, 01:19

mov ebx, 0xfee1dead

a jakby się ktoś zastanawiał nad załączonym kodem źródłowym to proszę:
:arrow: https://en.wikipedia.org/wiki/Hexspeak
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)


Wróć do „Pisanie programów w Assembler”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość