Пишем КейГен для IDentify - Version 1.1Delphi , Программа и Интерфейс , Исследование программПишем КейГен для IDentify - Version 1.1
Оформил: DeeCo Вступление: Я так и не разобрался чего делает эта прога, понял только, что стоит она $15 а это 2 моих месячных стипендии. Я решил н ждать 2 месяца, а получить прогу уже сейчас :) Поехали: Ставим Брекпоинт: bpx GetWindowTextA нажимаем 1 раз F5 а затем 4 раза F12 чтобы выйти из вложенных функций, мы окажемся здесь: 015F:004021E0 E865110200 CALL 0042334A 015F:004021E5 83EC04 SUB ESP,04 015F:004021E8 8B45F0 MOV EAX,[EBP-10] 015F:004021EB 83C060 ADD EAX,60 015F:004021EE 8965E8 MOV [EBP-18],ESP 015F:004021F1 50 PUSH EAX 015F:004021F2 8B4DE8 MOV ECX,[EBP-18] 015F:004021F5 E88B200200 CALL 00424285 015F:004021FA C745FC00000000 MOV DWORD PTR [EBP-04],00000000 015F:00402201 C745FCFFFFFFFF MOV DWORD PTR [EBP-04],FFFFFFFF 015F:00402208 8D4DE4 LEA ECX,[EBP-1C] 015F:0040220B 51 PUSH ECX 015F:0040220C 8B4DF0 MOV ECX,[EBP-10] 015F:0040220F E89C000000 CALL 004022B0 <--генерация правильного СН по имениЗайдём в последнюю функцию(F8): 015F:004022C1 64892500000000 MOV FS:[00000000],ESP 015F:004022C8 83EC48 SUB ESP,48 015F:004022CB C745FC01000000 MOV DWORD PTR [EBP-04],00000001 015F:004022D2 56 PUSH ESI 015F:004022D3 8D4DF0 LEA ECX,[EBP-10] 015F:004022D6 33F6 XOR ESI,ESI 015F:004022D8 8975EC MOV [EBP-14],ESI 015F:004022DB E8951F0200 CALL 00424275 015F:004022E0 8B450C MOV EAX,[EBP+0C] 015F:004022E3 33D2 XOR EDX,EDX <--обнулили счётчик цикла 015F:004022E5 C645FC02 MOV BYTE PTR [EBP-04],02 015F:004022E9 8B48F8 MOV ECX,[EAX-08] <--Длинна имени 015F:004022EC 3BD1 CMP EDX,ECX <--конец цикла? 015F:004022EE 730D JAE 004022FD <--прыгаем 015F:004022F0 8B450C MOV EAX,[EBP+0C] 015F:004022F3 42 INC EDX 015F:004022F4 0FBE4410FF MOVSX EAX,BYTE PTR [EDX+EAX-01] <--по очереди в цикле загружаем в EAX каждый символ имени и... 015F:004022F9 03F0 ADD ESI,EAX <--суммируем все символы в ESI 015F:004022FB EBEF JMP 004022EC <--повтор циклаТ.Е. после выполнения вышеописанного кода у нас в ESI сумма всех символов имени, а в ECX Длинна имени. Смотрим дальше: 015F:004022FD 83C105 ADD ECX,05 015F:00402300 83C605 ADD ESI,05 015F:00402303 0FAFCE IMUL ECX,ESI 015F:00402306 8D1489 LEA EDX,[ECX*4+ECX] 015F:00402309 8BC1 MOV EAX,ECX 015F:0040230B 6A0A PUSH 0A 015F:0040230D 8D0C90 LEA ECX,[EDX*4+EAX] <-- ECX=EDX*4+EAX 015F:00402310 8D34C8 LEA ESI,[ECX*8+EAX] <-- ESI=ECX*8+EAX 015F:00402313 8D1470 LEA EDX,[ESI*2+EAX] <-- EDX=ESI*2+EAXТут идут математические действия очень простые. Аналогично такому выражению: EDX=(( ((сумма_всех_символов+5)*(длинна_имени+5)*5) *4+(сумма_всех_символов+5)*(длинна_имени+5))*8+(сумма_всех_символов+5)*(длинна_имени+5))*2+(сумма_всех_символов+5)*(длинна_имени+5) Затем мы видим: 015F:00402319 50 PUSH EAX 015F:0040231A 52 PUSH EDX <--сохранили EDX 015F:0040231B E8207C0100 CALL 00419F40 <--функция перевода EDX из 16-ричной в 10-чную систему и запись результата в виде текстовой строки. 015F:00402320 83C40C ADD ESP,0C 015F:00402323 8D4DF0 LEA ECX,[EBP-10] 015F:00402326 68F8924300 PUSH 004392F8 015F:0040232B E8ED210200 CALL 0042451D <--Вначале СН дописываем два символа "2D"И получившаяся строка и есть правильный СН. УрА! Я написал на C++ кейген, вот он: #include <iostream.h> #include <conio.h> void main() { char *name; long serial,sum=0; int i; cout<<"IDentify! - Version 1.1 KeyGen"<<"\n"; cout<<"CrAcKeD bY VaLLk0r [PTDS]"<<"\n"; cout<<"http://vallkor.chat.ru"<<"\n"; cout<<"Enter your name:"; cin>>name; for (i=0;name[i]!=0;i++) { sum+=name[i]; } serial=((((sum+5)*(i+5)*5) *4+(sum+5)*(i+5))*8+(sum+5)*(i+5))*2+(sum+5)*(i+5); cout<<"\n"<<"Serial: 2D"<<serial; getch(); }Для моего имени (vallkor) СН оказался: 2D3124224 Вводим эти данные и мы зарегестрированные пользователи. ВсЁ! Исследовал и наваял туториал: vallkor //PTDS E-mail: vallkor@chat.ru (vallkor@etel.dn.ua) Page: http://vallkor.chat.ru
Статья Пишем КейГен для IDentify - Version 1.1 раздела Программа и Интерфейс Исследование программ может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |