root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm -f elf helloworld.asm
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ld helloworld.o
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./a.out
Hello, world!
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#

ok, sollte nach Buch genauso sein.

root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm helloworld1.s
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ls -l helloworld1
-rw------- 1 tomovic tomovic 50 Aug 12 21:29 helloworld1
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# hexdump -C helloworld1
00000000  e8 0f 00 00 00 48 65 6c  6c 6f 2c 20 77 6f 72 6c  |.....Hello, worl|
00000010  64 21 0a 0d 59 b8 04 00  00 00 bb 01 00 00 00 ba  |d!..Y...........|
00000020  0f 00 00 00 cd 80 b8 01  00 00 00 bb 00 00 00 00  |................|
00000030  cd 80                                             |..|
00000032

Ok, nichts neues, es hat sich nichts geändert.

root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ndisasm -b32 helloworld1
00000000  E80F000000        call dword 0x14
00000005  48                dec eax
00000006  656C              gs insb
00000008  6C                insb
00000009  6F                outsd
0000000A  2C20              sub al,0x20
0000000C  776F              ja 0x7d
0000000E  726C              jc 0x7c
00000010  64210A            and [fs:edx],ecx
00000013  0D59B80400        or eax,0x4b859
00000018  0000              add [eax],al
0000001A  BB01000000        mov ebx,0x1
0000001F  BA0F000000        mov edx,0xf
00000024  CD80              int 0x80
00000026  B801000000        mov eax,0x1
0000002B  BB00000000        mov ebx,0x0
00000030  CD80              int 0x80
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#

...wie im Buch...

root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# export SHELLCODE=$(cat helloworld1)
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./getenvaddr SHELLCODE ./notesearch
SHELLCODE will be at 0xbffff8d4

helloworld1 geht nicht wegen den Nullen, das ist ganz normal.

 

   

Jetzt c/c++ lernen  

   
© ALLROUNDER