Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Оптимизация и/или защита 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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.025 c
2-1134909472
з. танька
2005-12-18 15:37
2006.01.08
выгрузить картинку из имаги


2-1134833592
dude
2005-12-17 18:33
2006.01.08
что в Delphi называется словом ?


3-1131981734
remlin
2005-11-14 18:22
2006.01.08
Окно Data Link Properties


2-1134912561
Мадик777
2005-12-18 16:29
2006.01.08
Опять SQL


14-1134557299
vecna
2005-12-14 13:48
2006.01.08
про Delphi2006