Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: скрипт

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SAD
Отправлено: 26 Декабря, 2010 - 00:38:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




есть скрипт. язык точно не скажу какой
можно ли тоже самое что написано написать на php?
и кто сможет?
CODE (htmlphp):
скопировать код в буфер обмена
  1. cypher(V,n,k,r,t)longV[],n,k[],r[],t[]; {
  2.     longr1,r2,r3,r4,r5,r6,d,*e,m=0x00ffffff;
  3.  
  4.  
  5.     r3=k[0];r4=k[1];r5=k[2];r6=k[3];
  6.     if(n<0)d=-1;else
  7. d=1;
  8.    e=V+n;
  9.    while(V-e) {
  10.        r1=*V;
  11.        r2=r1^r6;
  12.        *V=r2;
  13.        //Changeintor1fordecoding.
  14.        V+=d;
  15.        r3=r3+r2;
  16.        r3=(r3>>8&m)^t[r3&255];
  17.         r4=r4+r3;
  18.         r4=(r4>>8&m)^t[r4&255];
  19.         r5=r5+r4;
  20.         r5=(r5>>8&m)^t[r5&255];
  21.         r6=r6+r5;
  22.         r6=(r6>>8&m)^t[r6&255];
  23.     }
  24.  
  25.  
  26.     r[0]=r3;r[1]=r4;r[2]=r5;r[3]=r6;
  27. }
  28.  
  29.  
  30. cypher(V+n-1,-4,k1,r,t);
  31. cypher(V,n,k1,r,t);
  32. cypher(V+n-1,-n,k2,r,t);
  33.  
  34.  
  35. genkey(t,k)longt[],k[]; {
  36. longx,z,p;
  37. static long tt[10]= {
  38. 0x726a8f3b,
  39. 0xe69a3b5c,
  40. 0xd3c71fe5,
  41. 0xab3c73d2,
  42. 0x4d3a8eb3,
  43. 0x0396d6e8,
  44. 0x3d4c2f7a,
  45. 0x9ee27cf3,};
  46. for(p=0;p<4;p++)
  47.  t[p]=k[p];
  48. for(p=4;p<256;p++) {
  49.    x=t[p-4]+t[p-1];
  50.    t[p]=x>>3^tt[x&7];
  51. }    
  52.  
  53. for(p=0;p<23;p++)
  54.    t[p]+=t[p+89];
  55.  
  56. x=t[33];z=t[59]|0x01000001;
  57. z=z&0xff7fffff;
  58. for(p=0;p<256;p++) {
  59.    x=(x&0xff7fffff)+z;
  60.    t[p]=t[p]&0x00ffffff^x;
  61. }
  62.  
  63. t[256]=t[0];x&=255;
  64.  
  65. for(p=0;p<256;p++) {
  66.    t[p]=t[x=(t[p^x]^x)&255];
  67.    t[x]=t[p+1];
  68. }
  69.  
  70.  
  71. hash4(V,n,k,r,t)longV[],n,k[],r[],t[]; {
  72.    longm,r3,r4,r5,r6,*e,mask=0x00ffffff;
  73.    r3=k[0];r4=k[1];r5=k[2];r6=k[3];
  74.    e=V+n-3;
  75.    for(m=0;m<4;m++) {
  76.        while(V<e) {
  77.            r3=(r3^r6)+*V++;
  78.            r3=(r3>>8&mask)^t[r3&255];
  79.             r4=(r4^r3)+*V++;
  80.             r4=(r4>>8&mask)^t[r4&255];
  81.             r5=(r5^r4)+*V++;
  82.             r5=(r5>>8&mask)^t[r5&255];
  83.             r6=(r6^r5)+*V++;
  84.             r6=(r6>>8&mask)^t[r6&255];
  85.         }
  86.         V=e-1;
  87.     }
  88.     r[0]=r3;r[1]=r4;r[2]=r5;r[3]=r6;
  89. }

(Отредактировано автором: 26 Декабря, 2010 - 09:23:44)

 
 Top
OrmaJever Модератор
Отправлено: 26 Декабря, 2010 - 00:40:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




SAD пишет:
язык точно не скажу какой

так точно не выдет. Нужно хотябы понять что там написано, а если не знаешь на чём это написано то и разобратся не получитсяУлыбка


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
SAD
Отправлено: 26 Декабря, 2010 - 09:24:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




язык вроде с++
реализован алгоритм шифрования WAKE
 
 Top
movEAX
Отправлено: 26 Декабря, 2010 - 11:36:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Это Си. Т.к. Си++ не поддерживает такой формат объявления типов параметров функции.
Тут есть комментарии к коду: http://www[dot]cix[dot]co[dot]uk/~klockstone/wake[dot]htm
Пример реализцации функции на PHP:
PHP:
скопировать код в буфер обмена
  1.  
  2. function hash4( &$V, $n, &$k, &$r, &$t ) {
  3.     $mask = 0x00ffffff;
  4.     list( $r3, $r4, $r5, $r6 ) = $k;
  5.     $key = 0; // индекс массива
  6.     $e = $key + $n - 3;
  7.     for( $m = 0; $m < 4; $m++ ) {
  8.         while( $key < $e ) {
  9.             $r3=( $r3 ^ $r6 ) + $V[$key]++;
  10.             $r3=( $r3 >> 8 & $mask)^$t[$r3 & 255];
  11.             $r4=( $r4 ^ $r3 ) + $V[$key]++;
  12.             $r4=( $r4 >> 8 & $mask ) ^ $t[$r4 & 255];
  13.             $r5=( $r5 ^ $r4 ) + $V[$key]++;
  14.             $r5=( $r5 >> 8 & $mask) ^ $t[$r5 & 255];
  15.             $r6=( $r6 ^ $r5 ) + $V[$key]++;
  16.             $r6=( $r6 >> 8 & $mask ) ^ $t[$r6 & 255];
  17.         }
  18.         $key = $e - 1;
  19.     }
  20.     $r[0] = $r3;
  21.     $r[1] = $r4;
  22.     $r[2] = $r5;
  23.     $r[3] = $r6;
  24. }


-----
армия.. самое убогое место
 
 Top
SAD
Отправлено: 26 Декабря, 2010 - 11:50:07
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Получается в php есть такие самые операции, которые тут применены и с легкостью можно переписать скрипт на php?
 
 Top
movEAX
Отправлено: 26 Декабря, 2010 - 12:43:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Ну в принципе да, только не стоит забывать что в php нет указателей, точнее они есть но немного в иной форме.
К примеру массив в Си является указателем, а php он просто массив.


-----
армия.. самое убогое место
 
 Top
SAD
Отправлено: 26 Декабря, 2010 - 12:51:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




вот остальные прошу проверить на правильность переписки на php
PHP:
скопировать код в буфер обмена
  1. function cypher(&$V, $n, &$k, &$r, &$t) {
  2.     $m = 0x00ffffff ;
  3.     list( $r3, $r4, $r5, $r6 ) = $k;
  4.     $key = 0;
  5.     if ($n < 0)
  6.         $d = -1 ;
  7.     else
  8.         $d = 1 ;
  9.     $e = $key + $n ;
  10.     while ($key < $e) {
  11.         $r1 = $V[$key] ;
  12.         $r2 = $r1 ^ $r6 ;
  13.         $V[$key] = $r2 ;
  14.         $key += $d ;
  15.         $r3 = $r3 + $r2 ;
  16.         $r3 = ($r3 >> 8 & m) ^ $t[$r3 & 255] ;
  17.         $r4 = $r4 + $r3 ;
  18.         $r4 = ($r4 >> 8 & $m) ^ $t[$r4 & 255] ;
  19.         $r5 = $r5 + $r4 ;
  20.         $r5 = ($r5 >> 8 & $m) ^ $t[$r5 & 255] ;
  21.         $r6 = $r6 + $r5 ;
  22.         $r6 = ($r6 >> 8 & $m) ^ $t[$r6 & 255] ;
  23.     }
  24.     $r[0] = $r3;
  25.     $r[1] = $r4;
  26.     $r[2] = $r5;
  27.     $r[3] = $r6;
  28. }
  29. function genkey(&$t,&$k) {
  30. $tt = array(
  31.         0x726a8f3b,                                 // table
  32.         0xe69a3b5c,
  33.         0xd3c71fe5,
  34.         0xab3c73d2,
  35.         0x4d3a8eb3,
  36.         0x0396d6e8,
  37.         0x3d4c2f7a,
  38.         0x9ee27cf3
  39.     ) ;
  40. for ($p = 0; $p < 4; $p++)
  41.     $t[$p] = $k[$p];          // copy k
  42.     for ($p = 4; $p < 256; $p++) {
  43.         $x = $t[$p-4] + $t[$p-1] ;                        // fill t
  44.         $t[$p] = $x >> 3 ^ $tt[$x & 7] ;
  45.     }
  46.  
  47.     for ($p = 0; $p < 23; $p++)
  48.         $t[$p] += $t[$p+89];           // mix first entries
  49.     $x = $t[33];
  50.     $z = $t[59] | 0x01000001;  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  51.     $z = $z & 0xff7fffff;
  52.     for ($p = 0; $p < 256; $p++) {       //change top byte to
  53.         $x = ($x & 0xff7fffff) + $z;          // a permutation etc
  54.         $t[$p] = $t[$p] & 0x00ffffff ^ $x ;
  55.     }
  56.  
  57.     $t[256] = $t[0];
  58.     $x &= 255 ;
  59.     for ($p = 0; $p < 256; $p++) {     // further change perm.
  60.       $t[$p] = $t[$x = ($t[$p ^ $x] ^ $x) & 255] ;  //!!!!!!!!!!!!!!!!!!!!!!
  61.       $t[$x] = $t[$p+1] ;  
  62.     }    
  63. }

особенно интересует строки, где много ! знаков
так это должно работать или нет???
или как правильно все таки переписать?
а то завтра сдавать((
(Добавление)
и еще интересно откуда они взяли функцию decypher?
(Добавление)
и я не пойму какие параметры передавать нужно Упёрся в стенку

(Отредактировано автором: 26 Декабря, 2010 - 12:52:58)

 
 Top
movEAX
Отправлено: 26 Декабря, 2010 - 14:55:11
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




Лучше так $t[$p] = $t[($x = ($t[$p ^ $x] ^ $x) & 255)] ;
Функция decypher должна быть где-то в библиотеке

ps: не могу понять зачем вас заставляют делать это на php..

(Отредактировано автором: 26 Декабря, 2010 - 14:56:29)



-----
армия.. самое убогое место
 
 Top
SAD
Отправлено: 26 Декабря, 2010 - 14:56:40
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




movEAX пишет:
Функция decypher должна быть где-то в библиотеке

в какой?)

а какие параметры передавать часом не догадываешься?
у мну мозг вытечет скоро. помоги плиз)
 
 Top
movEAX
Отправлено: 26 Декабря, 2010 - 15:33:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




SAD пишет:
а какие параметры передавать часом не догадываешься?

Даже приблизительно нет. С криптографией я мягко говоря не знаком особо.
SAD пишет:
в какой?)

Я пологал, что код выдернут из библиотеки libmcrypt..


-----
армия.. самое убогое место
 
 Top
SAD
Отправлено: 26 Декабря, 2010 - 18:38:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




movEAX пишет:
ps: не могу понять зачем вас заставляют делать это на php..

никто не заставляет)
просто я нашел исходники какие то на С и на С++, но их нужно компилить в linux
нашел потом 3 этих функции, если кто то может написать эти функции на c++ или delphi, хотя бы, то я был бы рад))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB