(Untitled)

May 23, 2008 23:38

Сидел чета, тупил-тупил, и вдруг стало интересно, а можно ли в Си просто взять и запустить какой-то байт код?

Ассемблировал с помощью NASM'а очень сложную программу на ассемблере:
jmp $
Что в переводе значит "перейти на текущую команду".

NASM крут тем, что может выдавать "flat-form binary", короче не экзешник в формате для какой-либо операционной ( Read more... )

computers, c, blablabla, programming

Leave a comment

Comments 20

goodsoft May 23 2008, 21:10:16 UTC

goodsoft@lappy:~$ gcc zomg.c -o zomg
goodsoft@lappy:~$ ./zomg
main() address: 0x4004e8
pfunc = 0x40055c
myFunc executed!
pfunc = 0x349a5d70
Segmentation fault
goodsoft@lappy:~$

Reply

0x1392 May 23 2008, 21:18:39 UTC
Гм, наверное во всех никсах так.
Олсо, лол, секция (блджад, чувствую себя идиотом когда говорю о чем-то что не до конца понимаю х) кода загружается с тем же базовым адресом что и в винде х))

Reply

goodsoft May 23 2008, 21:22:02 UTC
ещё одно доказательство того, что убунта на самом деле виста с кастомным набором тем

Reply

0x1392 May 23 2008, 21:26:41 UTC
x))

Reply


(The comment has been removed)

0x1392 May 23 2008, 21:22:16 UTC
Win 2000 SP4
Что за "настройки dep"? x)) Я хз, просто из консоли компилил без каких-либо опций типа
cl test.c

Reply

(The comment has been removed)

0x1392 May 23 2008, 22:01:21 UTC
Ах вооот оно что. Видел это в XP, но никогда не обращал внимания.
С утра протестю на втором компе, там как раз WinXP SP2.

Reply


sb16 May 23 2008, 22:02:56 UTC
Дефолтное поведение винды - сегмент данных вполне исполняем. Но это контроллируется макросами в сях или директивами в других языках.

Где ты видел асм, который не умеет давать чистый бинарик? Хотя можт gcc-шный и не умеет, ибо весь gcc большой кусок говна.

Reply

0x1392 May 24 2008, 07:55:26 UTC
Гм, яяяясненько...

Ну у NASM'а эта опция просто на самом виду. Набираешь nasm -hf и он выдает список форматов и первый из них bin и это дефолтный формат =)
Бгы, посмотрел манпейдж GNUсного as -- он реально походу только объектные файлы для линкера умеет выдавать х) Ну в какой-то мере ему можно это простить, т.к. он же вообще изначально не предназначался для использования чилавеками =)

Reply

maddev May 24 2008, 10:25:27 UTC
А masm и tasm? ))

Reply

0x1392 May 24 2008, 13:55:24 UTC
Бугого, масмфасмтасмтнасм! хD

Reply


dzhinika May 25 2008, 00:50:45 UTC
я вообще не понимаю о чём ты пишешь. причём всегда. очень редко понимаю. ужасно конечно...

Reply

0x1392 May 25 2008, 07:33:23 UTC
Ну я ж не только про компы пишу =. =)

Reply


Leave a comment

Up