Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

VB Code In PHP Übersetzen

- - - - -

  • Bitte melde dich an um zu Antworten
9 Antworten in diesem Thema

#1
jabba

jabba

    Hacker

  • Premium Member
  • Likes
    50
  • 157 Beiträge
  • 70 Bedankt
  • Android
  • Windows
Hallo,
Ich Frage hier mal was für ein guten Kumpel vielleicht kann Ihn ja mal jemand weiter helfen,
meine PHP Kenntnisse versagen..

Er will sein VB Code in PHP realisieren.

VB Code:
Private Function MD5(input As String) As Byte()
	 Dim provider As New MD5CryptoServiceProvider()
	 Dim data As Byte() = Encoding.Default.GetBytes(input)
	 Return provider.ComputeHash(data)
End Function
Private Function Decrypt(input As String, password As String) As String
	 Dim data As Byte() = Convert.FromBase64String(input)
	 Dim pass As Byte() = MD5(password)
	 For i As Integer = 0 To data.Length - 1
		 data(i) = data(i) Xor pass(i Mod pass.Length)
	 Next
	 Return Encoding.Default.GetString(data)
End Function

Dim D As String() = {}
										 Try
											 D = New WebClient().DownloadString(Url).Split(CChar("#"))
										 Catch ex As Exception
											 MessageBox.Show(ex.ToString)
										 End Try
										 Dim ToS As String = String.Empty
										 If D.Count = 0 Then Exit Sub
										 For Each p As String In D
											 If Not Regex.IsMatch(p, "\[\d{4,4}-\d{2,2}-\d{2,2} \d{2,2}:\d{2,2}:\d{2,2}\]") AndAlso p.Length > 10 Then
												 ToS &= Decrypt(p, "TESTI") & Environment.NewLine
											 Else
												 ToS &= p & Environment.NewLine
											 End If
										 Next


PHP Code bisher :

<?php
error_reporting(-1);
ini_set('display_errors', '1');
$Fil = 'TESTDATEI.txt';

if (file_exists($Fil)) {
echo 'Bin schon angekommen hier';
$Endd = "";
$d = explode("#" , file_get_contents($Fil);
echo count($d);
foreach ($d) as $f) {
if(!preg_match('%\[\d{4,4}-\d{2,2}-\d{2,2} \d{2,2}:\d{2,2}:\d{2,2}\]%', $f) && strlen($f) > 10))
{
$Endd .= decrypt($f, "TESTI") . "\n";
}
else
{
$Endd .= $f . "\n";
}
}
echo "Ergebnis: " . $Endd;
}

function decrypt($inp, $pass) {
$data = base64_decode($inp);
print_r ($data);
$pazz = md5($pass);
print_r ($pazz);
for ($i = 0; $i < strlen($data); $i++) {
$data[i] = $data[i] ^ $pazz[i % strlen($pazz)];
}
return $data;
}
?>



Irgendwie wird mir kein Fehler angezeigt.. Finde auch keinen.. Vllt. kann mir da ja mal jemand helfen, wäre nett.



#2
K4zuj4

K4zuj4

    Alter Hase

  • Premium Member
  • Likes
    2
  • 17 Beiträge
  • 0 Bedankt
Hahaha du solltest es in der php.ini umstellen oder dir einen anderen
Server anbieter holen xD.png' class='bbc_emoticon' alt='xD' />

Also folgendes:
$d = explode("#" , file_get_contents($Fil));
foreach ($d) as $f) {
if(!preg_match('%[d{4,4}-d{2,2}-d{2,2} d{2,2}:D{2,2}:D{2,2}]%', $f) && strlen($f) > 10))

Die Orangenen Zeichen sind zuviel.
Das Rote Zeichen fehlt.

Also nun sollte es funktionieren =)
*Vergiss nicht die datei zu chmodden ;) *

Fixxed:
<?php

