Virus? Kann keine Bilder mehr öffnen

Backup der Bilder gibt es leider nicht. Also ist dann wohl leider alles hinüber oder?
 
Malwarebytes haben wir benutzt.

Wenn ich die Datei umschreibe auf Jpg kommt erstmal die Meldung wenn sie die Datei nun ändern wird sie wohl unbrauchbar und wenn ich sie denn öffnen will sagt das normale Bildöffnungsprogramm bei Windows Bild kann nicht angezeigt werden!
 
Ist jetzt mal blosse Spekulation. Es wirkt ein bischen so, als wären die Dateien verschlüsselt worden, was natürlich "worst-case" wäre. (Das spricht übrigens weniger für einen BKA-Virus.) Daher...

- Hast du noch Informationen zum Virusscan, der die Viren fand? Wichtig wäre hier nur Namen der Viren. Ggf. können wir so Informationen zu deren Verhalten finden.

- Kannst du eine Bilddatei, samt hinzugefügter Endung, hier als Anhang bereit stellen? Ich habe eine _kleine_kleine_ Hoffnung, das die Endung der Schlüssel zur Entschlüsslung sein könnten, da diese scheinbar unterschiedlich sind. Mit dem passenden Verfahren, wer weiß...

- Eine Neuinstallation würde dich zumindest von ewatigen restlichen Virenbefall befreien. Dafür umbeding alle Daten extern sichern und die Platte bei keinem Rechner mit Autostart anschließen. Wenn du dann Neuinstallieren willst, würde ich beim ersten Windows-Setup-Start die Patitionen löschen, dann Rechner komplett neustarten und beim zweiten Setup-Start neue Partitionen anlegen und auf eine Windows installieren. Das würde weitgehenst ewaitigen Rootkits entgegensteuern. Die Platte mit der Datensicherung umbeding an einem Rechner, der kein Autostart hat, mit Kaspersky, F-Secure, Avast (oder gleichwertigen AV-Programmen) scannen. Ich glaube mit halten der Shift/Hochstelltaste kannste Autostart verhindern?!

jo... soweit erstmal
 
Zuletzt bearbeitet: (Rechtschreibung)
Die Dateien sind verschlüsselt. Da bringt umbenennen absolut nichts.
Es gibt derzeit einige Workarounds was diese Art von Schädlingsbefall betrifft. Die Daten müssen nicht unbedingt verloren sein, man muss sie halt nur entschlüsseln.

Für die Zukunft hab ich diese Tipps für dich/euch:
- aktuellen Virenscanner einsetzen (Gab in letzter Zeit wieder einige Tests aktueller SW, mag hier kein Flamewar bez. der Produkte anheizen) und diesen stets aktuell halten
- Brain.exe nutzen, also mit Bedacht surfen und öfters mal das eigene Verhalten kritisch überprüfen
- kein Konto mit Adminrechten zum surfen, spielen etc. verwenden
- regelmäßige Backups auf externen Datenträgern (Cloud (Google Drive, Skydrive), USB HDD etc.)
 
Also den genauen Namen der Viren die er noch gefunden hat weiss ich nun leider nicht mehr .
ausser einen einen habe ich mir als Bild gespeichert Risware.Tool.CK C:\w7lxe-v-10.exe


Hier mal ein paar Bilder
http://www.fileuploadx.de/191177

Kannst es dir ja mal anschauen .

mfg
 
Ich habe mir mal ein paar angesehen. Sie sind nicht verschlüsselt, soweit ich erkennen kann. Jedoch hatte jede Datei ca. 4,7KB großen identischen angehangenen Header (später steht da ein Datum und auch der Verzeichnisname "mamaneuhandy". Danach fängt, leicht überschneidend, die eigentliche Bilddatei an. Insofern müsste man den Kopfbereich jeder Datei an richtiger Stelle löschen und den richtigen Header_anfang_ einfügen und die Bilddatei sollte wieder funktionieren. Ich schaue mal, ob ich das per PHP realisiert bekomme...
 
Code:
Comparing files locked-DSCI1890.JPG.eunp and LOCKED-DSCI1891.JPG.VBVG
00000004: 96 9B
00000005: C2 E6
0000010C: 3B 3D
0000010D: BC BE
000001AA: 50 46
000002BE: 9C 9A
000002BF: B7 B5
000002D2: 7B 7D
000002D3: 12 10

Wo ist da was identisch im Header?
 
@Mumpitzelchen im Header nicht, weiter unten dann kommt ein identer Teil, zumindest bei den 2 Dateien die ich Zeit hatte anzusehen. Ob der allerdings ausreicht um was zu identifizieren soll wer anders Entscheiden ;)
 
Hmm richtig, die angefügten Header varieren... jedoch ab der ersten Position der Hexwerte "FF DB" sollte die eigentlichen JPG-Daten sein. Es ist zwar noch ungetestet, aber alles bis dahin weg und dann davor folgende Werte einfügen:
Code:
FF D8 FF E0 
00 10 4A 46
49 46 00 01 
01 01 01 2C
01 2C 00 00

Da ich jedoch kaum Erfahrung im Programmieren für solche Dateioperationen habe - PHP ist keine gute Wahl - stelle ich mich da arg unbeholfen an. Wenn hier einer eine züge Methode hat, diese Datei dementsprechend umzuwandeln, möge er sich vordrängeln. :)
Ergänzung ()

Hab jetzt einiges probiert. Ein großes Problem ist, das ich den Anfang des Bild-Headers nicht korrekt bestimmen kann, oder aber das er bewusst nicht mehr vollständig da ist. Leider ist nach Spezifikation gleich zu Anfang einiges wichtiges definiert. Mir scheint auch, das der mitunter variabel lang ist. Hier habe ich nicht genug Erfahrung/Wissen um genauer weiterzuhelfen. Der Datenbereich ist jedenfalls vorhanden und lässt sich ab Position des ersten "FFDB"-Hexwertes erkennen.

Ich habe auch hier ein PHP-Schnippsel, das soweit den Header dieser Dateien umschreiben kann - wenn sich denn der original Header irgendwie restaurieren lässt. :(

Code:
<?
if(!function_exists('hex2bin')){
	function hex2bin($data){
		$bin    = "";
		$i      = 0;
		do{
			$bin    .= chr(hexdec($data{$i}.$data{($i + 1)}));
			$i      += 2;
			} while ($i < strlen($data));
		return $bin;
		}
	}

$filename = 'locked-DSCI1890.JPG.eunp';
$realfilename = substr($filename, 7, -5);

$file = file_get_contents($filename);
$posfound = null;

$len = strlen($file);
for($i=0; $i<$len; $i++){ 
	$hex = bin2hex(substr($file,$i,2));
	if($hex == 'ffdb'){
		$posfound = $i;
		echo 'Hex "'.$hex.'" fount at '.$i."<br/>";
		break;
		}
	}

	
$replace = hex2bin('FFD8FFE000104A46494600010101012C012C0000');
if($posfound === null) die('Hex not found... :(');


echo file_put_contents($realfilename, $replace.substr($file, $posfound)) ? 'File rewritten' : 'File rewrite failed';
?>
Ergänzung ()

Vielleicht setze ich mich heute abend nochmal ran. :rolleyes:
 
Zuletzt bearbeitet: (Korrekturen)
Hehehe... :D

Ich habs. War kniffelig, da nur 2 Bilder "normale" JPEGs waren, alle andere wiederum mit XMP (für Kommentare in den Bildern) erweitert wurden. Bei denen wurde der grundlegende JPEG-Header schlicht gelöscht. Dieser ist aber nur 29Bytes lang. Aber bevor ich hier nur schwaller - ich hab was brauchbares zusammengeschrieben:

Du brauchst nen XAMPP auf deinem Rechner, den wir für die Wiederherstellung nutzen. Ich bin für heute zu kaputt für eine Installationsanleitung des XAMPPs. Da musst du nun selbst durch, oder dir hilfe erfragen/googeln.

Da mein Script nicht sonderlich dynamisch gestaltet wurde, müssen wir die Umgebung dafür herrichten:

- Dafür gehts du in das "htdocs"-Verzeichnis im installiertem Xampp (bspw.: c:/xampp/htdocs) und löscht alles darin.

- Dann erstellst du darin zwei Ordner mit den Namen "repaired" und "defekt".

- Dann nimmst du den Editor/Notepad, fügst den PHP-Code (siehe unten) ein und speicherst das als "index.php" auch darein. (Achte darauf dass das nicht sowas wie "index.php.txt" wird)

- Nun kannst du alle kaputten Bilddateien in den von dir erstellen "defekt"-Ordner kopieren. Dabei ist es nicht wichtig, ob noch andere Dateien dabei sind - die werden einfach ignoriert - oder ob die Bilder in verschiedenen Unterordner liegen. Hauptsache alles in den "defekt"-Ordner.

- Achtung: Ich gehe davon aus, das alle kaputten Dateien mit "locked-" anfangen und mit ".wxyz" oder so enden. Daran erkenne ich die falschen Bilder und benenne sie zum unsprünglichen Namen um. Ausserdem sollte das nur für JPEG Bilder funktionieren.

- Alles vorbereitet musst du nur noch im Browser die Adresse "http://127.0.0.1" aufrufen und schon startet das Script. Bedenke, das bei vielen vielen Dateien lange keine Ausgabe kommt. Erst wenn das Script fertig ist, zeigt es alle Dateien an und ob sie repariert wurden.

- Nun findest du mit gleicher Unterordnerstruktur alle Bilddateien im "repaired"-Ordner

Fertig. Mal schauen wie du dich damit schlägst. :D

hier noch der Code
Code:
<?
if(!function_exists('hex2bin')){
	function hex2bin($data){
		$bin    = "";
		$i      = 0;
		do{
			$bin    .= chr(hexdec($data{$i}.$data{($i + 1)}));
			$i      += 2;
			} while ($i < strlen($data));
		return $bin;
		}
	}

function repair($path, $filename){	
	$realfilename = substr($filename, 7, -5);
	 
	$file = file_get_contents('defekt'.$path.'/'.$filename);
	$posfound = null;
	$replace = '';
	 
	$len = strlen($file);
	for($i=0; $i<$len; $i++){ 
		$hex = bin2hex(substr($file,$i,4));
		if($hex == 'ffd8ffe0'){			
			$posfound = $i;
			break;
			}		
		elseif(substr($hex,0,-2) == 'ffe10b'){
			$replace = hex2bin('ffd8ffe000104a46494600010101000000000000');
			$posfound = $i;
			break;
			}
		}
	 
	if($posfound === null) return false;
	else{		
		return file_put_contents('repaired'.$path.'/'.$realfilename, $replace.substr($file, $posfound));
		}
	}
	
function recursiveSearch($path){
	if(!is_dir('repaired'.$path)) mkdir('repaired'.$path);
	foreach(scandir('defekt'.$path) as $f) if($f !== '.' and $f !== '..'){		
		if(is_dir('defekt'.$path.'/'.$f)) recursiveSearch($path.'/'.$f);
		elseif(substr($f, 0, 7) == 'locked-'){
			echo '<tr><td>'.$path.'/'.$f.'</td><td>&nbsp;<b>'.(repair($path, $f) ? 'ok' : '').'</b></td></tr>';
			}
		}
	}

echo '<table>';
recursiveSearch('');
echo '</table>';	
?>

PS: süsse Katze :)
 
Zuletzt bearbeitet: (Rechtschreibung etc.)
Diese Operationen bitte unbedingt mit einer Kopie der Dateien durchfuehren.

Weitere Links zu deinem Thema findest du im Unterforum Anwendungen/Sicherheit.
 
Geht das auch mit office datein?

Also das Script startet aber in den repaired order kommt nichts an!

mfg
 
Zuletzt bearbeitet:
Na was zeigt den die Ausgabe im Browser an?
(Jede Datei, die erkannt wurde, wird zumindestens aufgelistet und ein ok steht dahinter, wenn versucht wurde sie zu reparieren.)

Ich hab das jetzt "nur" für jpeg Dateien gemacht. Die Dateien, die du zur Verfügung gestellt hast, konnte ich wiederherstellen. Für jede weitere Dateiart müsste man den Anfang der ursprünglichen Datei finden, daher ist das pro Dateityp unterschiedlich schwierig/aufwendig.
 
Also habe das testweise mal laufen lassen und bin erstaunt!

Respekt @ Kokuswolf.

Nach (kurzer) Analyse war ich mir sicher, da sei nichts mehr zu retten..

Ich bekam als Ausgabe .jp Dateien, warum auch immer, aber mit einer DOSe ist das leicht behoben.
 
Hallo!
bitte beschreiben Sie schrit für schrit ganze operation
ich habe genau so wie geschrieben gemacht, kommen immer fehler im Browser
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\index.php on line 23 oder andere line 26, 28, 30......
locked-DSC00384.JPG.ydrn
/locked-DSC00385.JPG.ylfg
/locked-DSC00386.JPG.cldf

win 7, virus mit e-mail gekomen

ich brauche Hilfe da sind sehr wichtige fotos für mich
danke
 
Hier wird es erklärt:

http://de2.php.net/set_time_limit

Du kannst auch probieren, erst einmal nur wenige oder kleine Bilder zu "retten"

btw:
Welcher Virus ist das?
 
Zuletzt bearbeitet: (Ergänzungen)
Hallo
danke für link
aber kann ich nicht so gut mit PC umgehen und leider keine englisch

Virus war änlich wie BKA, ich habe sofort alle Festplate formatiert
 
Zurück
Oben