Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Вниз

Оптимизация и/или защита DLL   Найти похожие ветки 

 
Хинт ©   (2005-12-15 14:53) [0]

Имеется DLL. Я изменил в ней несколько байт и хочу, чтобы конечный пользователь не мог определить, что именно изменилось. Как это реализовать, при этом сохранив работоспособность библиотеки? При чем вариант "просто запаковать" не подходит, так как в этом случае можно сделать и сравнить дампы памяти.


 
Reindeer Moss Eater ©   (2005-12-15 14:56) [1]

Конечный пользователь всегда сможет определить что изменилось


 
PVOzerski ©   (2005-12-15 15:03) [2]

Мдя... Дык это надо у пользователя постирать все программы, способные сравнивать файлы, начиная с fc :)


 
Хинт ©   (2005-12-15 15:04) [3]

Сможет то всегда, только как максимально усложнить ему задачу? Чтобы простого comp не было достаточно...
К примеру я меняю в DLL всего один байт. Есть ли программа, прогнав через которую, DLL сильно преобразится (при чем не только ввиде файла на диске, но и при отображении в АП)?


 
Yar_Guest   (2005-12-15 15:04) [4]

Может я не прав, но очень подозрительно это смахивает на подмену системных dll, чтобы винда не определила и не восстановила, IMHO.


 
Digitman ©   (2005-12-15 15:07) [5]


> Хинт ©   (15.12.05 15:04) [3]



> Чтобы простого comp не было достаточно...


его всегда будет достаточно


 
Хинт ©   (2005-12-15 15:12) [6]

Я не правильно сформилировал вопрос?
Я меняю один байт. Пользователь делает Comp, находит смещение измененного байта, открывает файл какой-нибудь IDA"ой и смотрим в чем сущность поправки. Как этого избежать, максимально запутав человека, который будет в этом копаться?

2Digitman
Если дописать к файлу один байт, то Comp уже ничего не сделает.


 
AlexKniga ©   (2005-12-15 15:26) [7]

Хинт ©   (15.12.05 15:12) [6]
Не тем Comp"ом пользуешься.
Есть куча сравниловок бинарных файлов разной длины, в том числе, и полученных удалением байта из середины файла.


 
Digitman ©   (2005-12-15 15:38) [8]


> Как этого избежать


никак.

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


 
Хинт ©   (2005-12-15 15:40) [9]

Я имел ввиду стандартный comp, входящий в дистрибутив Windows =)

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


 
Reindeer Moss Eater ©   (2005-12-15 15:43) [10]

1.что ведет за собой глобальное изменение файла... как раз то, что мне надо.

2.При чем вариант "просто запаковать" не подходит, так как в этом случае можно сделать и сравнить дампы памяти.

Ты говоришь прямо противоположные вещи в одной и той же ветке.


 
Хинт ©   (2005-12-15 15:46) [11]

В [9] я имел ввиду, что программа не просто пакует файл, как, к примеру, UPX (если запаковать которым библиотека в АП приложения будет выглядить идентично не запакованной), а... что делает не знаю =) Размер файла изменяется по минимому. Или таких не бывает и я что-то напутал?


 
Reindeer Moss Eater ©   (2005-12-15 15:48) [12]

какая разница, напутал или нет.

Ты говоришь прямо противоположные вещи в одной и той же ветке.


 
Reindeer Moss Eater ©   (2005-12-15 15:53) [13]

2.При чем вариант "просто запаковать" не подходит, так как в этом случае можно сделать и сравнить дампы памяти.

А что такое "сделать дампы"?
Допустим у меня есть файл.
Что значит "сделать дамп"?
Что в результате должно появиться и каким образом это может влиять на то, что метод может быть неподходящим?


 
Хинт ©   (2005-12-15 16:08) [14]

Где я сказал противоположные вещи?

Дамп?
Имеется ввиду запустить приложение, использующее эту dll, запустить WinHEX (или программу наподобии), открыть Primary Memory и сохранить. Разве под "дампом" подразумевают что-то другое?


 
Mystic ©   (2005-12-15 16:10) [15]

Поменяй порядок следования секций... Этого будет достаточно?


 
Reindeer Moss Eater ©   (2005-12-15 16:12) [16]

