Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> bytecode, На чём не писать 
:(
    Опции темы
Moby
Дата 11.11.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Всем привет. Я в этом мало понимаю, так что если вопрос не корректен, то сорри.

Я тока на днях узнал о таком слове, как bytecode.  smile 

Как я понял, если на Visual Studio .Net, на С++ или C# написать программку, то из конечного продукта, при помощи некоторых утилит, можно получить какой-то bytecode и восстановить или изменить часть кода, ну то есть можно будет изменив код избежать как раз какую-нить защиту. 

Я правильно понял, что такое bytecode? 

Если да, то на чем писать что бы это избежать?

Что насчёт QT?

Это сообщение отредактировал(а) Moby - 11.11.2008, 15:31
PM MAIL ICQ   Вверх
mes
Дата 11.11.2008, 16:32 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Moby @  11.11.2008,  15:30 Найти цитируемый пост)
на чем писать что бы это избежать?

Не обижайтесь, но неужели при таком уровне вопроса, у Вас такой уровень программы, что ее (за)хотят взломать ?
Мне кажется Вы не с того конца подходите к программированию. 
Взломать можно практически все . Что Микрософт такие недалекие, что не знают как защитить программу, раз столько пиратских дисков с виндой ?





--------------------
PM MAIL WWW   Вверх
Moby
Дата 11.11.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Цитата(mes @  11.11.2008,  16:32 Найти цитируемый пост)
Не обижайтесь, но неужели при таком уровне вопроса, у Вас такой уровень программы, что ее (за)хотят взломать ?
Мне кажется Вы не с того конца подходите к программированию. 
Взломать можно практически все . Что Микрософт такие недалекие, что не знают как защитить программу, раз столько пиратских дисков с виндой ?

Мой проект по важности сравним с проектами самых крутых лидеров IT рынка. Шучу. smile 

Да это собственно говоря не для меня. Мой "личный" проект, который может быть я сделаю и покажу кому-нить - это 3D-Tetris. smile
А вообще, грубо говоря, я буду часть программки писать. А "эти" люди делают коммерческий проект, не большой, но все же коммерческий и с уклоном в сторону медицины. И им это важно, ну что бы была максимальная защита. Этот вопрос был поднят на днях, конечно они там все сами решат, это не нубы-програмеры, как я. Но я решил самому то же разобраться.

Так что, если не затруднит, то все же разъясните кто-нибудь ситуацию.  smile 

Это сообщение отредактировал(а) Moby - 11.11.2008, 17:24
PM MAIL ICQ   Вверх
skyboy
Дата 11.11.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



есть машинный код - конкретные данные и конкретные инструкции процессора конкретной архитектуры.
есть исходный текст на языке программирования высокого уровня.
обычно, компилятор транслирует программу на ЯВУ в МК.
в некоторых технологиях предусмотрена двухступенчатая компиляция: сначала текст на ЯВУ транслируется в байт-код, а уже непосредственно перед запуском байт-код транслируется в МК.
"некоторые технологии" - это и Java, и .NET в том числе.
на самом деле, преимущество и назначение байткода - не "снижение взломостойкости", нет, а возможность не компилировать программу под все системы и архитектуры, а возложить этот этап выполнения на интерпретатор байткода, который будет установлен у клиента, а не разработчика.
насчет безопасности: декомпилировать можно и "обычную" программу, скомпилированную в РЕ-ЕХЕ под x86 архитектуру. просто уровень абстракции байткода выше уровня абстракции МК. потому и декпомпилированное из МК будет более запутанным для переработки, нежели декомпилированный байткод.
но решения вопросов безопасности все равно есть.
PM MAIL   Вверх
Moby
Дата 13.11.2008, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



skyboy, спасибо, дословно объяснил. 

А какие технологии обходятся без двухступенчатой компиляции, что бы ЯВУ сразу в МК? 

Как я понимаю, в силу свой кроссплатформенности, Qt наверно как раз поддерживает эту двухступенчатую компиляцию или нет?



Это сообщение отредактировал(а) Moby - 13.11.2008, 12:23
PM MAIL ICQ   Вверх
Kallikanzarid
Дата 13.11.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 240
Регистрация: 9.11.2008

Репутация: 2
Всего: 3



Без байткода обходится чистый C++. Qt - библиотека как раз для него.
PM MAIL   Вверх
skyboy
Дата 13.11.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(Moby @  13.11.2008,  11:18 Найти цитируемый пост)
А какие технологии обходятся без двухступенчатой компиляции

