Сейчас на форуме: ut2004, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› FaNt0m's Crackme #4 Keygen
Посл.ответ Сообщение

Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 августа 2006 12:05
· Личное сообщение · #1

Я новичок в крэгинге и поэтому сейчас учусь взламывая крэкми, взломать этот крэкми не очень сложно да и найти пороль для определенного ника тоже легко достаточно посмотреть сравнивые строки в OllyDng, и вот последнее что можно сделать это написать кейген, я вычислил, что пароль зависит от имени, вроде только от него, что влияет регистр букв, пароль всегда с больших букв латинского алфавита, и количество символов пароля == количеству символов в имени... Далее я искал функцыя генерации пароля, но ничего более подходящего, чем приведенная ниже не нашел, посмотрите плз эта ли эта функцыя и как в ней может генериться пароль???
по адрессу 00403084 - храниться ник
по адрессу 00403184 - храниться веденный



Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 августа 2006 12:10
· Личное сообщение · #2

блин нечаянно не то нажал сорри вот продолжение...
по адрессу 00403084 - храниться ник
по адрессу 00403184 - храниться веденный пароль
по адрессу 00403284 - храниться настоящий пароль
мб процедура генерации...
push ebp
mov ebp, esp
push esi
push edi
lea esi, dword ptr [00403084]
lea edi, dword ptr [00403284]
xor eax,eax
xor ecx,ecx
mov bl,1A
вот и все...

Если кто захочет посмотреть я прикрепил этот крэкми, чтобы вам не пришлось искать...




b958_06.08.2006_CRACKLAB.rU.tgz - 54e8_CRACKME4.rar




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 августа 2006 13:13
· Личное сообщение · #3

_dk_ пишет:
вот и все...

Ну какже всё? А ниже, сразу же начинается цикл формирования верного серийника.



Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 августа 2006 14:11 · Поправил: Sawamura
· Личное сообщение · #4

lea esi, введеное имя
lea edi, буфер, где будет генерироваться пароль
xor eax, eax
xor ecx, ecx
mov bl, 1Ah

loc_401310: - тут пасс и генерируется

cmp byte ptr [esi], 0
jz short loc_40132A
mov al, [esi]
add al, cl
xor al, cl
div bl
shr ax, 8
add al, 41h
mov [edi], al
inc edi
inc esi
inc ecx
jmp short loc_401310

loc_40132A:

mov byte ptr [edi], 0 - добавляем завершающий нуль в конец пасса.




Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 августа 2006 18:26
· Личное сообщение · #5

Спасибо сейчас посмотрю...



Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 августа 2006 20:17 · Поправил: _dk_
· Личное сообщение · #6

Короче посмотрел, но написать кейген сложновато, как в visual с указать, чтобы действия произвадились над хекс цифрами, и как можно заменить оператор shr ax,8 на С? xor вроде отниманием можно...
Знаю что это немного не по теме, но т. к. продолжение я думаю будет лучше понять...



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 06 августа 2006 20:44
· Личное сообщение · #7

подели численное значение ax на 100h. Целая часть будет как раз нужное



Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 августа 2006 22:06
· Личное сообщение · #8

Спасибо за совет но я уже нашел другой вариант ведь в С можно вставлять код асма:
_asm {
asm code
};
так что не пришлось искать замену вот код:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>

void main()
{
int x,len;

char str[50], s[1];
scanf("%s", &str);
len = strlen(str);
for(int i=0;i<len;i++)
{
s[0] = str[i];
s[1] = '\0';
_asm
{
mov bl,1Ah
mov ecx,i
mov al,s
add al,cl
xor al,cl
div bl
shr ax,8
add al,41h
mov x,eax
};
printf("%X\n", x);
}
getch();
}

Осталось только создать оболочку, и перевести hex коды в цифры...



Ранг: 123.7 (ветеран)
Активность: 0.10
Статус: Участник
1nn0$/100

Создано: 07 августа 2006 00:33
· Личное сообщение · #9

_dk_
Я когда-то давно разобрал код... Приведу сорец на паскале:

var
i:byte;
ch:char;
name:string;
begin
readln(name);
for i:=1 to length(name) do
begin
ch:=chr((((ord(name[i])+(i-1)) xor (i-1)) mod $1a)+$41); {собственно вот и весь алгоритм =) }
write(ch);
end;
readln;
end.

-----
Blame the victim!




Ранг: 4.4 (гость)
Активность: 0.010
Статус: Участник

Создано: 07 августа 2006 00:36
· Личное сообщение · #10

Ну все тему можно наверное закрывать!!! Наверное завтра закрою....
Ксли меня не опередят...


 eXeL@B —› Вопросы новичков —› FaNt0m's Crackme #4 Keygen
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати