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

Статус
В этой теме нельзя размещать новые ответы.

t0os

Профессор
Регистрация
21 Окт 2007
Сообщения
283
Реакции
36
Вообщем, имеются функции для криптовки:

Код:
<?php
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}

return base64_encode($result);
}

function decrypt($string, $key) {
$result = '';
$string = base64_decode($string);

for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}

return $result;
}

?>

у меня есть закриптованный этой функцией файл. но без ключа ничего не получается. как бы ключ оттуда вытащить? можно брутфорсер написать, канеш. но это извращение. может что попроще есть?
 
Не специалист в php
но вроде тут в коде и криптовка и декриптовка и в обоих функциях переменная $key
С точки зрения математики найти неизвестное нельзя ... в php фиг его знает .. люди бывает чудеса творят
с брутом будут проблемы тк вы незнаете что должно получиться на выходе ..
как вы определите что брут подобрал нужный кей ??
 
Да,с брутом я погорячился. У меня только входные данные для расшифровки.

Хотя, можно брутить, пока ошибка скрипта выводится. Если ошибки не будет, значит, скорее всего, ключ подобран.
 
Откуда функция, если не секрет? )
 
Вообщем, имеются функции для криптовки:

Код:
<?php
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
 
return base64_encode($result);
}
 
function decrypt($string, $key) {
$result = '';
$string = base64_decode($string);
 
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}
 
return $result;
}
 
?>

у меня есть закриптованный этой функцией файл. но без ключа ничего не получается. как бы ключ оттуда вытащить? можно брутфорсер написать, канеш. но это извращение. может что попроще есть?
Математика говорит- неизветных должно быть столькоже, сколько уравниний. То бишь нужен вариант до и после крипта. Брут написать несложно



Запустил получил значение
:yahoo::yahoo::yahoo:

:yahoo::yahoo::yahoo:
Вроде подходит
 
  • Нравится
Реакции: t0os
Jeurey, не секрет - нарыл на простарах интернета :D
KillDead, спасибо, сейчас буду пробовать :)
 
t0os: а что за код? и как используется?

если php код и вызывается eval(), то с высокой вероятностью первые символы будут "<?"
второе , символы внутри имеют ограниченное множество (скорее всего это латиница + цифры + знаки препинания), а не все 256
это тоже может снизить число возможных ключей
 
Немного ступил - в коде eval(decrypt( encrypt(TRUE_CODE, $key) , $key)); //
евал **х не нужен, нужно просто известную строчку кодировать и декодировать. И заменить ord на chr
t0os: а что за код? и как используется?

если php код и вызывается eval(), то с высокой вероятностью первые символы будут "<?"
второе , символы внутри имеют ограниченное множество (скорее всего это латиница + цифры + знаки препинания), а не все 256
это тоже может снизить число возможных ключей
Вообщето скорее всего так (ключ это латиница + цифры + знаки препинания), но есть возможность использовать даже некоторые непечатные
 
KillDead:
не вчитывался в твой код, только что заметил
но разве decrypt( encrypt(TRUE_CODE, $key) , $key) === TRUE_CODE при любом $key ?
 
KillDead:
не вчитывался в твой код, только что заметил
но разве decrypt( encrypt(TRUE_CODE, $key) , $key) === TRUE_CODE при любом $key ?
:Dда, при любом. Только что заметил. Просто чел попросил ключ вытащить. А очень часто ключ так же должен сгенерирован по определённому алгоритму. Надо было проверить это в первую очередь.:D
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху