
Remald
18.09.2018
18:27:47

Th0r
18.09.2018
18:32:43

Remald
18.09.2018
18:34:04

Th0r
18.09.2018
18:35:33
не понял
мнемоника ассемблера и машинные коды - это разные вещи, как именно описаны параметры каждой функции зависит только от наркомана, который описал мнемонику ассемблера, процессор твои скобочки и умножения всё равно не умеет

Google

Remald
18.09.2018
18:35:54
я знаю что такое мнемоника и что такое машинный код
про процессор тут ни слова не было

Th0r
18.09.2018
18:38:07

Remald
18.09.2018
18:38:45
я прям так написал? я имел ввиду "программирование на языке ассемблера AT&T"

Th0r
18.09.2018
18:40:13

Remald
18.09.2018
18:41:14
я просто упомянул конкретный язык AT&T
а дальше сказал обобщенно
мнемоники ассемблера это как бы обертка над машинным кодом. Каждой мнемонике может соотвествовать несколько команд ЦПУ, но разница между ними и высокоуровневыми конструкциями в том, что между мнемоникой и машинным кодом взаимнооднозначное соответствие.
каджая мнемоника — это одна или более машинных команд, объединенные в последовательность

Th0r
18.09.2018
18:52:46

Remald
18.09.2018
18:53:05
машинный код однозначно декомпилируется в мнемоники

Th0r
18.09.2018
18:53:28
показать пример, где одна команда ассемблера декомпилируется в две различные мнемоники?

Google

Remald
18.09.2018
18:53:58
что?
комманда ассемблера декомпилируется в мнемоники?

Th0r
18.09.2018
18:54:39

Remald
18.09.2018
18:54:55
я не понял вообще что ты хотел сказать

Th0r
18.09.2018
18:55:07
одна машинная команда декомпилируется в любой из двух вариантов различных мнемоник

Remald
18.09.2018
18:56:11
хм, ну последняя фраза, которую я сказал, из книги. Возможно она довольно старая

Th0r
18.09.2018
18:57:06

Remald
18.09.2018
18:57:34

Th0r
18.09.2018
18:58:05

Remald
18.09.2018
18:58:24
в пределах одного языка ассемблера?

Th0r
18.09.2018
18:58:37

Maxim
18.09.2018
18:58:48
В пределах одного режима работы процессора?

Th0r
18.09.2018
18:58:52
да (у авр нет разных режимов процессоров)

Maxim
18.09.2018
18:59:03
Ну хз, м.б. они тупо эквивалентны друг другу, эти две мнемоники

Th0r
18.09.2018
18:59:32

Remald
18.09.2018
18:59:38
ну если они компилятся в один и тот же код, то в чем между ними разница?
суть короче в том, что компиляция исходного кода на высокоуровневых языках необратима, а на ассемблере всегда обратима
то есть на ассемблере ты пишешь фактически машинный код, только в человекочитаемой записи (несколько команд процессора могут быть объединены в одну мнемонику)

Maxim
18.09.2018
19:04:58
Ведь если бинарник действительно получен компиляцией кода - очевидно, существует такой код, который его порождает

Google

Remald
18.09.2018
19:06:27
ну понятно что есть инструмент реверс-инженеринга, но там нет однозначности и результат работы декомпилятора далек от исходного преставления

Th0r
18.09.2018
19:07:34

Remald
18.09.2018
19:07:47
нередко декомпиллер просто не может восстановить и выплевывает асм

Maxim
18.09.2018
19:08:06
Ну это проблема декомпилера, а не необратимости

Th0r
18.09.2018
19:08:38

Maxim
18.09.2018
19:09:09
Хотя тут еще можно подрочиться на тему того, является ли проблема восстановления произвольного кода разрешимой вообще
Но я слишком хуевый теоретик для этого

Remald
18.09.2018
19:09:26
в той книжке, которую я давно читал, было про взаимнооднозначное соотвествие
мб щас это уже не всегда так

Maxim
18.09.2018
19:10:49
Задача так и не ставилась
После жабы ты _оригинальный_ код тоже не восстановишь

Maxim
18.09.2018
19:11:00
А логику - прекрасно
И то там есть обфускаторы, которые делают задачу восстановления исходников трудной даже на таком ограниченном байткоде. Но не невозможной

Remald
18.09.2018
19:12:31
недавно сталкивался. После ProGuard ни один декомпиллер не осилил

