Форум: "Потрепаться";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизКомпилятор-шифратор Найти похожие ветки
← →
Prohodil Mimo © (2005-12-17 17:01) [40]Юрий Зотов © (17.12.05 16:40) [37]
может они тоже развлекаются? :о)
← →
Zeqfreed © (2005-12-17 20:44) [41]Юрий Зотов © (17.12.05 16:40) [37]
В данном случае можно предположить, что это и не развод, хотя это, должно быть, ещё печальнее.
← →
DrPass © (2005-12-17 22:33) [42]Один мой товарищ (мы тогда еще школьниками были) тоже придумал крутой алгоритм архивации. Когда закончил писать и торжественно перед нами запустил, исходный файл увеличился в полтора раза :)
← →
Prohodil Mimo © (2005-12-17 22:38) [43]Zeqfreed © (17.12.05 20:44) [41]
ну если автору не более 17, то всё нормально :о)
К тому же раз он полез в биты и пытается что то придумать и сделать, это уже о чём то говорит.
Я сам в 18 лет подобной фигнёй страдал, ради любопытства, от нечего делать.
Другие бывает только кнопки и умеют кидать на форму, не знают что такое переменные, да ещё и корчат из себя неизвестно что.
← →
Palladin © (2005-12-17 22:40) [44]алгоритм сжатия - придумать не проблема, проблема: придумать алгоритм разжатия...
← →
Zeqfreed © (2005-12-17 23:00) [45]Prohodil Mimo © (17.12.05 22:38) [43]
Ну, я около полугода назад тоже интересовался данным вопросом. Но я, почему-то, для начала ознакомился с достаточным кол-вом информации и, после того как подумал пару дней, придя к выводу, что ничего нового и шокирующего не придумаю, начал ковыряться в уже разработанных и "отточенных" алгоритмах :)
Хотя, может быть, это я просто такой скучный? Как знать.
← →
Prohodil Mimo © (2005-12-17 23:09) [46]Zeqfreed © (17.12.05 23:00) [45]
иногда, что бы придумать что то новое, полезно ничего не знать о существующем, т.к. можешь начать думать именно так, как уже реализовано. А как придумал, можно и с существующими сравнить.
← →
Zeqfreed © (2005-12-17 23:25) [47]Prohodil Mimo © (17.12.05 23:09) [46]
Именно так и изобретаются велосипеды, причем часто гораздо хуже тех, что уже изобретены. Разве нет? :)
← →
Prohodil Mimo © (2005-12-17 23:40) [48]Zeqfreed © (17.12.05 23:25) [47]
в основном - да, но уверен, что не всегда.
← →
Юрий Зотов © (2005-12-17 23:49) [49]> Prohodil Mimo © (17.12.05 23:09) [46]
> иногда, что бы придумать что то новое, полезно ничего не знать о
> существующем, т.к. можешь начать думать именно так, как уже
> реализовано.
Это теория. Притом, умозрительная, высосанная из пальца. То есть, демагогия. Поскольку практикой она не подтверждается.
А подтверждается практикой всегда одно и тоже - чтобы изобрести что-то действительно новое и полезное, нужно знать уже существующее в мельчайших деталях. То есть, нужно быть специалистом.
Именно зная недостатки уже существующего и понимая, откуда и почему они берутся, специалист начинает думать, как от них избавиться - и в результате изобретает что-то новое и лучшее.
А идущие Вашим путем дилетанты изобретают давно известные велосипеды. В лучшем случае - с круглыми колесами (в силу того, что дилетанты не знают, что такие велосипеды давным-давно существуют), но обычно - с квадратными (в силу своей безграмотности).
← →
Palladin © (2005-12-18 00:09) [50]Юра, позволю себе несогласиться по поводу теории высосаной из пальца. Кто то все таки великолепные алгоритмические решения откуда то да высосал :)
> А идущие Вашим путем дилетанты изобретают давно известные
> велосипеды.
А кто изобрел сам по себе велосипед? :)
Конечно сейчас можно утверждать что около 85% "нового" студенческого есть избитое старое, но когда то имело место быть становление алгоритмистики... плюс гораздо (во много крат) полезней если парень сам "изобретет" "пузырек", а потом узнает что есть Кнут... чем ему расскажут что есть куча методов сортировки и он воспроизведет, но способность к созданию оригинальности будет сведена к минимуму...
← →
Кефир87 © (2005-12-18 00:39) [51]Не забуду своей радости, когда в 14 лет изобрел алгоритм сортировки
if M[i]>M[j] then поменять местами
. До сих пользуюсь, если что отсортировать хочу не думая об алгоритме. А пузырек не интересен ибо не я его изобрел 8)
← →
Юрий Зотов © (2005-12-18 00:52) [52]> Palladin © (18.12.05 00:09) [50]
> Кто то все таки великолепные алгоритмические решения откуда то да
> высосал
Певоначальные - математики. То есть, специалисты. Последующие - те, кто хорошо знали предыдущие. Тоже специалисты.
> А кто изобрел сам по себе велосипед?
Тот, кто приделал педали к переднему колесу трехколесной тележки. Прекрасно зная и саму коляску, и что такое "ворот".
> около 85% "нового" студенческого есть избитое старое
Батенька, да Вы оптимист. На пять девяток я бы еще, пожалуй согласился. Изобретатели - они вообще товар редкоштучный, а уж среди студентов - тем более.
> когда то имело место быть становление алгоритмистики
На основе математики. Первые алгоритмисты были математиками, это ни для кого не секрет (впрочем, и не первые - обычно тоже).
> полезней если парень сам "изобретет" "пузырек", а потом узнает что есть
> Кнут... чем ему расскажут что есть куча методов сортировки
Полезней, не спорю. Только этот парень, способный и талантливый, к тому времени запросто может превратиться в дедушку. Убив свою жизнь и свой талант на изобретение "пузырька". И так не принеся никому никакой пользы.
Книги - они для того и пишутся, чтобы люди не тратили свое время и свой талант на изобретение пузырьков. "Накопление знаний человечеством" это называется. Не будет такого накопления - прогресс встал. Каждое новое поколение будет снова открывать уже открытое предыдущими.
> способность к созданию оригинальности будет сведена к минимуму...
С таким же успехом я скажу: "наоборот, к максимуму". И это мнение не менее обосновано. Если не более. Поскольку человек, знающий "пузырек" и другие методы сортировки создавать их уже не будет. А будет создавать именно новый, оригинальный метод.
← →
Marser © (2005-12-18 01:28) [53]
> плюс гораздо (во много крат) полезней если парень сам "изобретет"
> "пузырек", а потом узнает что есть Кнут...
А зачем пузырёк? Я в своё время "изобрёл" сортировку выбором, а "пузырёк" всегда считал отстоем :-)
← →
TUser © (2005-12-18 09:12) [54]В далеком 93 году я прочитал в толстой книжке по турбо-паскалю, что pointer - указатель на любую информацию - занимает всегда 4 байта в памяти (или сколько там на ТР было :). И сел писать САМЫЙ КРУТОЙ архиватор. :))
← →
Anatoly Podgoretsky © (2005-12-18 12:06) [55]TUser © (18.12.05 09:12) [54]
То есть сел писать Указатель
← →
Суслик © (2005-12-18 13:01) [56]у актива (ищи guardant) есть шифратор, работающий без ключа.
судя по всему неплохой, т.к. иначе защиту легко бы ломали, а насколько я знаю она не самая легкая для взлома.
← →
Lamer@fools.ua © (2005-12-18 13:36) [57]>>TUser © (18.12.05 09:12) [54]
:-)
Надо было в эту ветку:
http://delphimaster.net/view/14-1134829873/
← →
Kerk © (2005-12-18 13:50) [58]Написал архиватор, сжимает любой файл до 10 байт. Сейчас пишу разархиватор. (с)
← →
MasterPaleva © (2005-12-18 17:45) [59]Эти проги, которые уменьшают размер программ... я так понимаю, они просто архивируют их, делают что то вроде самораспаковывающего архива. Вот они хорошо шифруют код.
Обычные делфиевские и сишные проги можно разобрать. Есть даже специальные разборщики для Делфи и для СИ. С их помощью можно серьезно изменять программы. Сам я этим не грешен, просто удалял компоненты интернет-сервер с некоторых программ (обезвреживал вирусы).
← →
ArtemESC © (2005-12-18 18:56) [60]>>Я хочу, чтобы он мог сжимать RAR -архивы процентов на 25...
А разработчики Rar-а не хотят?
← →
Uncle Archi © (2005-12-18 22:21) [61]Digitman © (17.12.05 15:40) [23]
>>Защиты от декомпиляции не было, нет и не будет.
Есть защита от трассировки. просто замеряется время выполнения какого-либо фрагмента. на нём и ловится трассировщик. если время будет больше обычно во много раз.
Если же вдруг окажется, что у пользователя медленный комп - не судьба. Есть ещё способы. по-моему у Фаронова описаны были, но этот первый пришёл в голову.
← →
Джо © (2005-12-18 22:22) [62]
> [61] Uncle Archi © (18.12.05 22:21)
А момент "замера", парод — никак вычислить не судьба?
← →
Джо © (2005-12-18 22:22) [63]
> [62] Джо © (18.12.05 22:22)
> парод
пардон.
← →
begin...end © (2005-12-18 22:23) [64]> Джо © (18.12.05 22:22) [63]
Помехи на радиорелейной линии? :-)
← →
Джо © (2005-12-18 22:29) [65]
> [64] begin...end © (18.12.05 22:23)
Похоже на то :)
← →
Uncle Archi © (2005-12-18 23:11) [66]Джо © (18.12.05 22:22) [62]
А момент "замера", парод — никак вычислить не судьба?
Я имею ввиду замеряется на среднестатистической машине.
К примеру ну не будет же вот такой код исполняться 15 секунд:
mov ax,6
mov bx,5
add ax,bx
← →
Uncle Archi © (2005-12-18 23:12) [67]Всмысле вставляется константой. тем более этот метод старый, а заметить его, не зная, что он есть, IМНО, не очень легко.
← →
Юрий Зотов © (2005-12-18 23:50) [68]> Uncle Archi
Отключается все, в том числе и этот код. Ну да ладно, дело даже не в нем. Допустим, обнаружили Вы трассировщик.
Дальше что?
← →
Джо © (2005-12-19 01:54) [69]
> [66] Uncle Archi © (18.12.05 23:11)
Я просто спрашиваю — как происходит тот самый "замер"? Уж не волшебными ли заклинаниями? А раз нет — то он все-таки производится каким-то тобой написанным кодом. А раз так — то и найти этот кусок кода и сделать с ним, что пожелается — нет абсолютно никаких препятствий.
← →
Uncle Archi © (2005-12-19 19:58) [70]Юрий Зотов © (18.12.05 23:50) [68]
Джо © (19.12.05 1:54) [69]
Я просто предложил простенькую защиту. она доставит немало хлопот тому, кто будет ломать. И не надо меня критиковать.
Дальше может просто следовать int 20h .
← →
Lamer@fools.ua © (2005-12-19 20:10) [71]>Дальше может просто следовать int 20h .
В Ring 3? Ну-ну.
← →
Юрий Зотов © (2005-12-19 20:28) [72]> Uncle Archi © (19.12.05 19:58) [70]
Вот это самое int 20h (или еще какое-то действие) и будет обнаружено. За него можно зацепиться, а дальше - обратная раскрутка. Дело техники.
← →
Uncle Archi © (2005-12-19 20:33) [73]Юрий Зотов © (19.12.05 20:28) [72]
Всё, сдаюсь. я не знал, что нарвусь на хакеров )
← →
Kerk © (2005-12-19 20:44) [74]Юрий Зотов © (19.12.05 20:28) [72]
Вот это самое int 20h (или еще какое-то действие) и будет обнаружено. За него можно зацепиться, а дальше - обратная раскрутка. Дело техники.; тест на трасировку
; если не прошел тоjmp end_of_prog
; сама программаend_of_prog:
int 20h
Раскручивайте.
← →
Uncle Archi © (2005-12-19 20:55) [75]Kerk © (19.12.05 20:44) [74]
Спасибо за поддержку.
← →
Юрий Зотов © (2005-12-20 00:17) [76]Браво, Роман, проблема создания невзламываемой защиты решена. Хакер нипочем не сообразит, что программа не всегда исполняется линейно. Причем особенно трудно ему будет сообразить, что именно в коде всяких там проверок как раз и должны быть всякие там переходы.
А если даже случайно и сообразит, то код перехода по известному адресу нипочем не найдет. Да ведь у него и никаких средств для этого нет, а вручную он замучается искать, верно?
А если даже случайно и найдет, то нипочем не догадается посмотреть, что находится перед этим переходом. А если даже и догадается, то уж точно не сможет, например, просто заменить его на NOP.
PS
Вообще-то, программист мог бы и сам сообразить, что такое "обратная раскрутка". Что это не просто тупой просмотр кода в обратном направлении.
PPS
Рома, загляни сюда:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1046
Это материал для начинающих программистов. Для начинающих, Рома, обрати внимание. Там внизу есть домашнее задание - взломать именно то, что ты и написал. Так вот, Рома, начинающие программисты, в том числе чуть ли не дети, вполне реально и вполне успешно выполняли это задание. Не будучи никакими хакерами, не имея никакого опыта взлома и не пользуясь никаким хакерским софтом.
PPPS
С трудом сдержался.
:o)
← →
КаПиБаРа © (2005-12-20 08:43) [77]Вариант плохо взламываемой защиты
Делаем компилятор с такими функциями:
В программе для внутрених функций и процедур не используется Call, а используется переход по адресу из регистра. Любой адрес перехода есть функция (от предыдущего адреса перехода, значений памяти в области некоторых предыдущих переходов или из области кода защиты, и какой то константы).
Что бы взломать такую программу нужно пройти каждый джамп под отладчиком вычислить адрес перехода ну и заменить соответственно.
Хотя возможно есть более простой способ :)
← →
Kerk © (2005-12-20 13:09) [78]Юрий Зотов © (20.12.05 0:17) [76]
А если даже случайно и сообразит, то код перехода по известному адресу нипочем не найдет.mov eax, offset end_of_prog-1
inc eax
jmp eax
Ищите переход по известному адресу. Можете начинать.
Код в [74] условный. Программист мог бы и понять. Вместо, непосредственно, перехода, можно, например, делать SetEvent, а этого Event"а ждать в другом потоке, который и сделаетjmp end_of_prog
или что-то другое, что нам надо. Вариант с SetEvent интереснее, т.к. вмешиваться в синхронизацию потоков неизвестной программы - дело не для слабонервных.
Хотя не понимаю зачем нужно определение трассировки, если есть что определять, значит тебя уже трассируют - проигрышная стратегия. Хотя как один из рубежей защиты сойдет.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.013 c