Splo1teR
19.03.2009, 01:30
Есть файло зашифрованное CodeLock вот оно (http://rapidshare.com/files/210841919/Tester.rar.html).
Код codelock.php расшифровать удалось,
получил вот такой класс,
<?
ob_start();
class codelock {
var $ojvxjurs;
var $jsbrqnej;
var $vlvxkrst;
var $niauyfqo;
var $crrtvjym;
var $heuzwyso;
function codelock ($btgfapiw) {
$this->vlvxkrst = $btgfapiw;
$this->ojvxjurs = "http://licensetracker.info/tbp2/tracker.php";
$this->jsbrqnej = "CRAF-TL3N-D2HG23C1T23R";
$this->niauyfqo = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$this->crrtvjym = $_COOKIE['codelock'];
$this->heuzwyso = $_GET;
}
function output () {
if (file_exists($this->vlvxkrst)) {
$qoukqvyz = fopen($this->vlvxkrst, "r");
if ($qoukqvyz) {
$mfggjzxt = "";
$qjvkzrkb = fgets($qoukqvyz, 4096);
if (md5(substr($qjvkzrkb, 0, 151)) == "6fbe15870fa8f8390cce7bfb217cc3f0") {
while (!feof($qoukqvyz)) {
$qjvkzrkb = fgets($qoukqvyz, 4096);
if (substr($qjvkzrkb, 0, 2) != "//") {
$mfggjzxt .= $qjvkzrkb;
}
}
}
else {
$qjvkzrkb = false;
}
fclose($qoukqvyz);
if ($qjvkzrkb) {
$jsuyxdcf = base64_decode($mfggjzxt);
$ghcnqrax = base64_decode($this->uroysdqk());
for ($kwctpeco=0;
$kwctpeco < strlen($ghcnqrax);
$kwctpeco++) {
$hjkjetbh = substr($ghcnqrax, $kwctpeco, 1);
$mcposkdp = substr($this->jsbrqnej, $kwctpeco % strlen($this->jsbrqnej), 1);
$royyjlcb .= chr(ord($hjkjetbh) ^ ord($mcposkdp));
}
$ghcnqrax = $royyjlcb;
$royyjlcb = "";
if ($ghcnqrax != "" && $jsuyxdcf != "") {
for ($kwctpeco=0;
$kwctpeco < strlen($jsuyxdcf);
$kwctpeco++) {
$hjkjetbh = substr($jsuyxdcf, $kwctpeco, 1);
$mcposkdp = substr($ghcnqrax, $kwctpeco % strlen($ghcnqrax), 1);
$royyjlcb .= chr(ord($hjkjetbh) ^ ord($mcposkdp));
}
}
}
}
}
return "?>".$royyjlcb."<?";
}
function uroysdqk () {
$ghcnqrax = "";
if ($this->crrtvjym != "") {
$ghcnqrax = $this->crrtvjym;
$ghcnqrax = str_replace(array('-','_','.'),array('+','/','='),$ghcnqrax);
}
if ($ghcnqrax == "") {
if ($this->heuzwyso['codelock'] != "") {
$ghcnqrax = $this->heuzwyso['codelock'];
if (count($this->heuzwyso) > 1) {
$dqfadrkt = eregi_replace("\&codelock=".urlencode($ghcnqrax), "", $this->niauyfqo);
}
else {
$dqfadrkt = eregi_replace("\?codelock=".urlencode($ghcnqrax), "", $this->niauyfqo);
}
$htcixbwc = "http://".$dqfadrkt;
$ghcnqrax = str_replace(array('+','/','='),array('-','_','.'),$ghcnqrax);
header("Set-Cookie: codelock=".$ghcnqrax.";
");
header("Location: ".$htcixbwc);
}
else {
$mfggjzxt = "";
$qoukqvyz = fopen("codelock.php", "r");
if ($qoukqvyz) {
while (!feof($qoukqvyz)) {
$mfggjzxt .= fgets($qoukqvyz, 4096);
}
}
fclose($qoukqvyz);
$raaizlbb = md5($mfggjzxt);
$vjsclbvv = $this->ojvxjurs."?http://".$this->niauyfqo."&licence=".$this->jsbrqnej."&checksum=".$raaizlbb;
header("Location: ".$vjsclbvv);
}
}
return $ghcnqrax;
}
}
?>
но вот в код я воткнуть не могу, как поправить чтобы не исполнял, а выводил код и следовательно я бы мог прочитать код tester.php. Сам файл не несёт никакого важного кода, просто хочу понять принцип как он это дело дешифрует.
Парни помогите разобраться дам 10 WMZ =)
Код codelock.php расшифровать удалось,
получил вот такой класс,
<?
ob_start();
class codelock {
var $ojvxjurs;
var $jsbrqnej;
var $vlvxkrst;
var $niauyfqo;
var $crrtvjym;
var $heuzwyso;
function codelock ($btgfapiw) {
$this->vlvxkrst = $btgfapiw;
$this->ojvxjurs = "http://licensetracker.info/tbp2/tracker.php";
$this->jsbrqnej = "CRAF-TL3N-D2HG23C1T23R";
$this->niauyfqo = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$this->crrtvjym = $_COOKIE['codelock'];
$this->heuzwyso = $_GET;
}
function output () {
if (file_exists($this->vlvxkrst)) {
$qoukqvyz = fopen($this->vlvxkrst, "r");
if ($qoukqvyz) {
$mfggjzxt = "";
$qjvkzrkb = fgets($qoukqvyz, 4096);
if (md5(substr($qjvkzrkb, 0, 151)) == "6fbe15870fa8f8390cce7bfb217cc3f0") {
while (!feof($qoukqvyz)) {
$qjvkzrkb = fgets($qoukqvyz, 4096);
if (substr($qjvkzrkb, 0, 2) != "//") {
$mfggjzxt .= $qjvkzrkb;
}
}
}
else {
$qjvkzrkb = false;
}
fclose($qoukqvyz);
if ($qjvkzrkb) {
$jsuyxdcf = base64_decode($mfggjzxt);
$ghcnqrax = base64_decode($this->uroysdqk());
for ($kwctpeco=0;
$kwctpeco < strlen($ghcnqrax);
$kwctpeco++) {
$hjkjetbh = substr($ghcnqrax, $kwctpeco, 1);
$mcposkdp = substr($this->jsbrqnej, $kwctpeco % strlen($this->jsbrqnej), 1);
$royyjlcb .= chr(ord($hjkjetbh) ^ ord($mcposkdp));
}
$ghcnqrax = $royyjlcb;
$royyjlcb = "";
if ($ghcnqrax != "" && $jsuyxdcf != "") {
for ($kwctpeco=0;
$kwctpeco < strlen($jsuyxdcf);
$kwctpeco++) {
$hjkjetbh = substr($jsuyxdcf, $kwctpeco, 1);
$mcposkdp = substr($ghcnqrax, $kwctpeco % strlen($ghcnqrax), 1);
$royyjlcb .= chr(ord($hjkjetbh) ^ ord($mcposkdp));
}
}
}
}
}
return "?>".$royyjlcb."<?";
}
function uroysdqk () {
$ghcnqrax = "";
if ($this->crrtvjym != "") {
$ghcnqrax = $this->crrtvjym;
$ghcnqrax = str_replace(array('-','_','.'),array('+','/','='),$ghcnqrax);
}
if ($ghcnqrax == "") {
if ($this->heuzwyso['codelock'] != "") {
$ghcnqrax = $this->heuzwyso['codelock'];
if (count($this->heuzwyso) > 1) {
$dqfadrkt = eregi_replace("\&codelock=".urlencode($ghcnqrax), "", $this->niauyfqo);
}
else {
$dqfadrkt = eregi_replace("\?codelock=".urlencode($ghcnqrax), "", $this->niauyfqo);
}
$htcixbwc = "http://".$dqfadrkt;
$ghcnqrax = str_replace(array('+','/','='),array('-','_','.'),$ghcnqrax);
header("Set-Cookie: codelock=".$ghcnqrax.";
");
header("Location: ".$htcixbwc);
}
else {
$mfggjzxt = "";
$qoukqvyz = fopen("codelock.php", "r");
if ($qoukqvyz) {
while (!feof($qoukqvyz)) {
$mfggjzxt .= fgets($qoukqvyz, 4096);
}
}
fclose($qoukqvyz);
$raaizlbb = md5($mfggjzxt);
$vjsclbvv = $this->ojvxjurs."?http://".$this->niauyfqo."&licence=".$this->jsbrqnej."&checksum=".$raaizlbb;
header("Location: ".$vjsclbvv);
}
}
return $ghcnqrax;
}
}
?>
но вот в код я воткнуть не могу, как поправить чтобы не исполнял, а выводил код и следовательно я бы мог прочитать код tester.php. Сам файл не несёт никакого важного кода, просто хочу понять принцип как он это дело дешифрует.
Парни помогите разобраться дам 10 WMZ =)