Maxim
18.09.2018
19:12:48
ProGuard - это самый лайт вариант из всех

Remald
18.09.2018
19:13:07
а что лучше?

Maxim
18.09.2018
19:13:18
Т.к. он не ставит себе цели именно запутывания логики, он так, "если переименовать имена в a, b, c, то оно будет весить меньше"

Remald
18.09.2018
19:13:22
докомпильнулось все, кроме самой важной функции

Maxim
18.09.2018
19:13:30
Есть куча коммерческих, гуглятся легко

Google

Maxim
18.09.2018
19:13:39
Вот они ставят себе именно задачу затруднения анализа

Remald
18.09.2018
19:14:09

Maxim
18.09.2018
19:14:23
Он его м.б. как-то оптимизирует, но это ломает разве что автоматику

Remald
18.09.2018
19:14:36
обычный код на джаве декомпилится изи
после proGuard пока не получилось

Th0r
18.09.2018
19:14:52

Maxim
18.09.2018
19:14:52
Автоматика не всегда способна восстановить даже обычный выхлоп компилятора
Нет-нет, да всплывают артефакты

Admin
ERROR: S client not available

Remald
18.09.2018
19:15:41

Maxim
18.09.2018
19:16:06
Вообще для этого должны быть спец. инструменты, которые тебе, например, нарисуют граф потока управления
Но я их пока не видел

Th0r
18.09.2018
19:16:25

Maxim
18.09.2018
19:16:58
JVM не дает уж совсем гусей в байткоде ебать
Потому что байткод должен пройти верификатор на входе
Значит, что 1 - там лежит аннотация (StackMapFrame), какие типы где лежат на стеке в каждый момент времени, 2 - там соблюдаются некие базовые инварианты
А вот в асме ты свободен, все гуси твои и возбуждающе га-га-гакакют
Так что тут именно вопрос к тому, на каком уровне находятся алгоритмы восстановления исходников, коль уж они не всегда работают даже на примитивных вариантах типа жабы
(кстати, если выключить верификатор, жвм позволяет делать много чего интересного, например, кинуть строку как исключение. Так что она на него довольно сильно полагается)

Remald
18.09.2018
19:42:14
ну восстановление хай-левел исходников это вообще довольно трудная задача

Google

Remald
18.09.2018
19:42:50
потому что там нету такого, что нашел подходящую последовательность комманд — ага, команда

Maxim
18.09.2018
19:43:44
Это понятно, никто не говорил, что будет легко (особенно после того, как код оптимизатор перехерачит). Я в концептуальном плане.

Remald
18.09.2018
19:59:50
и все же, кто-нибудь мне объяснит, чем сам по себе плох пхп?
для меня он плох только тем что устаревает и нет смысла больше его дрочить и начинать на нем новые проекты
так то он мне нравится получш чем JS например, и скорее бы браузеры на питон перешли

Maxim
18.09.2018
20:11:23
Тем же, чем "плох" ардуино - толпой макак

Remald
18.09.2018
20:19:39
мне кажется щас толпа макак преходит на питон
он от этого хуже не становится

Spanish Inquisition
18.09.2018
21:05:04
Сегодня выборы!
Не забудь выбрать Главного Инквизитора недели.
Отдано 19 голосов
Для голосования написать @SpanishInquisitionBot команду start (впереди слеш!)
Или отдай свой голос тут:

Евгений
18.09.2018
21:26:18
https://youtu.be/eTVzkftwYgM
Под пивас

Vk
19.09.2018
02:17:56
Пт
Подскажите хороший роутер с оптовходом на 4 порта гигабит и вафлей такой же

BratKondrat
19.09.2018
02:39:31
Бытовой роутер или производственный
Обратись в магазин, там порекомендуют

Vk
19.09.2018
03:28:42
Бытовой в дом. Только там устройств дохрена на инет жадных и пара сервов

BratKondrat
19.09.2018
04:05:41

Vk
19.09.2018
04:55:01
А с оптикой есть?
Есть какой-то зюхель с портами по меди на 100мбит. А так, может какой посоветуете в инетах поищу и закажу

ᴍɪɴᴛʏ ???? ? ? ? ? ?
19.09.2018
05:07:02
Ладно, если те шайбы и вправду счётчики людей

Maksim
19.09.2018
05:07:19