$Fil = './TESTDATEI.txt';
if (file_exists($Fil)) {
echo 'Bin schon angekommen hier';
$Endd = "";
$d = explode("#" , file_get_contents($Fil));
echo count($d);
foreach ($d as $f) {
if(!preg_match('%[d{4,4}-d{2,2}-d{2,2} d{2,2}:d{2,2}:d{2,2}]%', $f) && strlen($f) > 10)
{
$Endd .= decrypt($f, "TESTI") . "n";
}
else
{
$Endd .= $f . "n";
}
}
echo "Ergebnis: " . $Endd;
}else{
echo ' FEHLER:';
}
function decrypt($inp, $pass) {
$data = base64_decode($inp);
print_r ($data);
$pazz = md5($pass);
print_r ($pazz);
for ($i = 0; $i < strlen($data); $i++) {
$data[i] = $data[i] ^ $pazz[i % strlen($pazz)];
}
return $data;
}
?>

Bearbeitet von K4zuj4, 05 April 2013 - 03:12 Uhr.

  • Sn0opY gefällt das

#3
require

require

    Pentester

  • Premium Member
  • Likes
    46
  • 100 Beiträge
  • 17 Bedankt
  • Android
  • Windows
Du solltest auch beachten das viele kostenlose Hoster die Funktion
file_get_contents(); aus Sicherheitsgründen deaktiviert haben.


Ich empfehle dafür Xampp zu benutzen falls es kein öffentliches Projekt werden soll.

Eingefügtes Bild


#4
NightMareG

NightMareG

    Script Kiddie

  • Premium Member
  • Likes
    0
  • 28 Beiträge
  • 0 Bedankt
Hallo,

danke für die Hilfe.

Der Code sieht mittlerweile so aus:


<?php
error_reporting(-1);
ini_set('display_errors', '1');
$Fil = 'TestDatei.txt';


if (file_exists($Fil))  {
$Endd = "";
$d = explode("#" , file_get_contents($Fil));
foreach ($d as $f) {
if(!preg_match('%\[\d{4,4}-\d{2,2}-\d{2,2} \d{2,2}:\d{2,2}:\d{2,2}\]%', $f) && strlen($f) > 10)
{
$Endd .= decrypt($f, "TESTI") . "\n";
}
else
{
$Endd .= $f . "\n";
}
}
print_r($Endd);
}


function decrypt($inp, $pass) {
$data = base64_decode($inp);
$pazz = md5(utf8_decode($pass));

for ($b = 0; $b < strlen($data); $b++) {
$data[b] = $data[b] ^ $pazz[b % strlen($pazz)];
}
return utf8_decode($data);

}

?>


Zumindest zeigt er jetzt was an:

Notice: Use of undefined constant b - assumed 'b' in /d.php on line 30

Der Text der rauskommt ist leider noch wirrwarr.

Eigentlich sind im Vb.net Code auch Bytearrays in Benutzung und keine Strings.


Zum Beispiel in der Decryptfunktion hat man ja die Zeile:

$data = base64_decode($inp);

$data ist doch ein String und kein Bytearray.
Wenn man jetzt $data[index] in einer Forschleife macht
ist das dann äquivalent zum Vorgang mit einem Bytearray?

#5
K4zuj4

K4zuj4

    Alter Hase

  • Premium Member
  • Likes
    2
  • 17 Beiträge
  • 0 Bedankt
Also zu deinem Notice, das kannst du so eig auch weglassen oder etwa nicht?
Für mich sieht es so aus als würde im decrypt auch ein "Enter" etc übergeben, dieser wird
in der decrypt function nicht wirklich vearbeitet und gibt ein Notice raus.

Ich bin nun seit 28h wieder wach, ich schaus mir gleich nochmal bzw versuch es nochmal
besser an und gebe nochmals rückmeldung.

Edit: Hättest du als testfile eine datei die schon verschlüsselt ist?
Edit2: ich hab mir die base64 function von php nicht angeschaut
aber es ist bestimmt so das der input in ein bytearray umgewandelt wird
wärend des decodierens. Ich wei?? das ist in vb bissle anders xD.png' class='bbc_emoticon' alt='xD' />
Edit3: Wwerde mich morgen wieder melden - gn8 all -.-'