Где я сказал противоположные вещи?

Ты сказал, что глобальное изменение файла тебе подойтет и сказал, что если можно сделать дамп и сравнить то это тебе не подойдет.


 
Reindeer Moss Eater ©   (2005-12-15 16:14) [17]

Имеется ввиду запустить приложение, использующее эту dll, запустить WinHEX (или программу наподобии), открыть Primary Memory и сохранить.

Так как это возможно всегда, то тебе ни один из вариантов не подойдет.


 
Хинт ©   (2005-12-15 16:32) [18]

2Mystic
Может быть как раз это мне и надо. Как это можно сделать?

2Reindeer Moss Eater
Вот я как раз и спрашиваю, если ли программа, которая не только изменит файл, то и после её обработки, библиотека будет по-другому отображена в АП приложения при полной работоспособности?


 
Reindeer Moss Eater ©   (2005-12-15 16:33) [19]

Вот я как раз и спрашиваю, если ли программа, которая не только изменит файл, то и после её обработки, библиотека будет по-другому отображена в АП приложения при полной работоспособности?

<Цитата>

Какая разница, если ты сказал, что тебе безусловно не подходит вариант, если есть возможность сравнить дампы?


 
Хинт ©   (2005-12-15 16:36) [20]

В каком посте я это написал?


 
Reindeer Moss Eater ©   (2005-12-15 16:41) [21]

Щас я все брошу и начну искать где ты это написал.


 
Reindeer Moss Eater ©   (2005-12-15 16:42) [22]

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


 
Хинт ©   (2005-12-15 16:45) [23]

Имелось ввиду "сравнить дампы и найти измененный байт"...

В итоге ветка сводится к тому, что меня пытаются подловить на неправильных формулировках... софистика.


 
Digitman ©   (2005-12-15 16:46) [24]


> Хинт


еще раз, если ты не понял с N-го раза - если ты любым образом изменил содержимое файла, то обнаружить эти изменения НЕ составляет труда ПРИ любых ухищрениях


 
Mystic ©   (2005-12-15 16:47) [25]

> Может быть как раз это мне и надо. Как это можно сделать?

Написать соответствующую программу. Информации о структуре PE файла более чем достаточно.


 
Reindeer Moss Eater ©   (2005-12-15 16:47) [26]

Имелось ввиду "сравнить дампы и найти измененный байт"...

В ответах имелось ввиду что у тебя ничего не выйдет в любом случае.


 
Mystic ©   (2005-12-15 16:51) [27]


> еще раз, если ты не понял с N-го раза - если ты любым образом
> изменил содержимое файла, то обнаружить эти изменения НЕ
> составляет труда ПРИ любых ухищрениях


Как я понял, тут немного другая задача. Надо изменить файл, но чтобы никаких последствий это не вызвало.


 
Reindeer Moss Eater ©   (2005-12-15 16:53) [28]

Какая тут стоит задача не знает сам автор ветки


 
Хинт ©   (2005-12-15 16:58) [29]

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

Решение: это сделать нереально, и пользователь в любом случае найдет где, что и зачем были изменено.

Все спасибо за ответы.


 
Хинт ©   (2005-12-15 16:59) [30]

Хех. Куча ошибок =) Жалко, что нельзя редактировать свои посты.


 
Kerk ©   (2005-12-15 20:19) [31]

Прячешь трояна от антивируса?


 
Kerk ©   (2005-12-15 20:21) [32]

Добавь в конец маленькую секцию. Там напиши простенький xor-цикл по секции кода. Entrypoint DLLки поставь на новую секцию. Ну и старый не забудь запомнить.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.008 c
11-1116305139
uli
2005-05-17 08:45
2006.01.08
Сворачивание вторичной формы на панель задач


3-1131972079
Карелин Артем
2005-11-14 15:41
2006.01.08
Двойная запись ошибки в журнал системы. Нормально ли это?


8-1122992576
Mr.F
2005-08-02 18:22
2006.01.08
3DMAX==>Delphi


14-1134363176
АлексейК
2005-12-12 07:52
2006.01.08
Лама Итигелов


14-1134370442
wal
2005-12-12 09:54
2006.01.08
Как в России любят слуг народа.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский