Size: a a a

2021 March 04

АА

Ашнаг Аитари... in Linux Чат
То есть print "Hello world!" насколько говорит этот ваш интернет в бине выглядит как то так 101110110001000100000001101110010000110100000000101101000000111010001010000001110100001111001101000100001110001011111001110011010010000001001000011001010110110001101100011011110010110000100000010101110110111101110010011011000110010000100001
источник

АА

Ашнаг Аитари... in Linux Чат
Если первое понимаеться за секунду даже не погромистом, то из второго погромист будет извлекать смысл значительное количество времени
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Не, смотри.
Бин - создан для обработки процессов машины. Т.е. имеет в основе структуру данных, трудноперевариваемую мозгом.
Условный С - создан для понимания человеком процессов, обрабатываемых машиной. Т.е. специально создан со структурой данных, легкоперевариваемых мозгом.
Да лаадно. Всё ровно то-же самое, только компьютерный язык заточен исключительно под работу с данными и выбора вариантов решений. Язык исключительно логики — если-то-иначе, повторить n раз, записать значение, прочитать значение,  перейти к такому-то куску текста, сравнить A и B. Вот и готов минимальный словарь машинного кода или его отображения на человеческий (ассемблер). Машина мыслит ровно так как человек ибо язык машины построен на ровно тех-же принципах что и человеческая логика. Но есть нюансы. Например ИИ.  Вот тут начинаются интересности ибо уже сейчас в некоторых применениях начинается технологическая сингулярность. И уже сейчас  не знают как нейронка принимает именно те решения, которые принимает.
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Если первое понимаеться за секунду даже не погромистом, то из второго погромист будет извлекать смысл значительное количество времени
Но извлечёт!
источник

АА

Ашнаг Аитари... in Linux Чат
Но на условный майнкрафт жизни может и не хватить - я как раз об этом.
источник

АА

Ашнаг Аитари... in Linux Чат
И мозгов.
источник

АА

Ашнаг Аитари... in Linux Чат
Но это уже второй фактор.
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
И мозгов.
Как-же условные хакеры игрушки/софт взламывают? Не иначе у них мозги компутерные.
источник

АА

Ашнаг Аитари... in Linux Чат
Vadim "Oxyd" Priluzkiy
Да лаадно. Всё ровно то-же самое, только компьютерный язык заточен исключительно под работу с данными и выбора вариантов решений. Язык исключительно логики — если-то-иначе, повторить n раз, записать значение, прочитать значение,  перейти к такому-то куску текста, сравнить A и B. Вот и готов минимальный словарь машинного кода или его отображения на человеческий (ассемблер). Машина мыслит ровно так как человек ибо язык машины построен на ровно тех-же принципах что и человеческая логика. Но есть нюансы. Например ИИ.  Вот тут начинаются интересности ибо уже сейчас в некоторых применениях начинается технологическая сингулярность. И уже сейчас  не знают как нейронка принимает именно те решения, которые принимает.
Тот же print "Hello world!" согласно вики обрабатывает некоторые сумрачные чисто машинные процессы.

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Комментарии к программе
Данная программа работает при её размещении по смещению 10016. Отдельные инструкции выделены цветом:

BB 11 01, B9 0D 00, B4 0E, 8A 07 — команды присвоения значений регистрам.
43 — инкремент регистра BX.
CD 10, CD 20 — вызов программных прерываний 1016 и 2016.
E2 F9 — команда для организации цикла.
Малиновым показаны данные (строка «Hello, world!»).
Тот же код ассемблерными командами:

XXXX:0100     mov     bx, 0111h       ; поместить в bx смещение строки HW
XXXX:0103     mov     cx, 000Dh       ; поместить в cx длину строки HW
XXXX:0106     mov     ah, 0Eh         ; поместить в ah номер функции прерывания 10h
XXXX:0108     mov     al, [bx]        ; поместить в al значение ячейки памяти, адрес которой находится в bx
XXXX:010A     inc     bx              ; перейти к следующему байту строки (увеличить смещение на 1)
XXXX:010B     int     10h             ; вызов прерывания 10h
XXXX:010D     loop    0108            ; если cx≠0, то уменьшить cx на 1 и перейти по адресу 0108
XXXX:010F     int     20h             ; прерывание 20h: завершить программу
XXXX:0111 HW  db      'Hello, World!' ; строка, которую требуется напечатать
источник

АА

Ашнаг Аитари... in Linux Чат
Vadim "Oxyd" Priluzkiy
Как-же условные хакеры игрушки/софт взламывают? Не иначе у них мозги компутерные.
Знаю что взламывают, как конкретно не знаю, поэтому не возьмусь судить.
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Тот же print "Hello world!" согласно вики обрабатывает некоторые сумрачные чисто машинные процессы.

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Комментарии к программе
Данная программа работает при её размещении по смещению 10016. Отдельные инструкции выделены цветом:

