ПредишенСледващото

Само не се изгради илюзии, защита, които не могат да хакнат все още не е в състояние да пиша, дори една компания с огромен бюджет и персонал от професионалисти в областта. Ето защо, ако напиша нещо полезно, той все още е хакнат, единственият въпрос е колко време ще отнеме. Както се казва, ако не и на крак, така че тя не използва само един, или почти никой (броят на потребителите в този случай съвпада с броя на хората, които са ви платили за регистрация) за вашия Shareware-програма.

За да започнете, запомнете няколко основни принципа:

- не да привлече вниманието към защита на ядрото. че не е необходимо да се покаже на всички видове глупави послания като "Благодаря ви, че се регистрирахте" или "Невалидна парола", това е много по-лесно хакване, особено ако имате ги показва веднага след проверка на данните за регистрацията, най-добрият вариант ще бъде отложено за регистрация, т.е. не се покажат данните за регистрацията незабавно след въвеждането на, просто не забравяйте неутралната си и донесе съобщение като "За да завършите регистрацията изисква рестартиране на програмата / рестартирате компютъра си.". Правилността на регистрацията се проверява при затваряне (OnCloseQuery), или когато отворите програмата (OnShow), ако данните са верни, тогава просто спаси записва държавата като това е - е друг въпрос. Например, можете да създадете файл с криптирана информация за регистрация, както го прави DrWeb или да създадете една дузина ключове в регистъра, както и комбинацията от стойностите на някои от тях ще съответства на регистриран държавата и ценностите на другите ще са случайни. Един от ключовите е недостатъчно, тъй като е лесно да се намери (например, като се използва RegMon полезност) и се превръща в желаното състояние.

- Не се сравни пароли, това ще опрости писането на търсени. Вместо това, трябва да се сравни тяхната хашиш, получена с помощта на някои необратими алгоритъм за криптиране (MD5, SHA1 и т.н.). Ако решите да направите хеш на паролата за влизане, не забравяйте да използвате криптиране поне няколко пъти, докато в същото време изпълни произволен операция (XOR, циклична смяна, нарязани, на мястото на поднизове и т.н.) над линията на текущата хеш, също не боли да се направи пароли се свързват с датата, на която те са актуални във времето.

- използвате EXE-опаковчици и протектори. В допълнение към намаляване на размера на изпълнимия файл Пакърс даде допълнителен бонус към вашата система за защита, като крекинг, преди да преминат към напукване, трябва да разопаковате своя програма, така че се опитват да използват опаковки, за които интернет няма автоматична unpacker вече ще изплаши много бисквити. Но не се заблуждавайте, той няма да ви даде гаранция срещу кражба с взлом, като опаковчик добавя файл и разопаковане, че преди да бъде изпълнена програмата може да се декомпресира в паметта, ето го и може да отнеме toplenkoy и беззащитен, ще възстанови само масата за внос, например, с помощта на внос реконструктор. По-добра защита ще протектори, като броненосец, защитата им е много трудно да се премахне.

Сега да разгледаме как да проникна в програмата, ако смятате, че хакерство се извършва само чрез силата на мисълта и ръчно EXE редактиране в тетрадка, това е фундаментално погрешно. Използва се да се справи с цяла армия от специални инструменти:

Декомпилатор частично или напълно пресъздават програмата на език на високо ниво, като се използват само изпълнимия файл. съществуват декомпилатор за различни компилатори: Delphi. NET, VB, Java и т.н. В момента се интересуват от Делфи (за C ++ Builder ще бъде същата), има две Decompiler за него: Деде и exe2dpr.

Защита срещу Decompiler ако бедняк вече отстранени опаковчици и протектори, практически е невъзможно, така че във всеки случай, не поставяйте проверки на данните за регистрацията в OnClick манипулатор на самия бутон ОК, което потвърждава своя принос - е началото на края на своя защита, не забравяйте това! Но не е толкова страшно, декомпилиране на програми, написани на Delphi е частичен, така че това не е достатъчно, за да се справи след това е необходимо да се използва
Disassembler и / или корекция на грешки. Радикално средство за декомпилатор е да се пишат програми в Visual C ++, за него, доколкото е Decompiler аз не бях там (въпреки че има подписи за IDA, които ще дадат възможност да се идентифицират всички библиотечни функции).

Debugger позволява стъпка по линия на програмата, така че те могат да се отърват от време на работа, когато стартирате програмата трябва да се обадите шифрован функция, която ще прекрати процесите на най-популярните дебъгерите, ако те се изпълняват. И тъй като Повечето дебъгерите позволява отстраняване на грешки вече се изпълнява програма, можете да се обадите в една и съща функция и да се провери на детайлите по регистрацията.

Най-популярните дебъгерите са OllyDbg, дебъгер, вградена в IDA и SoftICE. Първите две са дебъгерите потребителско ниво, така че за прост защита просто прекъсват своите процеси: OllyDbg.exe, idag.exe, idag64.exe. Това може да стане, например, такава функция:

За да спрете SoftICE, ако той работи като услуга (най-често се случва), е необходимо да се изпълни команда черупки нетна спирка ntice, като този:

Сега вече знаете основните принципи на хакерство и защита, така че можете да започнете да пишете на защитата, което ще направи пробив и в програмата ви дълъг и вълнуващ опит за крекинг.

Написано от: Romul известен още като Смирнов Роман

Свързани статии

Подкрепете проекта - споделете линка, благодаря!