LINUX.ORG.RU

GCC защита от просмотра исходного кода

 , , , ,


1

1

Здравствуйте! Возник вопрос: как защитить ПО от просмотра исходного той же самой командой cat? Насколько я помню, после компиляции GCC я мог посмотреть исходный код командой cat. Ну и вот как защитить его? Почему то, когда я пишу cat apt-get у меня его исходники не высвечиваются.

Почему то, когда я пишу cat apt-get у меня его исходники не высвечиваются.

Потому что ты указал имя программы, а не сам файл программы.

cat /bin/apt-get

после компиляции GCC я мог посмотреть исходный код командой cat.

Не исходный код, а бинарные данные

Ну и вот как защитить его?

Как сказали уже нужен оберег

как защитить ПО от просмотра исходного той же самой командой cat?

удалить cat

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от alegz

Может он первый раз во всём этом?

UDP: Аааа он с малого начать решил, сначала свой дистрибутив Создание своего дистрибутива на базе Debian а потом уже всякие остльные маловажные мелочи)))

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

как защитить ПО от просмотра исходного той же самой командой cat?

только для продвинутых!

alias cat=rm

kindof
()
Ответ на: комментарий от LINUX-ORG-RU

UDP: Аааа он с малого начать решил, сначала свой дистрибутив Создание своего дистрибутива на базе Debian а потом уже всякие остльные маловажные мелочи)))

Какая вам всем разница, с чего я начинал и т. д. и т. п.?!

tiopl09
() автор топика
Ответ на: комментарий от tiopl09

Если ты про защиту исходного кода, тогда смотри в сторону обфускации.

U2
()

Насколько я помню, после компиляции GCC я мог посмотреть исходный код командой cat.

Покажите, пожалуйста, пример, как это происходит. Можно скопировать лог из терминала. Если под рукой нет исходника, возьмите вот этот:

#include <stdio.h>
int main() { puts("hello"); return 0; }

По теме: Вас интересует обфускация и другие антиотладочные приёмы. В интернете об этом, конечно, много чего есть, но очень разрозненно. Начните с поиска по этим ключевым словам. Приёмы обычно сильно специфичны для языка программирования: что сработает на C, не будет работать на Java и совершенно неприемлемо для Python.

AITap ★★★★★
()
Ответ на: комментарий от tiopl09

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

То есть опиши конечную цель, для чего ты задал этот вопрос. Скорее всего, ты идешь по не тому пути и задаешь не те вопросы.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от AITap

@AITap, @U2, спасибо! Посмотрю в интернете! @AITap, в данный момент выводы и логи показать не могу, у кого как, а у меня уже поздно, чтобы комп включать. Скорее всего завтра.

tiopl09
() автор топика
Ответ на: комментарий от tiopl09

Да, и cat не умеет выводить исходный код из бинарников. Если ты его видел с его помощью — то ты или файл исходников просматривал, или просто скрипт.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от U2

Хорош, а то на форуме появится очередной вопрос - как починить линукс?

Dr64h ★★★
()
Ответ на: комментарий от AITap

Приёмы обычно сильно специфичны для языка программирования

А вот и выход : не писать на C и прочей попсе :-) Только хардкор. Например суровый ФОРТ.

Что там будет написано непосредственно в исходнике, смогут разобрать 1-2 человека на ЛОР и только за отдельно-космические деньги. А уж из бинарника, пусть лаже байт-кода, вообще пожалуй никто

PS/ на край обзавестись (методом «сделай сам») транслятором Си->Форт

MKuznetsov ★★★★★
()

Насколько я помню, после компиляции GCC я мог посмотреть исходный код командой cat.

У тебя дикая каша в голове. Скомпилированный код != исходный код.

Dimez ★★★★★
()

Мужик! (c)

Ты вообще-то, позавчера обещал «как только, так сразу» написать, как именно решил проблему с Wi-Fi. Так и не написал, зато заинтересовался сначала сборкой дистрибутива на основе дебиана, а теперь вот обфускацией кода. Я понимаю, разносторонние интересы — это хорошо, но неплохо бы ответить в первой теме, где тебя читали и пытались помочь…

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Еее, со знанием контекста тред читать ещё веселее :)

