forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Ключ на Физикс (http://forum.boolean.name/showthread.php?t=15238)

Mind 03.08.2011 22:56

Ключ на Физикс
 
У кого можно достать или купить ключь на Physx Wrapper?
а то ограниченное время в 6 минут за....о меня уже(не могу нормально потестить на баги игру)

.Squid 04.08.2011 00:06

Ответ: Ключ на Физикс
 
Он бесплатный уже 100500 лет. Даже сорцы открыты.
Тут смотри http://mycop.xors3d.com/public/PXW/PhysXWrapper.zip

Mind 04.08.2011 11:15

Ответ: Ключ на Физикс
 
.Squid, если не трудно обьясни что делать или куда кидать те файлы которые ты мне дал.

.Squid 04.08.2011 12:18

Ответ: Ключ на Физикс
 
Трудно.

Mind 04.08.2011 12:29

Ответ: Ключ на Физикс
 
Цитата:

Сообщение от .Squid
Трудно.

так и знал что ты это скажешь :-D

.Squid расскажи пожайлуста как мне достать ключ.

Dream 04.08.2011 12:39

Ответ: Ключ на Физикс
 
Цитата:

Сообщение от Mind (Сообщение 197960)

так и знал что ты это скажешь :-D

.Squid расскажи пожайлуста как мне достать ключ.

Да ну нет уже ключей, всё, врапер не поддерживается никем, открытые исходники выложены в сеть. Зачем тебе ключь? если прям есть такое желание купить ключь - могу продать

.Squid 04.08.2011 12:44

Ответ: Ключ на Физикс
 
Вот функция генерации ключей. Разбирайся и генерь себе сам.
ЗЫ. Офигенная проверка на забаненный ключ. Я аж прослезился.

Код:

int scanLine (char* str)
{
        if (str[0]=='=')
        if (str[1]=='=')
        if (str[2]=='1')
        if (str[3]=='e')
        if (str[4]=='<')
        if (str[5]=='_')
        if (str[6]=='4')
        if (str[7]=='2')
        if (str[8]=='j')
        if (str[9]=='i')
        if (str[10]=='6')
        if (str[11]=='6')
        if (str[13]==']')
        if (str[14]=='1')
        if (str[15]=='a')
        if (str[16]=='d')
        if (str[17]=='U')
        if (str[18]=='2')
        if (str[19]=='2')
        if (str[26]=='7')
        if (str[27]=='e')
                ShowError("Key is invalid!!!!", "pxCreateWorld", __FILE__ , __LINE__);
        //==1e<_42ji66\]1adU22]T0a]d7eel4c

        unsigned char hashText[17];
        hashText[16] = 0;
        unsigned char hash[17];
        hash[16] = 0;
        unsigned char text[17];//зашифрованное имя
        text[16] = 0;
        unsigned char out[33];
        out[32] = 0;

        for (int i = 0; i < 32; i++)
        {
                out[i] = str[i];
        }
        //Формируем регкод из зашифрованного имени и хеша
        //Standart
/*        for (int i = 0; i < 8; i++) {
                text[2*i+1] = out[i*4];
                text[2*i] = out[i*4+1];
                hash[2*i+1] = out[i*4+2];
                hash[2*i]= out[i*4+3];
        }*/
        //PRO
        for (int i = 0; i < 8; i++) {
                text[2*i] = out[i*4];
                text[2*i+1] = out[i*4+1];
                hash[2*i] = out[i*4+2];
                hash[2*i+1]= out[i*4+3];
        }
        for (int i = 0; i < 16; i++) text[i] = (text[i] > 0x4f)?(0xce - text[i]):(0x7f-text[i]);

    //Вычисляем хеш
    unsigned __int64 hashvalue = Hash(text,16);
    sprintf((char*)hashText,"%0x%0x",(unsigned int)(hashvalue >> 32),(unsigned int)(hashvalue & 0xffffffff));

        if ( mstrcmp((char*)hashText,(char*)hash)) return 20000 + int(NxMath::rand(-100,100));
        else return 0;
}


impersonalis 04.08.2011 13:05

Ответ: Ключ на Физикс
 
Зато радует
Код:

if ( mstrcmp((char*)hashText,(char*)hash)) return 20000 + int(NxMath::rand(-100,100));
        else return 0;

В ехе это будет выглядеть как непонятная громадина, а не очевидный возврат истины, что уменьшит вероятность классического взлома по типу "за-NOP-ай ненужные return-ы"

SBJoker 04.08.2011 13:06

Ответ: Ключ на Физикс
 
А если забаненых было бы ну хотя бы десяток?

Mind 04.08.2011 13:17

Ответ: Ключ на Физикс
 
Код:

int scanLine (char* str)
{
        if (str[0]=='=')
        if (str[1]=='=')
        if (str[2]=='1')
        if (str[3]=='e')
        if (str[4]=='<')
        if (str[5]=='_')
        if (str[6]=='4')
        if (str[7]=='2')
        if (str[8]=='j')
        if (str[9]=='i')
        if (str[10]=='6')
        if (str[11]=='6')
        if (str[13]==']')
        if (str[14]=='1')
        if (str[15]=='a')
        if (str[16]=='d')
        if (str[17]=='U')
        if (str[18]=='2')
        if (str[19]=='2')
        if (str[26]=='7')
        if (str[27]=='e')
                ShowError("Key is invalid!!!!", "pxCreateWorld", __FILE__ , __LINE__);
        //==1e<_42ji66\]1adU22]T0a]d7eel4c

        unsigned char hashText[17];
        hashText[16] = 0;
        unsigned char hash[17];
        hash[16] = 0;
        unsigned char text[17];//зашифрованное имя
        text[16] = 0;
        unsigned char out[33];
        out[32] = 0;

        for (int i = 0; i < 32; i++)
        {
                out[i] = str[i];
        }
        //Формируем регкод из зашифрованного имени и хеша
        //Standart
/*        for (int i = 0; i < 8; i++) {
                text[2*i+1] = out[i*4];
                text[2*i] = out[i*4+1];
                hash[2*i+1] = out[i*4+2];
                hash[2*i]= out[i*4+3];
        }*/
        //PRO
        for (int i = 0; i < 8; i++) {
                text[2*i] = out[i*4];
                text[2*i+1] = out[i*4+1];
                hash[2*i] = out[i*4+2];
                hash[2*i+1]= out[i*4+3];
        }
        for (int i = 0; i < 16; i++) text[i] = (text[i] > 0x4f)?(0xce - text[i]):(0x7f-text[i]);

    //Вычисляем хеш
    unsigned __int64 hashvalue = Hash(text,16);
    sprintf((char*)hashText,"%0x%0x",(unsigned int)(hashvalue >> 32),(unsigned int)(hashvalue & 0xffffffff));

        if ( mstrcmp((char*)hashText,(char*)hash)) return 20000 + int(NxMath::rand(-100,100));
        else return 0;
}

А в какой проге его генерировать? Так как в с++ выдает ошибку :dontknow:

.Squid 04.08.2011 13:48

Ответ: Ключ на Физикс
 
Вложений: 1
Бляоо.. ну дал же код. Так трудно на каком-то блитце повторить генератор?
На вот готовый.
Вложение 14565

impersonalis 04.08.2011 13:50

Ответ: Ключ на Физикс
 
Я тут подумал - может этот фрагмент кода генерировался на какой-нибдуь утилите для мета-программирования? Ведь с точки зрения реверс-инженеринга разбанить ключ, явно указанный в strcmp просто.

.Squid 04.08.2011 14:14

Ответ: Ключ на Физикс
 
Ты думаешь, блитцеры на это способны?

moka 04.08.2011 14:17

Ответ: Ключ на Физикс
 
Цитата:

Сообщение от .Squid (Сообщение 197977)
Ты думаешь, блитцеры на это способны?

Весомый плюс в разработке для блицеров..

Mind 04.08.2011 14:54

Ответ: Ключ на Физикс
 
Спасибо .Squid :compl:
А все же куда ты это вставил или где повторил?


Часовой пояс GMT +4, время: 00:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot