Скрипт для перевода кода (помогите сделать)

Discussion in 'PHP' started by Fooog, 18 Dec 2010.

  1. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    Писал в общую тему, не помогло

    Такой вопрос. Есть много скриптов с неправильным форматом hex. Нужен скрипт который все hex шифры переводил в нормальные шифры.
    То есть например: 8df62eb2 перевел в b22ef68d
    То есть, был бы код 11223344 оно переведет на 44332211, а код 12345678 на 78563412
    Подобное реализовано тут: http://thamodding.ru/hex.php но только для одного шифра.
    но суть в том что бы можно было вставить скрипт подобный нижнему и все восьмизначные шифры которые заключены в $ перевелись в нормальный.

    Один из скриптов:
    Code:
    :i call $4299ce18$ arguments 
    	$af98c640$ = $285ff46d$
    :i if  (%GLOBAL%$564d4161$ = %s(4,"/set")) 
    	:i if NOT $77b88a5b$.$07fc2735$
    		:i $26281cdc$
    	:i endif
    :i endif
    :i if  (%GLOBAL%$564d4161$ = %s(5,"/goto")) 
    	:i $cad9773e$
    :i endif
    :i if  (%GLOBAL%$564d4161$ = %s(5,"/game")) 
    	:i $8df62eb2$
    :i endif
    :i if  (%GLOBAL%$564d4161$ = %s(4,"/end")) 
    	:i $5509e270$
    :i endif
    :i if  (%GLOBAL%$564d4161$ = %s(5,"/exit")) 
    	:i $7fddebba$
    :i endif
    :i if  (%GLOBAL%$564d4161$ = %s(5,"/help")) 
    	:i $1cdf02a4$
    	:i $e0913ac7$:s{$357f4094$ = %vec2(23611832414348226000000.000000,0.000000)
    	:i :s}
    	:i $b96c3590$:s{
    		:i $af98c640$ = $ad5a6ca5$
    		:i $3cf05b47$ = :a{:s{call $2afde07e$ arguments 
    					$9d8f95ff$:s}:a}
    		:i $efa1933f$
    	:i :s}
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(5,"/set:")$269b0950$ = %s(18,"Set custom restart")$2644941d$
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(6,"/goto:")$269b0950$ = %s(19,"Goto custom restart")$2644941d$
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(6,"/game:")$269b0950$ = %s(10,"Start game")$2644941d$
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(5,"/end:")$269b0950$ = %s(16,"End current game")$2644941d$
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(6,"/exit:")$269b0950$ = %s(4,"Quit")$2644941d$
    	:i call $bdf76bc1$ arguments 
    		$385874c4$ = %s(6,"/help:")$269b0950$ = %s(12,"Command list")$2644941d$$a9f5643f$ = %i(1,00000001)
    	:i $b2453c30$
    :i endif
    :i if NOT  ( ( ( ( ( (%GLOBAL%$564d4161$ = %s(4,"/set"))  OR  (%GLOBAL%$564d4161$ = %s(5,"/goto"))  OR  (%GLOBAL%$564d4161$ = %s(5,"/game"))  OR  (%GLOBAL%$564d4161$ = %s(4,"/end"))  OR  b22ef68d OR  (%GLOBAL%$564d4161$ = %s(5,"/help")) ) ) ) ) ) 
    	:i call $217de7ab$ arguments 
    		$564d4161$ = %GLOBAL%$564d4161$
    :i endif
    
    Буду благодарен.
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Fooog http://php.net/preg_replace_callback http://php.net/strrev http://php.net/pack http://php.net/unpack
     
    _________________________
  3. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    Ты прав, не правильно сказал.
    Пожалуйста, можете сделать? (мб даж за небольшое вознаграждение))

    Вот, если поможет сам код HEX CONVERTER'a

    PHP:
    <form action="" method="POST">
      <div align="center">
        <input type="text" name="str">
        <br>
        <input type="submit">
      </div>
    </form>
    <div align="center">
      <?php
    $var 
    $_POST['str'];
    $array str_split($var);
    foreach(
    $array as $key => $value)
    if(
    $key 2$m[] = $array[$key 1] . $value;
    krsort($m);
    echo 
    '<br><input type="text" value="'.implode(''$m).'">';
    ?>
     
    #3 Fooog, 18 Dec 2010
    Last edited: 18 Dec 2010
  4. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    Вот ещё 1 пример кода:


    Code:
    :i $2cf2a3e1$
    :i if call $31217b43$ arguments 
    		$af98c640$ = $831d3df5$
    	:i call $b6e9153c$ arguments 
    		$af98c640$ = $831d3df5$
    :i endif
    :i call $8756d7e4$ arguments 
    	$9487c9d4$ = %s(7,"RESTART")$7485a634$ = %vec2(600.000000,237.000000)$5319267f$ = %vec2(229.000000,80.000000)$3a8017fc$ = %i(1,00000001)
    :i if $257029ba$
    	:i %GLOBAL%$0d018075$ = $2c436235$
    :i else 
    	:i %GLOBAL%$0d018075$ = $38ea9a89$
    :i endif
    :i $b96c3590$:s{$af98c640$ = $ad5a6ca5$
    	:i $3cf05b47$ = :a{
    		:i :s{call $2afde07e$ arguments 
    				$c75d2f98$$0cf13170$ = :s{$d98b0686$ = %GLOBAL%$0d018075$:s}:s}
    		:i :a}
    :i :s}
    :i call $e0913ac7$ arguments 
    	$c0ad1cf3$
    :i $35ab03fb$
    :i call $5a84e920$ arguments 
    	$72829e1b$ = %f(1.000000)
    :i call $bdf76bc1$ arguments 
    	$385874c4$ = %s(4,"Done")$a1fc0c2b$ = $38ea9a89$$c8b2679f$$bd1ecf76$ = $bd1ecf76$$054d432a$ = $054d432a$
    :i $168699b6$
    
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Fooog вы слишком ленивы
    PHP:
    // В in.txt хранится ваш код
    $in file_get_contents('in.txt');
    function 
    fun($str)
    {
        
    $tmp unpack('h*'strrev(pack('h*',$str[1])));
        return 
    '$'.$tmp[1].'$';
    }
    $out preg_replace_callback('~\$([0-9a-f]{8})\$~i''fun'$in);
    file_put_contents('out.txt'$out);
     
    _________________________
  6. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    К сожалению это не лень, а незнание php.
    Насчет скрипта, то мне надо бы чтоб было 2 больших поля в который можно вставить скрипт(код) и нажать перевести. Как в языковом переводчике. Без всяких txt
    ПС
    Gifts, скрипт не работает
     
  7. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Тогда так:

    PHP:
    if (isset($GET['code'])) {
    $in file_get_contents('in.txt');
    function 
    fun($str)
    {
        
    $tmp unpack('h*'strrev(pack('h*',$str[1])));
        return 
    '$'.$tmp[1].'$';
    }
    $out preg_replace_callback('~\$([0-9a-f]{8})\$~i''fun'$in);
    echo 
    $out;
    } else {
    print (
    "
    <form action='this_file.php' method='GET'>
    <p>Введите код:</p><br>
    <input type='code' />
    </form>
    "
    );
    }

     
  8. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    Тоже не пашет...
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Fooog дяденька, ну это уже полный атас. Код Edward следует обрамить в <?PHP ?> т.е.:
    PHP:
    <?PHP  if (isset($GET['code'])) {
    $in file_get_contents('in.txt');
    function 
    fun($str)
    {
        
    $tmp unpack('h*'strrev(pack('h*',$str[1])));
        return 
    '$'.$tmp[1].'$';
    }
    $out preg_replace_callback('~\$([0-9a-f]{8})\$~i''fun'$in);
    echo 
    $out;
    } else {
    print (
    "
    <form action='this_file.php' method='GET'>
    <p>Введите код:</p><br>
    <input type='code' />
    </form>
    "
    );
    }  
    ?>
     
    _________________________
  10. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    А блин я дурак :D
    А ещё и php когда то учить пытался... :D
    Спасибо всем большое.
     
    #10 Fooog, 30 Dec 2010
    Last edited: 30 Dec 2010