Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Inject code без dll injection 
V
    Опции темы
GremlinProg
Дата 9.10.2009, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



Цитата(GoldFinch @  9.10.2009,  01:50 Найти цитируемый пост)
если говоришь за других - приводи доказательства.

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

молчание будет ответом нет, публично я это решать не собирался
Цитата(GoldFinch @  9.10.2009,  01:50 Найти цитируемый пост)
цитату!!!давай цитату статьи кодекса ГК РФ, запрещающую инжект!

я думал, ты сам ее приведешь, ведь ее ты и оспаривал изначально
Цитата(Раздел VII ПРАВА НА РЕЗУЛЬТАТЫ ИНТЕЛЛЕКТУАЛЬНОЙ ДЕЯТЕЛЬНОСТИ И СРЕДСТВА ИНДИВИДУАЛИЗАЦИИ Глава 70 АВТОРСКОЕ ПРАВО)

Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ

1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:

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

2) изготовить копию программы для ЭВМ или базы данных при условии, что эта копия предназначена только для архивных целей или для замены правомерно приобретенного экземпляра, в случаях, когда такой экземпляр утерян, уничтожен или стал непригоден для использования. При этом копия программы для ЭВМ или базы данных не может быть использована в иных целях, чем цели, указанные в подпункте 1 настоящего пункта, и должна быть уничтожена, если владение экземпляром таких программы или базы данных перестало быть правомерным.

2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи.

3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:

1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;

2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;

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

4. Применение положений, предусмотренных настоящей статьей, не должно наносить неоправданный ущерб нормальному использованию программы для ЭВМ или базы данных и не должно ущемлять необоснованным образом законные интересы автора или иного правообладателя.

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

уже 2 пункта требуют выполнения как минимум условия: "для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами", как ни крути


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GoldFinch
Дата 9.10.2009, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



GremlinProg, в тот раз речь шла именно о декомпиляции и модификации программы, тогда эта статья была уместна.
Сейчас же речь идет об инжекте, которой никоим образом не относится к статье 1280 ГК РФ.

Цитата(GremlinProg @  9.10.2009,  01:24 Найти цитируемый пост)
инжект со стороны кодекса - это:
1. декомпиляция - абсолютно точно
2. модификация - если внедряется хоть одна команда, меняющая поведение программы - да


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

Тривиальный пример инжекта - toolhelp, системная библиотека windows, собирает информацию о процессе, осуществляя инжект своего кода в адресное пространство процесса.
Все длл в списке appinit_dll автоматически инжектятся в любую программу использующую user32.dll .

Итак, для инжекта как такового, декомпиляция программы не нужна вообще. Для написания кода или данных которые инжектятся, декомпиляция программы может потребоваться, но это тема об инжекте, а не о коде который инжектится.

2. Программой, или копией программы, являются объектные файлы, а также файлы данных. 
Образ в памяти не является оригиналом, и не является копией программы, т.к. побитово не соответствует ей. Возможно это утверждение спорно.

Однако, в любом случае адресное пространство не принадлежит программе. Инжект производится в свободное адресное пространство, и не модифицирует программу.
PM MAIL ICQ   Вверх
GoldFinch
Дата 9.10.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Я думаю также следует разъяснить следующие вопросы:

1. Являются ли законными, действия по декомпиляции и модификации программы, совершенные автоматическими программными средствами, без участия человека?
Пример - системный загрузчик (непосредственно работает с программой), системный отладчик (крешдампы), антивирусы (прямой анализ кода программы).

2. Эквивалентны ли понятия
Цитата(статья 1280 ГК РФ)
преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ)

и "преобразовать объектного кода программы в двоичном (бинарном) виде в объектный код программы в текстовом виде "
(листинг дизассемблера, дамп кода и данных программы)
Т.е. вот это (слева - объектный код в двоичном виде, справа - в текстовом)
Код