BB 11 01, B9 0D 00, B4 0E, 8A 07 — команды присвоения значений регистрам.
43 — инкремент регистра BX.
CD 10, CD 20 — вызов программных прерываний 1016 и 2016.
E2 F9 — команда для организации цикла.
Малиновым показаны данные (строка «Hello, world!»).
Тот же код ассемблерными командами:

XXXX:0100     mov     bx, 0111h       ; поместить в bx смещение строки HW
XXXX:0103     mov     cx, 000Dh       ; поместить в cx длину строки HW
XXXX:0106     mov     ah, 0Eh         ; поместить в ah номер функции прерывания 10h
XXXX:0108     mov     al, [bx]        ; поместить в al значение ячейки памяти, адрес которой находится в bx
XXXX:010A     inc     bx              ; перейти к следующему байту строки (увеличить смещение на 1)
XXXX:010B     int     10h             ; вызов прерывания 10h
XXXX:010D     loop    0108            ; если cx≠0, то уменьшить cx на 1 и перейти по адресу 0108
XXXX:010F     int     20h             ; прерывание 20h: завершить программу
XXXX:0111 HW  db      'Hello, World!' ; строка, которую требуется напечатать
И что тут непонятного?
источник

АА

Ашнаг Аитари... in Linux Чат
Vadim "Oxyd" Priluzkiy
И что тут непонятного?
Мне - вот это
XXXX:0100     mov     bx, 0111h       ; поместить в bx смещение строки HW
XXXX:0103     mov     cx, 000Dh       ; поместить в cx длину строки HW
XXXX:0106     mov     ah, 0Eh         ; поместить в ah номер функции прерывания 10h
XXXX:0108     mov     al, [bx]        ; поместить в al значение ячейки памяти, адрес которой находится в bx
XXXX:010A     inc     bx              ; перейти к следующему байту строки (увеличить смещение на 1)
XXXX:010B     int     10h             ; вызов прерывания 10h
XXXX:010D     loop    0108            ; если cx≠0, то уменьшить cx на 1 и перейти по адресу 0108
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Знаю что взламывают, как конкретно не знаю, поэтому не возьмусь судить.
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Мне - вот это
XXXX:0100     mov     bx, 0111h       ; поместить в bx смещение строки HW
XXXX:0103     mov     cx, 000Dh       ; поместить в cx длину строки HW
XXXX:0106     mov     ah, 0Eh         ; поместить в ah номер функции прерывания 10h
XXXX:0108     mov     al, [bx]        ; поместить в al значение ячейки памяти, адрес которой находится в bx
XXXX:010A     inc     bx              ; перейти к следующему байту строки (увеличить смещение на 1)
XXXX:010B     int     10h             ; вызов прерывания 10h
XXXX:010D     loop    0108            ; если cx≠0, то уменьшить cx на 1 и перейти по адресу 0108
В доке всё написано. Например про int 10h (вывод символа на экран). Тут вообще элементарный цикл.
источник

АА

Ашнаг Аитари... in Linux Чат
Только какое-то go to в XXXX:010D
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Только какое-то go to в XXXX:010D
Повторение цикла-же!
источник

АА

Ашнаг Аитари... in Linux Чат
Vadim "Oxyd" Priluzkiy
В доке всё написано. Например про int 10h (вывод символа на экран). Тут вообще элементарный цикл.
Таки это всё равно разбор и комментарии к 101110110001000100000001101110010000110100000000101101000000111010001010000001110100001111001101000100001110001011111001110011010010000001001000011001010110110001101100011011110010110000100000010101110110111101110010011011000110010000100001
Которая по идее делает простую и понятную функцию вывода "Hello world!"
источник

VP

Vadim "Oxyd&quo... in Linux Чат
Ашнаг Аитари
Таки это всё равно разбор и комментарии к 101110110001000100000001101110010000110100000000101101000000111010001010000001110100001111001101000100001110001011111001110011010010000001001000011001010110110001101100011011110010110000100000010101110110111101110010011011000110010000100001
Которая по идее делает простую и понятную функцию вывода "Hello world!"
От этого код на ассемблере не перестаёт быть обычным машинным кодом. Просто написанным в чуть более человекочитаемом виде. Код на ассемблере, выглядит ровно так-же как машинный код. Это прямое отображение.
источник

АА

Ашнаг Аитари... in Linux Чат
Но хотя бы более понятно. Не говоря уже о ЯП. В бине я и go to хрен увижу.
источник

АА

Ашнаг Аитари... in Linux Чат
И это всего 30 байт.
источник