| Посл.ответ | 
Сообщение | 
  Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith 
 
 | 
Создано: 16 октября 2006 15:48   · Личное сообщение ·  #1 
Знаю, что всем уже надоели крякми, но всё же хочется своё старое творение выложить. Был онаписано ещё года 2 назад. На васике. Переписал на сях. Просто посмотреть номерок не удастся. Кто таки реверснёт будет считаться молодцом.
 Никаких запутываний, антиотладки и противодействия (если не считать частые вылеты при неправильных рег номерах). Задача получить номер. Никаких патчей, только реверсинг.
 Размер 20 килобайт   269a_16.10.2006_CRACKLAB.rU.tgz - keygenMe.rar
 ----- Недостаточно только получить знания:надо найти им приложение  | Сообщение посчитали полезным:  | 
 | 
 Ранг: 117.5 (ветеран), 5thx Активность: 0.08↘0.01 Статус: Участник 
 
 | 
Создано: 16 октября 2006 21:14   · Личное сообщение ·  #2 
странно 2 раза качал показывает битый архив...
   | Сообщение посчитали полезным:  | 
  Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith 
 
 | 
Создано: 16 октября 2006 21:37   · Личное сообщение ·  #3 
ничего страшного. у меня вроде у всех архивов из аттачей битые. просто открой и перетяни в папку.
 На всякий пожарный:
 --> iFolder<-- http://ifolder.ru/290652 
 --> Рапида<-- http://rapidshare.de/files/37044630/keygenMe.rar.html
 ----- Недостаточно только получить знания:надо найти им приложение  | Сообщение посчитали полезным:  | 
 Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник 
 
 | 
Создано: 17 октября 2006 01:45   · Личное сообщение ·  #4 
sats пишет:
 показывает битый архив... 
 Поставь ТоталКоммандер с плагинами - проблем станет меньше. Аттач в норме.
   | Сообщение посчитали полезным:   | 
 Ранг: 45.7 (посетитель), 5thx Активность: 0.02↘0 Статус: Участник
  
 
 | 
Создано: 17 октября 2006 03:38 · Поправил: Fallout   · Личное сообщение ·  #5 
Какой то он не красивый Ж))) если даже погледетьн а первый цикл ( 00406201 )
 Некоторый переменые не инициализировал а просто оюъявил... вот так будет цикл выгледитье сли на Си переписать...  да и у толи специально у автора был такой корявый стиль письма программы Ж) не удобно.... 
 память memory_1, 2 выделяетсья размером соотвенно (digit_1, 2) / 3 + 1
 
 unsigned int maybe_crc = 0;
 unsigned int var0 = 0;
 
 unsigned int digit_2;
 unsigned char  *memory_2;
  int counter;
  
 unsigned int digit_1;
 unsigned char  *memory_1;
 char *szKey =  "003003000000012345678-";
 char buff[0x04];
 memset( buff, 0x00, sizeof( buff ) );
 
 for( counter = 0; counter < ( digit_1 / 3); counter++ ){
 	memcpy( buff, 	&szKey[ 7 + (counter* 3) ], 0x03 );
 	memory_1[ counter ] = atol( buff ) & 0xFF;
 	var0 = memory_1[ counter ] ;
 	var0 = var0 & 0xFF;
 	maybe_crc = maybe_crc + var0;
 }
 
 maybe_crc = maybe_crc - var0;
 memory_1[ digit_1 / 3] = 0;
 
 for( counter = 0; counter < ( digit_2 / 3); counter++ ){
 	memcpy( buff, 	&szKey[ 7 + (counter* 3)  + digit_1], 0x03 );
 	memory_2[ counter ] = atol( buff ) & 0xFF;
 	var0 = memory_2[ counter ] ;
 	var0 = var0 & 0xFF;
 	maybe_crc = maybe_crc + var0;
 }
 
 maybe_crc = maybe_crc -  var0;
 memory_2[ digit_1 / 3] = 0;
 
 
 counter = digit_1 + digit_2 + 7;
 
 unsigned int var_54 = 0;
 
 unsigned char fbuf[0x10];
 
 while( szKey[counter ] != 0x2D ){
 	fbuf[ var_54 ] = szKey[counter];
 	var_54++;
 	counter++;
 }
 
 fbuf[ var_54 ] = 0 ;
 
 unsigned int xored_var = sub_406AC0( fbuf, 0x10 );  // convert string  to binhex format "12345678" -> 0x12345678
 
 counter = 0x07;
 var_54 = 0x01;
 
 xored_var = xored_var ^ maybe_crc;
 _itoa( xored_var , fbuf, 0x10 );
 
 int len_off = strlen( xored_var );
 
 counter = (digit_1/ 3 ) - 2 ;
 var_54 = ( digit_1 / 3 ) - ( 1 % len_off ) - 1;
 
 if( var_54 == 0xFFFFFFFF) {
 	var_54 = 0;
 }
 
 
 while( counter != 0xFFFFFFFF ){
 	unsigned int tmp0 = memory_1[counter + 1];	
 	unsigned int tmp1 = memory_1[counter];
 	tmp1 = tmp1 ^ tmp0;
 	memory_1[counter] = tmp1 & 0xFF;
 	unsigned int tmp2 = counter & 0x80000001;
 	
 	if( tmp2 < 0 ){
 		tmp2 = ((tmp2 - 1) | 0xfffffffe) + 1;		
 	}
 	if( tmp2 != 0){
 		tmp0 = fbuf[var_54];
 		tmp0 = tmp0 & 0x80000003; 
 		if( tmp0 < 0 ){
 			tmp0 = ((tmp0 - 1) | 0xfffffffc) + 1;		
 		}
 		
 	}
 	<uncontimued>
 	
 }
 
