Tag
Ich code im Moment an meinem HwB0T, hab jedoch das Problem das ich aus einer DLL bestimmte Informationen auslesen und anwenden will. Die DLL ist in C++ gecoded und das, womit ich auslese in C#
Jedoch bekomme ich das nicht so wirklich hin... zB die Netzwerkinformationen (Verbindung, W-Lan/Lan sowas halt) - es funktioniert einfach nicht.
Ich wäre euch sehr verbunden wenn mir jemand, der ein C++ kenner ist mir nen Praxisbezogenes Beispiel geben kann wie ich das löse.
Kind Regards,
Hawkins
Elexarie
16.08.2010, 18:20
Präsentiere uns mal die .dll - Datei. =)
Oha Malware in .net und dann auch noch eine die was droppt.
Würd ich dir davon abraten...
Zu deiner Frage:
Ich schätz da wird die WinAPI verwendet und diese kannst du mit ddlimport auch in C# verwenden.
Also lass das mit der DLL und Google mal ein bischen (notfalls kannst du auch noch hier fragen ;))
Oha Malware in .net und dann auch noch eine die was droppt.
Würd ich dir davon abraten...
Zu deiner Frage:
Ich schätz da wird die WinAPI verwendet und diese kannst du mit ddlimport auch in C# verwenden.
Also lass das mit der DLL und Google mal ein bischen (notfalls kannst du auch noch hier fragen ;))
nicht Malware, im Sinne von Botnet.
Ich hab mir das so vorgestellt
Gibt den HwB0T und den HwBuilder - der HwBuilder buildet halt ne .exe, die beim Ausführen die .DLL nachlädt und keine andere Funktion hat, als die Info's zu laden und dann bestimmte Sachen zu machen^^
Daher sollte das auch kein FUD Crypting benötigen weils halt alles aus der .dll geladen wird (so wie ich denke)
Weil .dlls ganz dolle neu sind und von AVs nicht gescannt werden können...
Aber weil ich so ein lieber Kerl bin:
Die .NET Version kannste zB so rauskriegen:
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
WIN32_FIND_DATA FoundFile;
HANDLE FileHandle;
TCHAR NETPath[MAX_PATH];
HKEY hKey;
DWORD dwSize;
char NetVersion[5]="v0.0";
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\.NETFramework",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
NULL) == ERROR_SUCCESS )
{
if(RegQueryValueEx(hKey, "InstallRoot", NULL, 0, (LPBYTE)NETPath, &dwSize) == ERROR_SUCCESS)
{
lstrcat(NETPath,"\\v*.*");
FileHandle=FindFirstFile(NETPath,&FoundFile);
do
{
FoundFile.cFileName[4]=0;
if(FoundFile.cFileName[1]>NetVersion[1] || FoundFile.cFileName[3]>NetVersion[3])
{
lstrcpy(NetVersion,FoundFile.cFileName);
}
}while(FindNextFile(FileHandle,&FoundFile));
FindClose(FileHandle);
}
else
cout<<"RegQueryValueEx: "<<GetLastError()<<endl;
RegCloseKey(hKey);
}
else
cout<<"RegCreateKeyEx(): "<<GetLastError()<<endl;
cout<<"Installed .NET Version: "<<NetVersion<<endl;
}
Installierte Software kannst du so rauskriegen:
#include <windows.h>
#define MAX_KEY_LENGTH 255
#define MAX_VALUE_NAME 16383
int main()
{
HKEY hKey;
FILETIME lpftLastWriteTime;
DWORD dwIndex=0,dwRecursiveIndex=0,lpcName=MAX_VALUE_NAM E;
TCHAR lpName[MAX_VALUE_NAME];
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE",
0,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
NULL) == ERROR_SUCCESS )
{
while(RegEnumKeyEx(hKey,dwIndex,lpName,&lpcName,0,0,0,&lpftLastWriteTime)!=ERROR_NO_MORE_ITEMS)
{
MessageBox(0,lpName,"Software",0);
while(RegEnumKeyEx(hKey,dwRecursiveIndex,lpName,&lpcName,0,0,0,&lpftLastWriteTime)!=ERROR_NO_MORE_ITEMS)
{
MessageBox(0,lpName,"SubSoftware",0);
}
dwIndex++;
lpcName=MAX_VALUE_NAME;
}
}
else
{
MessageBox(0,"can´t RegCreate..()","",0);
}
}
Die IE Version findest du hier:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Versionund sonst wäre es immer hilfreich genau zu sagen WELCHE infos man haben will.
diSturbia
17.08.2010, 12:25
Die installierten .Net Versionen kann man auch einfacher auslesen. Erstelle einfach ein Array. In dieses lädst du alle Unterordner dieses Pfades:
%SYSTEMROOT%\Microsoft.NET\Framework
Und entfernst dann die Ordner, die nicht mit Ihrem Namen für eine installierte .Net Version stehen. So hat man alle installierten .Net- Versionen. ( Passt zwar nicht zum Thema: In den meisten .Net- Versions- Ordnern [z.B.: 3.5] gibt es die Datei vbc.exe, csc.exe. Dies sind die Kompiler für VB.Net bzw. C#. )
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.