![]() |
сложнопонимаемый алгоритм
есть задача: написать простую программу так, чтоб при ковырянии в ней было ооочень сложно понять, что она делает.
например, ксорка. если её записать в обычном своем виде, то мы запросто увидим, что она и как делает (это ж просто цикл!). если вытворять хитрости с кодом, типа, скажем, чтоб прыгала с адреса на адрес (используя стек), то это тоже не эффективно: достаточно посидеть и можно понять, что делается. это не обязательно ксорка, это может быть любой алгоритм... главное, чтоб было оочень трудно понять, как он работает. мне на ум приходит только создание виртуального процессора, со своей системой команд и его эмуляция. но и даже тогда, разобрав ядро, можно будет составить перечень команд и уже легко понять алгоритмы (пример - спековский калькулятор в пзу.. дизасмом ниче не увидишь, но зная команды можно разобраться (хоть и отн. долго)). может, кто-нить знает, как можно еще затруднить чтение алгоритма? может, 2 виртуальных процессора?;) |
А для чего такие извраты?
Все равно крекнут :v2_wink2: (если надо будет) |
достаточно просто:
пишешь свой ассемблер, который каждую комманду может отассемблировать в разных вариациях. допустим: LD HL,100 Code:
PUSH DEтормозить будет и объём кода вырастет, но разбираться в нём надо будет ооочень долго ;) |
Quote:
|
Quote:
|
Quote:
Хотя зачем крекать, если сейчас в любом эмуляторе программу останови и все готово. |
Помнится еще в школе написал програмку типа хитрого скроллера, фишка была в оптимизации по памяти, т.е. требовалось запихать в минимальный объем, в качестве оптимайзера были применены куча условных и безусловных переходов. Когда друган сел разбирать ее "на запчасти" чтобы посмотреть как это работает, черз день выдал фразу: "работать недолжно, ибо бред, но РАБОТАЕТ"... ;)
О какой либо защите я тогда даже не задумывался... |
Не тратьте время на ерунду. Время, когда на Спектруме можно было защитить программу было и ушло. Более менее надёжный вариант защиты кода программы, это использование аппаратного ключа типа тех, что вставляют в LPT на IBMках. Но и здесь найдутся умельцы, правда уже в меньшем количестве, которые его взломают.
Кстати, а что защищать-то собрался? Объект-то хоть стоящий? |
Quote:
|
Пишешь свой ассемблер... Для таких извратов существуют МАКРОСЫ и DEFINE's. В нормальных ассемблерах, по крайней мере.
|
| All times are GMT +4. The time now is 21:35. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.