ты это к чему спросил?
если речь о компиляции в объектный файл, из которого формируется платформозависимый ЕХЕшник, то(мое личное мнение) любая компиляция - двухуровневая(сначала - объектный файл, затем линковка). просто более "старый" вариант - когда второй этап делается на машине разработчика. Java и .NET(ну, и другие) делают второй этап на машине пользователя.

PM MAIL   Вверх
Moby
Дата 13.11.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 6.10.2008

Репутация: нет
Всего: нет



Цитата(Kallikanzarid @  13.11.2008,  13:15 Найти цитируемый пост)
Без байткода обходится чистый C++. Qt - библиотека как раз для него. 


Спасибо! Тогда такой вопрос, для полной убедительности.

Я поставил интегратор QT в Visual Studio. Если я напишу прогу и и откомпилю, то никаких bytecode'ов не будет?
PM MAIL ICQ   Вверх
J0ker
Дата 13.11.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(skyboy @  13.11.2008,  13:49 Найти цитируемый пост)
если речь о компиляции в объектный файл, из которого формируется платформозависимый ЕХЕшник, то(мое личное мнение) любая компиляция - двухуровневая(сначала - объектный файл, затем линковка). просто более "старый" вариант - когда второй этап делается на машине разработчика. Java и .NET(ну, и другие) делают второй этап на машине пользователя.

бред однако....


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 13.11.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



J0ker, странно. как-то был уверен, что так. посмотрим, почитаем.
PM MAIL   Вверх
J0ker
Дата 14.11.2008, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



оно так бывает, когда люди думают, что компилятор это Visual Studio
я так думаю пока не научатся собирать программы из командной строки - и близко ни к каким IDE не подпускать


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 14.11.2008, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(J0ker @  13.11.2008,  23:57 Найти цитируемый пост)
оно так бывает, когда люди думают, что компилятор это Visual Studio

двухэтапную компиляцию с использованием ликовщика помню по работе с Fortan77. и с DOS'овским asm. с VS работать не довелось.
впрочем, твое замечание во время - а то я бы самоуверенным тоном ещё какую чушь выдал бы.

Добавлено через 3 минуты и 46 секунд
а так, конечно, компоновка далека от трансляции байткода в машинный код, а объектный модуль ничуть не схож с "байткодом".

Добавлено через 5 минут и 1 секунду
Цитата(J0ker @  13.11.2008,  23:57 Найти цитируемый пост)
я так думаю пока не научатся собирать программы из командной строки

вот этого не понял. как использование CLI-инсртументария помогает понять теорию компиляторов?

Добавлено через 5 минут и 13 секунд
Цитата(skyboy @  14.11.2008,  00:07 Найти цитируемый пост)
инсртументария 

инструментария
PM MAIL   Вверх
J0ker
Дата 14.11.2008, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



причем тут CLI-то?


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 14.11.2008, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(J0ker @  14.11.2008,  00:32 Найти цитируемый пост)
причем тут CLI-то? 

в смысле, какая связь между
Цитата(J0ker @  13.11.2008,  23:57 Найти цитируемый пост)
собирать программы из командной строки

и CommandLine Interface?

PM MAIL   Вверх
mes
Дата 14.11.2008, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(skyboy @  14.11.2008,  01:40 Найти цитируемый пост)

и CommandLine Interface?

skyboy, 
http://ru.wikipedia.org/wiki/Common_Language_Infrastructure
 smile 



--------------------
PM MAIL WWW   Вверх
J0ker
Дата 14.11.2008, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(mes @ 14.11.2008,  01:49)
Цитата(skyboy @  14.11.2008,  01:40 Найти цитируемый пост)

и CommandLine Interface?

skyboy, 
http://ru.wikipedia.org/wiki/Common_Language_Infrastructure
 smile

вот вот

Добавлено через 5 минут и 27 секунд
Цитата(skyboy @  14.11.2008,  01:40 Найти цитируемый пост)
в смысле, какая связь между
Цитата(J0ker @  13.11.2008,  23:57 Найти цитируемый пост)
собирать программы из командной строки

и CommandLine Interface?


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


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 14.11.2008, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(J0ker @  14.11.2008,  01:52 Найти цитируемый пост)
а окошки и прочую фигню к ним прикрутили уже гораздо позже