Bearbeitet von K4zuj4, 05 April 2013 - 17:09 Uhr.


#6
jabba

jabba

    Hacker

  • Premium Member
  • Likes
    50
  • 157 Beiträge
  • 70 Bedankt
  • Android
  • Windows
Wunderbar Tauscht euch aus ^^.png' class='bbc_emoticon' alt='^^' /> jetz hab ik ja nicht mehr viel zu sagen in mein Thread ist ja für Ihm hier "NightMareG" :)

MFG Jabba

#7
NightMareG

NightMareG

    Script Kiddie

  • Premium Member
  • Likes
    0
  • 28 Beiträge
  • 0 Bedankt
Also ein Teststring wäre der hier z.B:

[2013-04-01 01:46:19]Kevin#jhno8buORNdbrNIfUqh4i+Y87e/r#[2013-04-01 01:46:19]Kevin#hxbw9LbPWMpb/twfVrA6i+Y05fagwUDbTvnZDF+u#[2013-04-01 01:46:19]Kevin#ggHq/LnHR5Ie3MAJUrktn6MW4bGYwUXbHuXGWla1NJ3mGaTVsc9XzVbjwQ==#


Als Pw habe ich TESTI angegeben.

Bearbeitet von NightMareG, 05 April 2013 - 20:22 Uhr.


#8
K4zuj4

K4zuj4

    Alter Hase

  • Premium Member
  • Likes
    2
  • 17 Beiträge
  • 0 Bedankt
Irgendwie fällt mir gerade auf dass das XOR'n nicht funktioniert.
Daher, nimmst du einen String und encryptest ihn 2x mit base64,
callst dann deine funktion damit und änderst den Output von
$Endd .= decrypt($f, "TESTI") . "n";
zu
$Endd .= base64_decode(decrypt($f, "TESTI")) . "n";

Dann sieht man das die XOR Function garnichts macht....

?‚¬1:
Also, zuersteinmal:

for ($b = 0; $b < strlen($data); $b++) {
$data[b] = $data[b] ^ $pazz[b % strlen($pazz)];
}

Zu:

for ($b = 0; $b < strlen($data); $b++) {
$data[$b] = $data[$b] ^ $pazz[$b % strlen($pazz)];
}

Desweiteren stimmt da trozdem irgendetwas nicht ...

?‚¬2:
Deine .Net "Decryption" passt so nicht so ganz mit der PHP "Decryption"
Daher, in .Net holst du dir die Bytes in das Array, XOR'st Sie und gibts einen
Base64_String aus den XOR'd Bytes wieder aus.

In PHP jedoch holst du dir per base64 einen schon fertigen String,
also, PHP Selbst convertet das ganze bevor du überhaupt auf die
Bytes zugreifen kannst..., XOR'st ihn und versuchst ihn wieder auszugeben
was ja nicht geht.
Daher müsstest du die Bytes des base64 strings erst bekommen -.-

Bearbeitet von K4zuj4, 06 April 2013 - 09:28 Uhr.


#9
NightMareG

NightMareG

    Script Kiddie

  • Premium Member
  • Likes
    0
  • 28 Beiträge
  • 0 Bedankt
Mensch, endlich jemand der versteht was ich meine :)

Genau das meinte ich.. Php hat ja kein Bytearray in diesem Fall.

Kann man das irgendwie hinbekommen?

#10
K4zuj4

K4zuj4

    Alter Hase

  • Premium Member
  • Likes
    2
  • 17 Beiträge
  • 0 Bedankt
Du könntest versuchen in vb den String als hex array zu bekommen
und diesen dan zu xor'n und in php dann per unpack zu dexor'n

Please Login HERE or Register HERE to see this link!



Bin gerade nicht athome ums zu testen.



  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 0 user(s)


Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.