nach meinem Tut wie man LT-Pointer findet noch wie man die gedumpte CShell.dll überhaupt bekommt.
Einfache Version:
Ladet euch die Dateien aus dem Anhang runterund verschiebt "DLLLoader.exe" in das Verzeichnis in dem CShell.dll liegt.
Und "pedumper.dll" kommt ins OllyDbg-Verzeichniss.
Dann startet ihr "DLLLoader.exe" (als Admin!) und wartet kurz bis es so aussieht:
Dann gebt ihr CShell.dll ein und drückt Enter.
Nun öffnet ihr OllyDbg und klickt im File-Menu auf Attach
Dann sollte sich ein solches Menu öffnen:
Hier wählt ihr die Exe-Datei aus und klickt auf Attach.
Dann geht ihr im Menu Plugins>OllyDbg PE Dumper auf Make Dump of Process.
Im Fenster dass sich öffnet wählt ihr oben CShell.dll und klickt auf Dump.
Nun gebt ihr an wo ihr die gedumpte CShell gesaved haben möchtet.
ACHTUNG! Überschreibt nicht die originale CShell.dll!
Und nun seid ihr fertig die so gedumpte CShell kann problemlos debuggt werden.
Schwierigere Version:
Eigentlich genau das selbe nur könnt ihr auch den DLLLoader selbst programmieren.
Code für Delphi:
Code:
program DLLLoader;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var err:String;
hDLL:THandle;
DLL:String;
begin
try
{ TODO -oEntwickler -cKonsole Main : Hier Code einfügen }
Write('.DLL to load: ');
ReadLn(DLL);
hDLL:=LoadLibrary(PWideChar(DLL));
if hDLL = 0 then
begin
Str(GetLastError, err);
WriteLn(err);
ReadLn;
Exit;
end;
WriteLn('Loaded ' + DLL + '...');
ReadLn;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
Code:
#include "windows.h"
#include <iostream>
int main()
{
DWORD err;
HINSTANCE hDLL = LoadLibrary("CShell.dll"); // Handle to DLL
if(hDLL != NULL) {
printf("Library has been loaded\n");
}
else {
err = GetLastError();
printf("Couldn't load dll\n");
}
system("pause");
return 0;
}
Latschko hat mir eine PM geschrieben dass auch er gerne bei Problemen hilft,
also könnt ihr auch ihn fragen.
MfG Anthrax