да-да, конечно, сейчас все плохо, потому как пользуются в работе всяческими IDE, начинают изучение ЯВУ не с ассемблера, и не работают с перфокартами.
Все же, намекни мне, неучу, чем радикально отличается байткод от объектного модуля. ну, если не сложно, конечно.
PM MAIL   Вверх
Mayk
Дата 14.11.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 3
Всего: 134



Цитата(skyboy @  14.11.2008,  13:34 Найти цитируемый пост)
Все же, намекни мне, неучу, чем радикально отличается байткод от объектного модуля. ну, если не сложно, конечно. 

Целью? 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
vinter
Дата 14.11.2008, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 8
Всего: 56




Модератор: Сообщение скрыто.



--------------------
Мой блог
PM MAIL WWW   Вверх
skyboy
Дата 14.11.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(Mayk @  14.11.2008,  09:14 Найти цитируемый пост)
Целью?  

ок. какая цель байткода?
только не на примере Java или .NET, в адрес которых много говорится о "переносимости" и "платформонезависимости", а, скажем, в адрес РНР-байткода или Python, который используется исключительно в целях ускорения работы.
А объектные модули что мешает линковать спустя некоторое время, уже с обновленными версиями используемых библиотек?
vinter, будь добр, воздержись от перехода на личности.
PM MAIL   Вверх
Mayk
Дата 14.11.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 3
Всего: 134



Цитата(skyboy @  14.11.2008,  15:37 Найти цитируемый пост)
А объектные модули что мешает линковать спустя некоторое время, уже с обновленными версиями используемых библиотек?

Они линкуется(и не факт что запускаются), а не интерпретируются покамандно как в случае байткода. 

Цитата(skyboy @  14.11.2008,  15:37 Найти цитируемый пост)
только не на примере Java или .NET, в адрес которых много говорится о "переносимости" и "платформонезависимости", а, скажем, в адрес РНР-байткода или Python, который используется исключительно в целях ускорения работы.

Ну вот и еще отличие. Объектные модули ни создаются с целью ускорения работы. 



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
skyboy
Дата 14.11.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(Mayk @  14.11.2008,  10:53 Найти цитируемый пост)
Объектные модули ни создаются с целью ускорения работы. 

байткод java использует для ускорения работы? или таки для переносимости?
Цитата(Mayk @  14.11.2008,  10:53 Найти цитируемый пост)
а не интерпретируются покомандно как в случае байткода. 

в wiki нормально описано: если реализация допускает - интерпретируется покомандно, если надо(как в Java JIT) - транслируется в машинный код непосредственно перед выполнением. целиком.
PM MAIL   Вверх
bsa
Дата 14.11.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



vinter, видимо ты юмора не понял. в следующий раз обращай внимание на смайлы.

M
bsa
Поаккуратней на поворотах - так не долго и до нарушения правил.


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

Moby, ты получил ответ на свой первый вопрос? Если да, то помечай тему решенной.
Модератор: Пожалуйста, один топик - один вопрос.
PM   Вверх
J0ker
Дата 14.11.2008, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



bsa, ниче если я все-таки проясню?

Цитата(skyboy @  14.11.2008,  09:34 Найти цитируемый пост)
Все же, намекни мне, неучу, чем радикально отличается байткод от объектного модуля. ну, если не сложно, конечно. 

ну конечно не сложно  smile 
Объектный модуль - это такой промежуточный модуль, который потом соединяется с другими модулями посредством линковки. Получается такой модуль посредством компиляции исходного кода в нэйтив код исполнительной системы с вставкой дополнительных данных необходимых для последующей линковки. Цель данных заморочек - ускорение генерации программы - мы можем перекомпилировать не всю программу целиком, а только измененные модули.
Байткод - это не-нэйтив код, который исполняется не реальным процессором/ОС, а т.н. виртуальной машиной. Виртуальная машина является прослойкой между программой и реальным процессором/ОС. Имея виртуальные машины для разных процессоров/ОС, мы можем исполнять на них один и тот-же байткод - за счет этого достигается кроссплатформенность. При этом процесс компиляции программы в байткод может точно так-же проходить через компиляцию в объектные модули с последующей линковкой - единственная разница - это то, что объектные модули здес будут не в нэйтив коде, а в байткоде.

Добавлено через 3 минуты и 15 секунд
ЗЫЖ интересно что там vinter такое сказал, что его даже  smile 


--------------------
user posted image
PM MAIL   Вверх
vinter
Дата 14.11.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 8
Всего: 56



я там много ругалсо, и все матом smile


--------------------
Мой блог
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0852 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.