24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Объясните тупому на пальцах, почему нельзя взять исполняемый файл и сделать из него исходники на языке, который понятен человеку? Ведь .exe файл это набор инструкций которые процессор выполняет, почему их нельзя вскрыть?
>>204804430 (OP) Представь, что тебе надо передать кому-то число 100 (exe файл). Ты пишешь программу: 5 20, компилируешь и получаешь 100. Как ты сделаешь из этого изначальную программу? Там же может быть и 20 5, и 5 * 20, и 1000 / 10, и 90 + 10.
>>204804783 О, разметка. >Представь, что тебе надо передать кому-то число 100 (exe файл). Ты пишешь программу: 5 х 20, компилируешь и получаешь 100. Как ты сделаешь из этого изначальную программу? Там же может быть и 20 х 5, и 5 х 20, и 1000 / 10, и 90 + 10.
>>204805446 Если декомпилировать исполняемый файл как тут пишут>>204805041 >>204805045 , то ты получишь исходный код, нахуй тогда изначально его выкладывать если можно декомпилировать? Почему не декомпилируют проприетарный софт и не делают его бесплатным?
>>204805206 Потому что исходники понятнее. Названия переменных/классов/функций/методов проебываются при компиляции. При дизассемблировании ты получишь тупо адреса в памяти. Ну и асм это же машинный язык, всё на очень примитивном уровне. В исходниках ты сразу видишь, что задумал и писал пограмист, а в асме ты завален данными и всем тем, что от себя добавил компилятор.
>>204805206 Узнать можно, но ты заебёшься. У тебя 1000000 строк зашифрованного кода, которые писали погромизды 10 лет. Расшифровывать сложнее, так что твоей команде дешифровщиков потребуется тонна денег и времени на это, проще написать с нуля.
>>204804430 (OP) Ладненько. Объясню _очень_ по-тупому, ибо вопрос такой..ммм... своеобразный. Из разряда - "Почему нельзя сделать карточку, с помощью которой в любом банкомате можно деньги нахаляву снимать? Этож кусок пластика с железкой, чо тут сложного?"
Итак. Ну, во-первых, защиты ж всякие. Твой экзешник нужно декомпилировать - про декомпиляцию тут уже отписались выше. Во-вторых, там ж частенько обфускация юзается. Гугли как работает та же денуво, как работает защита с серийными номерами и тыды.
В третьих. Ты вообще что имеешь в виду под "языком, который понятен человеку" ? Вот допустим, появилась чудо-утилита, делающая ровно то, что ты хочешь. И расшифровывает она на человечий язык. На литературный китайский. Или корейский. Все функции, библиотеки, весь технический стафф заменен эквивалентными литературными словами. Как в книжках, лул. И что тебе эта простыня текста даст, и сможешь ли ты ее вообще прочитать?
>>204805840 >Ты вообще что имеешь в виду под "языком, который понятен человеку" Любой язык на котором программируют, вместо инструкций для процессора. Если бы они были удобны для человека сразу бы на них всё писали.
>>204804430 (OP) Предположим в регистре у тебя лежит 0x00000004, вот скажи это int или byte ? Ты не сможешь это понять пока не проанализируешь код дальше.
>>204805924 >Любой язык на котором программируют, вместо инструкций для процессора. На таком языке и пишут, а потом компилируют его в машинный код, чтобы он выполнялся быстрее.
>>204804430 (OP) Можно. Даже есть декомпиляторы, которые сразу переводят в высокие языки, питон там или кресты. Только у тебя будет каша, где все переменные, функции и т.д. названы вроде А0088013344DDD, и ты выйдешь в окно после попыток понять, что происходит в коде.
>>204804430 (OP) Например в том же сисярпе скомпилированные файлы можно просмотреть (ilspy, dnspy) как вполне читаемый C# код, без проеба названий переменных.
>>204809684 Нихуя. Я одно время римврот модил. Там скомпиленные дллки просматриваются как читабильный C# код, разве что комментариев нет, ну и местами видны следы оптимизации самого компилятора.
>>204809919 Скорее всего, это была либа, скомпиленная с дебажной инфой. При этом сохраняются исходные строчки внутри файла, и можно даже отладчиком потом ходить по файлу не имея исходников
>>204804430 (OP) Потому что он уже прошел компиляцию и там чистый машинный год, зачастую. Ты его не сможешь прочитать. Есть программы, которые восстанавливают это в асм, или его подобие для конкретного проца, а дальше ты можешь это читать, да и то не всегда.