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

Вниз

Нестандартная работа с dll   Найти похожие ветки 

 
Frozzen   (2004-12-06 11:12) [40]

заплатка подразумевает вызов подобной функции?


 
Digitman ©   (2004-12-06 11:14) [41]


> Frozzen   (06.12.04 11:06) [35]


> допустим мы имеем зашифрованную функцию, которая выполняет
> какую-нибудь ключевую операцию и проверку на верность ид-машины.


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

спрашивается, кто и что будет этим заниматься ? опять же какая-то ф-ция !

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


 
DiamondShark ©   (2004-12-06 11:14) [42]


> заплатка подразумевает вызов подобной функции?

Зачем?
Ведь после вызова идёт оценка результата, так?
Ну так и обходим просто все проверки (вместе с вызовом) и всё.


 
Frozzen   (2004-12-06 11:21) [43]

нет не так
эта функция допустим считывает дынные и выполняет вычисление какое-нибуть


 
Frozzen   (2004-12-06 11:22) [44]

проверки нет


 
Digitman ©   (2004-12-06 11:29) [45]


> функция допустим считывает дынные и выполняет вычисление
> какое-нибуть


но ведь рез-т вычислений она куда-то сохраняет ?
да и если уж это ф-ция, значит, она возвращает некий рез-т. который где-то впоследствии анализируется ?


 
DiamondShark ©   (2004-12-06 11:33) [46]

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

Сразу же было сказано: такой метод не имеет смысла без защиты от отладчика.


 
Frozzen   (2004-12-06 11:34) [47]

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


 
DiamondShark ©   (2004-12-06 11:39) [48]

Зачем половину?
Только декодер. Запатчить то место, где собирается машинно-зависимая инфа.


 
Digitman ©   (2004-12-06 11:42) [49]


> Frozzen


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


 
Frozzen   (2004-12-06 11:48) [50]

дешифровать он ее сможет имея компьютер на котором эта прога стоит или имея данные о этом компьютере


 
Frozzen   (2004-12-06 11:52) [51]

но с этим то он больше помучается, чем с обычной проверкой


 
DiamondShark ©   (2004-12-06 11:56) [52]


> Frozzen   (06.12.04 11:48) [50]
> дешифровать он ее сможет имея компьютер на котором эта прога
> стоит или имея данные о этом компьютере

А как по-твоему работают крякеры? Так и делают: есть одна рабочая легальная копия, которая на месте же и крячится.


 
Frozzen   (2004-12-06 11:57) [53]

все свелось к обсуждению целесообразности


 
Digitman ©   (2004-12-06 11:58) [54]


> Frozzen   (06.12.04 11:48) [50]


шифрованное тело этой ф-ции у тебя формируется в момент "привязки" программы к "легальному" компьютеру ? так ?


 
Frozzen   (2004-12-06 11:58) [55]

а как это сделать я так и не понял


 
Frozzen   (2004-12-06 11:59) [56]

нет его формирует "хозяин" программы


 
Digitman ©   (2004-12-06 12:02) [57]


> Frozzen   (06.12.04 11:58) [55]


что сделать-то ?

выделить память ? или что ?


 
Digitman ©   (2004-12-06 12:05) [58]


> его формирует "хозяин" программы


т.е. тот кто приобрел твое ПО легально ? и какими же средствами ?


 
Frozzen   (2004-12-06 12:06) [59]

выдилил, расшифровал, как потом выполнить вызов функции


 
Digitman ©   (2004-12-06 12:08) [60]


> Frozzen   (06.12.04 12:06) [59]



> как потом выполнить вызов функции


обычным образом


 
Frozzen   (2004-12-06 12:23) [61]

как так обычным
мне нужно будет подменить указатель на функцию? Или как


 
Digitman ©   (2004-12-06 14:46) [62]


> Frozzen   (06.12.04 12:23) [61]


я не знаю, что ты подразумеваешь под "указатель на функцию" и под его "подменой"


 
Frozzen   (2004-12-06 17:00) [63]

Я же спросил как мне это сделать???


 
Frozzen   (2004-12-06 17:04) [64]

Как так просто вызывай.
У меня буде область памяти, в которой будет лежать код функции.


 
Frozzen   (2004-12-06 17:11) [65]

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



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

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.025 c
3-1101194416
Tomkat
2004-11-23 10:20
2004.12.19
Ремонт базы IB


1-1102310570
SeZuka
2004-12-06 08:22
2004.12.19
Создание/изменение файла


14-1101575891
OneFragLeft
2004-11-27 20:18
2004.12.19
Отправка дисков по почте.


3-1101122095
vovik
2004-11-22 14:14
2004.12.19
dBase & ADO


4-1099471291
Фагот
2004-11-03 11:41
2004.12.19
Автозапуск