melkor217 ★★★★★
()
Ответ на: комментарий от tiopl09

Как какая разница? Мы тут друг друга по молекулам разбираем, добро пожаловать в клуб. Просто часто вопросы задают не о том что хотят знать, если ты тут выживешь сам поймёшь спустя время.

LINUX-ORG-RU ★★★★★
()

Почему то, когда я пишу cat apt-get у меня его исходники не высвечиваются

Потому что ты полный путь не указал до apt-get!

А как ты хотел? GCC - свободное программное обеспечение, его фича любой твой код всем показывать и даже Р. Столлман на почту может получить (по запросу).

cat /usr/bin/apt-get > a.out && objdump -D

Все видно! GCC автоматом исходники в бинарник помещает.

lnx4
()

chmod -r my_source_code.c

EXL ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Урок, почему нельзя копипастить из интернетов.

Ну почему сразу урок. Предложенный хинт достаточно легко, надежно и, я бы сказал, щадяще, решает поставленную ТС задачу )

kindof
()
Ответ на: комментарий от kindof

Вдруг он неделю трудился и написал программу сортировки букавок, старался, пыхтел аж захотел защитить своё творение и тут бац! Жестоко =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Вдруг он неделю трудился и написал программу сортировки букавок, старался, пыхтел аж захотел защитить своё творение и тут бац! Жестоко =)

и…тогда он задаст себе вопрос - почему?

а потом, спустя какое-то время, наверное, и - зачем?

kindof
()

Ты из тех, кто свой ifconfig cat'ом показывает?

LongLiveUbuntu ★★★★★
()

а почему ни у кого не возник вопрос - зачем вообще смотреть командой cat? как оно вообще смогло сюда заехать и где свернуло не туда...

shTigrits ★★★
()
Ответ на: комментарий от MKuznetsov

Настоящий Программист может написать ФОРТ-программу на любом языке.

AITap ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

:))

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

Всеволод, однако…

master_0K
()
Ответ на: комментарий от chenbr0

Почему @chenbr0 всегда ищет повод приписать линуксоидам разрушение башни в 11 веке?

Не вводи молодёжь в заблуждение, анекдоту про операцию по удалению гланд через задницу КАК МИНИМУМ 40 лет (я его ещё в школе слышал), а то и намного больше, и сабжевое выражение давно уже стало нарицательным для обозначения ситуации, когда что-либо делается шиворот-навыворот. Задолго до появления линукса.

Хотя да, Всеволод что-то разбушевался, аналогию можно было подобрать и нейтральнее.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

https://www.linux.org.ru/search.jsp?q=%D0%B0%D0%BD%D1%83%D1%81&range=ALL&interval=ALL&user=&_usertopic=on

Всего найдено 2371 результатов.

https://www.linux.org.ru/search.jsp?q=%D0%B7%D0%BE%D0%BD%D0%B4&range=ALL&interval=ALL&user=&_usertopic=on&sort=RELEVANCE&section=

Всего найдено 14152 результатов.

Не ту ОС назвали гейос. Давайте дальше вы с Севой сами про интересующие вас полости поговорите? 😁

chenbr0
()
Ответ на: комментарий от chenbr0

А ты с какой целью по всему ЛОРу анусы выискиваешь? Притягивает эта тема?

RussianWarShip
()
Ответ на: комментарий от Anoxemian

это кстати подпадает под статью о патче бармина, счас тебе -20 прилетит

  1. Мы с вами на брудершафт не пили
  2. только для продвинутых!

ТС предупреждён.

  1. Возник вопрос: как защитить ПО от просмотра исходного той же самой командой cat?

Задачу ТС решает? Решает.

PS Бл"№;"ь, кругом юристы вахтеры

kindof
()

Насколько я помню, после компиляции GCC я мог посмотреть исходный код командой cat

Ну ты после компиляции исходники удали и оставь только бинарь лол

upcFrost ★★★★★
()
Ответ на: комментарий от hateyoufeel

Пфффт… детский лепет.

вы, наверное, не обратили внимание, что мы решаем задачу ТС, а не заставляем его систему вместо редактирования файла его удалять

kindof
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.