Как да изберем код за активиране. Лицензионен ключ на програма или игра. Те се различават по настройки и списък с функции

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

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

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

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

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


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


Очакваме завършване


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

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

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

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

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

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

Избор

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

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

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

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

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

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

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

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

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

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

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

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/.

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

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

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

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

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

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

В тази статия искам да говоря за три и половина основни начина за хакване на .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

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

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

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


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


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

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

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


Бинго!

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

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

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


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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

  1. Просто познайте паролата. Най-често хората използват същото стандартни пароли. Техният списък е известен отдавна и постоянно се актуализира). По-долу ще намерите 25-те най-често срещани пароли (според Splash Data):
    парола
    123456
    12345678
    abc123
    qwerty
    маймуна
    позволете ми
    дракон
    111111
    бейзбол
    обичам те
    trustno1
    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. Важни числа и дати: рожден ден, адрес, телефонен номер и др.