7C809E3A    8A02            MOV AL,BYTE PTR [EDX]
7C809E3C    8D46 FF         LEA EAX,DWORD PTR [ESI-1]
7C809E3F    F7D0            NOT EAX
7C809E41    8BC8            MOV ECX,EAX
7C809E43    23CA            AND ECX,EDX
7C809E45    894D E4         MOV DWORD PTR [EBP-1C],ECX
7C809E48    23C7            AND EAX,EDI
7C809E4A    8945 E0         MOV DWORD PTR [EBP-20],EAX
7C809E4D    3BC8            CMP ECX,EAX
7C809E4F    0F85 CF200000   JNZ kernel32.7C80BF24
7C809E55    834D FC FF      OR DWORD PTR [EBP-4],FFFFFFFF
7C809E59    33C0            XOR EAX,EAX
7C809E5B    E8 A186FFFF     CALL kernel32.7C802501
7C809E60    C2 0800         RETN 8

и вот это
Код

7C809E3A  8A 02 8D 46 FF F7 D0 8B C8 23 CA 89 4D E4 23 C7  ЉЌFячР‹И#К‰Mд#З
7C809E4A  89 45 E0 3B C8 0F 85 CF 20 00 00 83 4D FC FF 33  ‰Eа;И…П ..ѓMья3
7C809E5A  C0 E8 A1 86 FF FF C2 08 00                       АиЎ†яяВ.


3. Действует ли на форум Конституция РФ, а также Конституции других стран, где прописана презумпция невиновности?
Это относится к вопросу, является ли участник форума создавший тему об инжекте, априори нарушившим закон, что противоречит презумпции невиновности:
Цитата(Конституция РФ)

Статья 49
1. Каждый обвиняемый в совершении преступления считается невиновным, пока его виновность не будет доказана в предусмотренном федеральным законом порядке и установлена вступившим в законную силу приговором суда.
2. Обвиняемый не обязан доказывать свою невиновность.
3. Неустранимые сомнения в виновности лица толкуются в пользу обвиняемого. 

PM MAIL ICQ   Вверх
GremlinProg
Дата 9.10.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Сейчас же речь идет об инжекте, которой никоим образом не относится к статье 1280 ГК РФ

я уже описал коим образом относится инжект к этой статье
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Инжект не требует декомпиляции программы, и в общем случае, вообще не требует каких либо знаний о программе.Инжект может быть произведен на 100% автоматически, без каких-либо действий лица запустившего инжект, если он был кем-то запущен

в том плане, в котором на форум приходят темы по инжекту, я пока ни одного не видел, где бы не требовался анализ кода,
причем даже данная тема это наглядно демонстрирует, ну не из воздуха же взялся start_adr

думаю, по этому поводу все понятно, так что про автоматизацию инжекта забудь,
я этого даже не касаюсь и не вникаю в toolhelp: какой смысл майкрософту забираться в форточку своего же дома,
когда у нее ключ в кармане от всех дверей
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Программой, или копией программы, являются объектные файлы, а также файлы данных. Образ в памяти не является оригиналом, и не является копией программы, т.к. побитово не соответствует ей. Возможно это утверждение спорно.

ты сказал примерно следующее: "ребенок - не есть сын своей матери, т.к. не является ее точной копией",
даже не знаю, спорить - нет?
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
Однако, в любом случае адресное пространство не принадлежит программе.

примерно из той же оперы: "земля подо мной мне не принадлежит, можешь рыть яму прямо там, где я стою, я ведь умею летать"
Цитата(GoldFinch @  9.10.2009,  20:07 Найти цитируемый пост)
 и не модифицирует программу.

интересно, какова же функция инжекта, ежели это не так, ей богу, странные вещи пишешь


Цитата(GoldFinch @  9.10.2009,  20:25 Найти цитируемый пост)
Являются ли законными, действия по декомпиляции и модификации программы, совершенные автоматическими программными средствами, без участия человека?

нет, киборгов мы пока не придумали, программы пока пишут люди
Цитата(GoldFinch @  9.10.2009,  20:25 Найти цитируемый пост)
Эквивалентны ли понятия

) да


M
GremlinProg
вобщем, инжект нужно как минимум обосновать, с точки зрения приведенной статьи, точка!



--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

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


 




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


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

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