- 1
- 2
А что если конпелятору переносить комментарии в ассемблерный код?
Это относится к швабодке?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
А что если конпелятору переносить комментарии в ассемблерный код?
Это относится к швабодке?
Ну какие-то мелкие оптимизации ассемблеры делать умеют (TASM заменяет jmp near на jmp short, если его об этом попросить), но чтобы глобально оптимизировать...
Вдруг ты вообще базу литералов создаешь?
Если выложишь под лицензией GNU, то скорее всего -- да.
Мой вопрос в другом, если бы конпелятор переносил комментарии в exe\elf ... etc файл.
То скорее всего разрабу было бы невыгодно это, потому что его прогу могут отреверсить.
А это намного облегчает ревес-инжиниринг.
Кстати, без отладочной таблички с номерами строк комментарии и привязывать не к чему.
Скажем, MS дает .sym файлы для винды которые позволяют развернуть колстек и понять в какой функции что ебанулось (и даже какие параметры у той функции) но сырцов не дает ни для чего кроме CRT.
А без дебаговой инфы и правда никак не привязать номера строк.
У опенбзди есть даже специальная инструкция для хомячков, у которых ядро ёбнулось: они могут посмотреть дамп, скормить его gdb на пару с с ядром с дебаговой инфой (опцыя -g) и узнать на какой строчке в .c файле у них случилось разыменовывание указателя на нуль или какая-то другая хуйня
https://sourceforge.net/projects/mlton/files/mlton/20100608/
ЗЫ. РАРЕГ.ЕХЕ это COM-файл? В EXE ведь первые джва байта MZ, а там ZM. Или я чего-то недогоняю?
А ещё у меня ощущение, что компилятор abc.exe недоработанный. Не все файлы, полученные им, запускаются.
А венда? Может мне поменять во всех ехешниках MZ на ZM? Тогда буду нитакой как фсе.
Меняю у пасьянса MZ на ZM — запускается не PE-часть, а досовская часть, выводит: «This program cannot be run in DOS mode». Меняю обратно — запускается пасьянс.
Т. е. 32-битная Windows, когда видит ZM вместо MZ, передаёт управление виртуальной DOS-машине. Что будет в 64-битной, представить страшно.