Ну вот ещё немного перевел в Си опять таки не все перевожу а начиная с первого цикла просто кому интересно покапаться думаю будет полезно покапаться... 
 Вообщем смылс там такой... читаем вначале длину первого слова в ключе потом длину второго слова в ключе... далее идут сами слова причем они закодированы как я понял ... каждая буква предсатвляет собой три цифры ( десятиный номер буковки )  потом идет некоторое значение похоже что это ключ для расшифровки этого слова чтоль.... ну в итоге вообщем должны вывестись они на форму.... ниже диалога ввода ключа....  забавно конечно но блин ужасно не красиво помоему 
 п.с: >>Rascal 
 похоже?
   | Сообщение посчитали полезным:  | 
  Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith 
 
 | 
Создано: 17 октября 2006 08:05   · Личное сообщение ·  #6 
Fallout пишет:
 похоже? 
Да, именно так.
 Fallout пишет:
 Какой то он не красивый Ж))) если даже погледетьн а первый цикл ( 00406201 )  
А по-моему нормально    Этож не обрасцовая программа. По-другому писать ещё более некрасиво.
 Только пока ты главное не понял   
----- Недостаточно только получить знания:надо найти им приложение  | Сообщение посчитали полезным:   | 
 Ранг: 45.7 (посетитель), 5thx Активность: 0.02↘0 Статус: Участник
  
 
 | 
Создано: 17 октября 2006 09:50   · Личное сообщение ·  #7 
Просто кода очень много такового вот хитрого плюс отсутсвие проверок всяких аля доступ к памяти и тд и тп....  и фактически отсутсвие условия ВЫИГРЫША  Ж)  То бишь программа из ряда... 
 a = 3;
 b = 57;
 a = a + b + 8486586 + 4 / 3334234;
 c = a / b + 5678;
 
 и тд и тп... просто вот такой большой ход изчеслений разных и тди тп.... скучновато... хотя на вкус и цвет .....   
  | Сообщение посчитали полезным:  | 
  Ранг: 260.9 (наставник) Активность: 0.12↘0 Статус: Участник John Smith 
 
 | 
Создано: 17 октября 2006 09:58   · Личное сообщение ·  #8 
я делал прогу как разминку для ума. я конечно мог добавить один байт и по нему проверять, или хэшировать, или код там держать, но толку то, я ж именно реверс хотел получить. Да и как видишь проверка есть - чтобы не было эксепшенов   
----- Недостаточно только получить знания:надо найти им приложение  | Сообщение посчитали полезным:  |