Задать вопрос
alex221000
@alex221000
Начинающий программист

Как воруют, просматривают, копируют исходные коды?

Допустим просто нашёл программу, приложение какое нибудь программное обеспечение или сайт, ну вот я не могу понять просто каким образом можно его взять и посмотреть ? Без всяких программ, просто не могу понять этого, вот допустим я зашёл на сайт открыл исходный код ? Или скачал программу вот передохну мной программа защищённое ПО вот как мне посмотреть если там нету такой Настройки как вообще это все осуществляется, подскажите специалисты, всем спасибо заранее
  • Вопрос задан
  • 555 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
saboteur_kiev
@saboteur_kiev
software engineer
Реверс инженеринг и воровство исходного кода разные вещи.
Чтобы получить полезный ответ на свой вопрос, нужно научиться формулировать вопрос, а ты намешал в вопрос и коней и людей.

Википедия вполне неплохой источник для того, чтобы почитать определение разных терминов. Поэтому поищи там что такое исходный код, и что такое реверс инженеринг.
Также можно поискать "защита программного обеспечения"

lurkmore.to/Reverse_Engineering
https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D...
https://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%85%D...
https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%89%D...
Ответ написан
@AquiHostStrider
Дебаггерами, не? IDA, SoftICE, ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Danil6969
Reverse engineer (native & managed)
Вообще есть 2 разные вещи: программа на компилируемом языке (C/C++/Golang/etc), т.е. исходник; и программа на одном из языков CPU (для GPGPU - GPU), так называемая release версия (либо debug, но суть не меняется, т.к. в отладочных бинарниках информации не сильно больше), она то и попадает на компьютеры клиентов/потребителей софта. Языков CPU (GPU - тем более) существует множество. Код на них необходимо перевести на IR/IL - выдуманный вспомогательный язык, затем в C-подобный функционально эквивалентный декомпилированный код. Так что исходники не раздобыть, но для модов/кряков/etc это лучше, чем ассемблер. Но минус в том, что с таким кодом могут потребоваться танцы с бубном, перед тем, как скомпилировать его снова. Для байткодов всё не так сложно, там декомпилированный код часто совпадает с исходным. Для первых (кроме GPU - в разработке) есть Ghidra, для байткодов: JVM байткод - Fernflower/CFR, C# байткод - JB dotPeek, Python байткод - Uncompiler. Вообще нет никакой защиты в большинстве случаев, по сути вся проблема в разнице между исходником и тем, что способен понять процессор. Поэтому никогда не пытайтесь оттранслировать CPU (x86/PPC/MIPS/ARM/AARCH64/...) в C++, только в C.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы