Как да изберем код за активиране. Лицензионният ключ за програмата или играта. Физически хакване на програмата

Различни генератори (пароли, псевдоними, произволни числа и кодове) са много популярни, тъй като се използват широко от публични администратори, собственици на организации и обикновени потребители за различни цели.

Генератор на промо кодове- специфична услуга, която може да се използва от собствениците на организации и търговски предприятия за провеждане на промоции и лотарии.

Например, могат да се предоставят отстъпки според промоционалния код, сертификатите за подарък могат да бъдат валидни в магазините, за други услуги могат да се използват за предоставяне на достъп до по-широк набор от услуги.

Избор

За тези потребители, които често използват промоционален код, е важно да намерят функционален и удобен генератор, който отговаря на всички изисквания.

Такива услуги се реализират както под формата на приложения за социални мрежи (което е особено удобно при провеждане на промоции сред публични абонати, например), така и онлайн и под формата на програми, инсталирани на компютър (което в повечето случаи е напълно неудобно) .

Те се различават по настройки и списък с функции.

Правилно избраният генератор може значително да опрости процеса на организиране на промоции и специални оферти, както и тегления.

Основни характеристики

Всички популярни (и не толкова) генератори се различават един от друг по редица параметри.

Сред тях са такива индикатори като броя на символите в кода, наличието на префикс и постфикс (което опростява класификацията и разделянето на кодовете в групи), използвани в и др.

Освен това различните услуги предлагат различен брой кодове за едновременно (натискане на един бутон) генериране.

Основните технически характеристики на услугите, разгледани по-долу, са показани в таблицата.

маса 1 . Сравнителни характеристики на различни услуги за генериране на промоционални кодове
имеРазрешителноПрефикс, постфиксИзбор на използваните символиИзбиране на броя на знацитеБързо генериране на множество кодове
GetEasyCode.ruShareware, платен удължендададада
На случаен принципБезплатноНедадада
TakeTheCodeБезплатноСамо префиксдадада
академияБезплатноНеНеНеНе
Генератор ukrbio.comБезплатноНеОграничендада
Студио F1БезплатноНеОграничендада
InglobalБезплатноСамо префиксОграничендада

Въз основа на тези характеристики е по-лесно да направите правилния избор.

GetEasyCode.ru

Това е солиден и бързо зареждащ се едностраничен сайт с генератор, който е бърз и стабилен.

Почти винаги е наличен.

Основната отличителна черта на услугата- максимална функционалност и висока скорост на работа.

Менюто е просто и интуитивно, дизайнът е приятен и не отвлича вниманието от робите.

  • Позволява ви да създадете префикс и постфикс;
  • Можете да генерирате няколко кода наведнъж (от 1 до 100 броя);
  • Потребителят сам може да избере кои символи да използва в кода.
  • Неудобно превключване на броя на кодовете;
  • Платена провизия от 100 до 999 кода - цената е 299 рубли (към момента на писане);
  • Платена провизия от 1000 кода - цената е 999 рубли (също към момента на писане);
  • Необходимо е постоянно да натискате бутона "Аз не съм робот".

Това казват потребителите, които вече са използвали този генератор: "Удобна, многофункционална услуга", "Доста високи цени за генериране", "Удобно е да се използва този генератор - използвам само него."

На случаен принцип

Този сайт е предназначен да генерира на случаен принцип различни пароли, промо кодове, номера и т.н.

Той е многофункционален и удобен за тези, които провеждат различни тегления или използват много пароли.

Този генератор е позициониран като първокласна услуга за онлайн магазини.

Не е най-лесният за използване, но е наистина богата на функции и безплатна услуга.

Основната характеристика на услугата е наличието на така наречения "индивидуален" режим на изграждане на кода.

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

  • Възможност за регистриране на префикс;
  • Възможност за ръчно регистриране на използвани символи;
  • Наличие на "индивидуален" режим на настройки за генериране;
  • Можете да генерирате до 10 милиона кода и да ги изтеглите в един или друг формат;
  • Индикация за вероятността от избор за кодове от различни типове.
  • Невъзможност за предписване на постфикс;
  • Ограничен брой знаци (от 4 до 16);
  • Генерират се най-малко 1000 кода.

Потребителите казват за услугата по следния начин: "Удобно е, че можете да генерирате много кодове наведнъж", Не. Менюто не е много удобно."

академия

Този генератор е достъпен за използване на връзката https://academy.ru/personal/promo-gen/.

Това е многофункционален сайт, сред многото му функции има, наред с други неща, генератор на промо код.

Доста сложен дизайн и много страници водят до факта, че услугата отнема много време за зареждане.

Важно е да се разбере, че този сайт не е специализиран генератор. Може да помогне за еднократно поколение.

Но не може да се използва в масов мащаб.

  • Бързо генериране без излишни настройки;
  • Удобно копиране на код с натискане на един бутон;
  • Готова база данни с неизползвани промоционални кодове.
  • Много малък брой функции - не можете да изберете броя или броя на генерираните кодове по едно и също време и т.н.;
  • Не можете да пишете префикс или постфикс, дизайнът на кода също се избира от системата по подразбиране;
  • На страницата има много различни връзки и дизайнерски усложнения, което прави работата не толкова лесна.

Потребителите казват за генератора по следния начин: „Може да е добре да получите един промо код, но как да го използвате по-широко не е ясно“, „Много неудобно и малко функции“.

Генератор ukrbio.com

Това е генератор на една страница с просто меню и интуитивен интерфейс.

Има прост и приятен дизайн, който кара страницата да се зарежда бързо.

Услугата работи стабилно и предоставя достатъчен набор от функции.

Тази услуга ви позволява да генерирате комбинации само от числа, само от букви, смесени, включително или.

Можете също да регулирате главния и регистър на буквите и да показвате всички кодове в един или друг формат.

  • Опростено меню и минималистичен дизайн на страницата на уебсайта;
  • Безплатно създаване на много голям брой кодове (от 1 до 9999 броя);
  • Достатъчно възможности за персонализиране на формата и външния вид на бъдещите кодове.
  • <Рис. 8 Studio F1>

    Тази многофункционална услуга за генериране е достъпна на https://studiof1.ru/blog/developing/passgen/.

    Сайтът е многофункционален ресурс с услуги за популяризиране на уебсайт и др.

    Ресурсът има доста прост дизайн и е удобно да се използва в случаите, когато потребителят, в допълнение към промоции, провежда лотарии и други събития, за да привлече аудитория.

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

    В крайна сметка тази услуга ви позволява да използвате почти всички същите настройки, които генераторът на промо кодове предлага.

    • Възможност за избор на дължината на паролата и нейния състав (малки и главни букви, цифри, знаци);
    • Възможност за генериране на няколко пароли наведнъж;
    • На този сайт "под ръка" има много помощни, често необходими функции.
    • Невъзможност за задаване на префикс и постфикс;
    • Не е възможно да се ограничават или избират използваните символи;
    • Всички кодове са написани с една дума без интервали и имат приблизително еднакъв вид, не могат да бъдат изтеглени - просто се копират като обикновен текст, което е неудобно, като се има предвид голям брой от тях.

Когато познаете парола, никой не гарантира успеха на това предприятие). Има обаче някои правила, които могат значително да увеличат шансовете ви за благоприятен изход в този случай.

Откъде да започна

  1. Често се изисква не само парола, но и вход. Ако се опитвате да намерите вход, например, за да влезете в компютъра на вашия колега, използвайте неговото име. Ако не пасва, вижте как този човек нарича себе си в социалните мрежи (Twitter, Facebook, Vkontakte и т.н.) - често работи на 100%.
  2. Вижте дали има ограничения за дължината на въведената парола или използваните знаци. Често паролата трябва да е дълга поне шест знака и да съдържа поне едно число. Ако не знаете дали има такива ограничения, опитайте да създадете свой собствен акаунт, например на уебсайт, чиято парола отгатвате - при регистрация ще ви бъде казано за изискванията за парола.
  3. Заявете въпрос за подсказка. Често пъти страниците за въвеждане на парола имат тази функция. Като правило въпроси като "Моминското име на майката?", "Как се казва вашият домашен любимец?", "В кой град сте родени?" и т. н. Това значително ще стесни възможните варианти на думи, особено ако знаете поне нещо за даден човек!

Използвайте трикове

  1. Просто познайте паролата... По-често хората използват едни и същи пароли по подразбиране. Техният списък е известен отдавна и непрекъснато се увеличава). По-долу ще намерите 25-те най-често срещани пароли (според Splash Data):
    парола
    123456
    12345678
    abc123
    qwerty
    маймуна
    Пусни ме вътре
    дракон
    111111
    бейзбол
    обичам те
    доверително1
    1234567
    слънчева светлина
    майстор
    123123
    добре дошли
    сянка
    ашли
    футбол
    Исус
    Майкъл
    нинджа
    мустанг
    парола 1

    И ето малко статистика:
    4,7% от потребителите използват парола парола;
    8,5% от потребителите избират една от двете опции: парола или 123456;
    9,8% от потребителите избират една от трите опции: парола, 123456 или 12345678;
    14% от потребителите избират една от 10-те най-популярни пароли;
    40% от потребителите избират една от 100-те най-популярни пароли;
    79% от потребителите избират една от 500-те най-популярни пароли;
    91% от потребителите избират една от 1000-те най-популярни пароли.

  2. Прилагане на известни правила за съвпадение... Експериментално е установено, че ако паролата съдържа цифри, то тя ще бъде цифрата 1 или 2 и ще бъде в края й. Също така, ако паролата има главна буква, тогава тя ще бъде в самото начало на думата, последвана от гласна.
  3. Полът на човек може да даде улика... Известно е, че жените предпочитат да използват лични имена като пароли (името на своя съпруг или любовник), а мъжете предпочитат своите хобита и интереси (името на любимия си спортен отбор, марка автомобил и др.).

Използвайте информация, която е специфична за човека

  1. Собствени имена: имената на съпрузи, членове на семейството, домашни любимци, спортисти, прякори на деца и др.
  2. Хобита и интереси: имената на любимите ви програми, филмови герои, професии, кулинарни ястия и др.
  3. Важни числа и дати: рожден ден, адрес, телефонен номер и др.

Отказ от отговорност: Всичко по-долу е написано единствено за образователни и изследователски цели, както и за разбиране на механизмите за защита срещу хакерство. Авторът по никакъв начин не препоръчва използването на тази информация за хакване на програми.

В тази статия искам да говоря за три и половина основни начина за хакване на .NET програми, като целта, която преследвам е да помогна на разработчиците да разберат по-добре механизмите за защита на техните програми, т.е. откриете най-очевидните заплахи и предприемете съответните действия (или не предприемете).

Няма да навлизам в подробности и да използвам сложни хакерски инструменти. Всичко ще е насрочено "за манекени", т.е. всички инструменти ще бъдат прости, лесно достъпни и безплатни. И основният ще бъде Reflector, декомпилатор на програми за .NET

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


Като начало, кратка образователна програма за структурата на .NET програма, за тези, които не са запознати с разработката за тази рамка: целият код, написан на всеки .NET език (C #, Visual Basic, F #, Delphi.NET ) се компилира на специален междинен език, обикновено наричан IL или MSIL. Това е нещо като асемблер, само че е много умен и има много мощни инструкции. И това по принцип е същият равен език като C #, само че синтаксисът е по-лош (и повече възможности). Освен това метаданните се използват активно в .NET програма, т.е. цялата информация за класове, метод, свойства, атрибути и всичко останало се съхранява в изпълнимия файл.
Тези. всъщност декомпилирането на програма не е много правилна концепция в този случай. Всичко вече е в отворена форма, а инструментите под формата на Reflector "но се занимават с преобразуване на MSIL конструкции в съответните конструкции на C # или друг език, увеличавайки четливостта на кода.

Да преминем към хакването.

0. Нулиране на пробната версия

Всъщност това дори не е хак, а полулегален начин за удължаване на живота на неактивирана програма. Състои се във факта, че има място, където датата на първото стартиране се съхранява и променя / унищожава. След това можете да използвате програмата до следващия път.

Нека да разгледаме нашия експеримент с рефлектор:
След малко разходка из кода, намираме интересен ред в конструктора на MainForm


Отворете редактора на системния регистър, отидете на HKEY_CURRENT_USER \ Software \ Ultrapico \ Expresso и вижте следните ключове:


Изтриваме ги и получаваме още 60 дни работа.

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

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

1. Писане на keygen „a

Най-лошият вариант за разработчика и най-приятният за злия краен потребител. Програмата се счита за лицензирана, не е необходимо да се правят страшни жестове.

Отваряме рефлектора и търсим кода за класовете, съдържащи лиценза или регистрацията, виждаме:

Когато въведете име и код по име, се изчислява определен хеш, който се сравнява с кода.


Този хеш използва DES и всякакви префикси


Байтовете се преобразуват в низ с помощта на този метод.

Сега всичко се изчисти, отворете IDE и копирайте всички необходими парчета код (или го внедрете сами). Остава само да разберем какви са стойностите на параметрите за реализация Prefix, Suffix и MyDES. Няма да ги давам, това са технически подробности.

В резултат на това генерираме ключ за всяко име и виждаме:


Бинго!

Защитата срещу keygens е проста и очевидна: използвайте асиметрично криптиране под някаква форма. Тези. да направи невъзможно генерирането на кода без познаване на частния ключ, а този ключ е само на едно място - при автора на програмата.

2. Използване на обвивка

Проверката на правилността на лиценза е доста обезпокоителна и бавна. Затова разработчиците на софтуер обикновено проверяват лиценза веднъж и след това използват получения флаг - валиден / невалиден (като опция колко е валиден, ако са разрешени няколко вида лицензи с различни възможности). Тук можете да играете на това, като използвате следния алгоритъм:
  1. Кажете на програмата, че лицензът вече е проверен
  2. Кажете на програмата, че лицензът е правилен
Как да го направим? Вече споменах наличието на метаданни в изпълними файлове в началото и това е, което ще използваме. Нека видим как стартира програмата и как се проверява лицензът:


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

Нека се възползваме от това:
Нека направим нов проект, да добавим препратка към Expresso.exe и да го стартираме през себе си:


Да видим какво се случи:


Е, кой би се усъмнил.

В този случай всичко се оказа просто, но ако авторът на програмата беше заменил публичните свойства с частни, тогава той щеше да използва само Reflection за достъп и всичко щеше да бъде сведено до първоначалната задача.

Мисля, че е ясно как можете да опитате да се предпазите от това - проверявайте периодично лиценза, разглеждайте средата, от която се изпълнява програмата, направете невъзможно задаване на желаната променлива.

Но всички тези защити ще доведат до факта, че нападателят ще използва

3. Физически хакване на програмата

Тук вече всичко е сериозно. Цялата програма се декомпилира в MSIL и от нея вече се събира обратно (не забравяйте, че написах, че MSIL е същият език като C #?). За декомпилиране се нуждаем от помощна програма от SDK, наречена илдазъма за компилация компилатора от .NET Framework иласъм.

Стартирайте ildasm, отворете Expresso.exe и запазете дъмпа в .il файл. Намираме вече разгледания метод IsRegistered и добавяме малко от нашия код (без етикети):

След това вземаме ilasm и събираме всичко обратно (без да забравяме да свържем ресурсите).

Какво прави този код: задава необходимото име за регистрация (по избор) и връща състоянието, че всичко е наред.
За да стане по-ясно, ето как изглежда в рефлектора, в C #

Тези. е съвсем очевидно, че сега всичко ще бъде наред:

Малко за кода в MSIL: това е стекова машина, която няма регистри, всички операции са във формата: натиснете необходимия брой параметри в стека, изпълнете функция, която ще приеме необходимия брой параметри и ще постави резултата . Е, и обратното: задайте стойността на променлива на това, което е в стека. За да разберете по-добре как работи всичко това, препоръчвам една проста техника: напишете малка програма на познат език, компилирайте, вижте какво се е случило в MSILe и разберете конструкциите на езика.
В същото време някои неща в MSIL могат да се правят много добре, например разменете две променливи на места - 4 хубави реда (по-малко в C #, но грозно).

Това, което нападателят жертва: подписът на програмата, сега вече не е авторът, а негов. В някои случаи това е проблем, ако програмата използва много библиотеки. Тогава злият хакер ще трябва да ги разглоби всички и да ги сглоби отново, но ако се справи с това, тогава той ще има подписана "собствена" версия на програмата неговатаключ.

Всъщност има малка защита срещу целия този позор: да се извърши замъгляване или да се извърши част от проверката на логиката / защитата в родния код.

Заключение

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

Нека си представим ситуация, когато трябваше да "разрушите Windows" (премахнете операционната система windows) и да инсталирате нова. Ако се справите с това, може да възникне такъв проблем като инсталирането на програми и игри, които вече са ви познати. Добре е, ако са свободно достъпни и безплатни, но какво да правите, когато сте платили за програма (или игра), а при преинсталирането й изисква лицензен ключ от вас (и това е съвсем нормално)? Добре е, ако сте го запазили някъде и сте го записали, но какво ще стане, ако сте загубили или не сте оставили ключа? В този случай има две решения.

1) Пишете в подкрепа на тази програма и обяснете ситуацията. Ако разработчиците са нормални и им докажете, че наистина сте купили техния продукт, тогава те ще ви помогнат.
2) Използвайте една безплатна програма, за която ще има текст по-долу.

Така програмата се нарича Belarc Advisor - Безплатен одит на персонален компютър

Процесът на инсталиране е нормален.
Първо, ние сме съгласни с информационното съобщение, че те имат версия за Android

След това се съгласяваме с лицензионното споразумение


След това натискаме бутона Инсталиране (програмата не пита къде да инсталира) и се съгласяваме с анализа на системата, за да намерим ключовете:


Чакаме завършване


И в крайна сметка ще се отвори прозорец (този тип отчет) с разнообразна информация (операционна система, всички компоненти, потребители, мрежи и т.н.). Тук търсим елемента Софтуерни лицензи по-долу и виждаме всичко, което програмата намери:

Нямам толкова много, т.к Използвам предимно безплатни решения, но смисълът е ясен.

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