Forum | | | | Gary12345 | Hallo,
ich möchte gerne einen BKA Remover basteln. Der basiert auf einem sehr leichtem Testcode, der nich läuft. Wenn der Testcode laufen würde, wäre der Rest nur noch Frauensache.
Vll eine kleine Einführung in Sachen BKA und Trojaner:
Seit langem schwebt im gefährlichem Internet ein sogenannter BKA Trojaner rum. Dieser erpresst die Leute mit Geld, damit diese wieder "entsperrt" werden können (nach Bezahlung). Nun - meistens geht dieser BKA Trojaner nach dem gleichen Prinzip. Er nistet sich im explorer ein (also tauscht die echt explorer.exe mit der Schaddatei aus. Nun ermittelt meine Idee nicht nur den BKA Trojaner sondern auch andere Trojaner (nur Ransomware).
Nun habe ich mir gedacht, die bekanntesten Schaddateien für solche Trojaner in ein eindimensionales Array zu packen (sprich eine Liste). Ich will diese Liste dann mit Fileexist abfragen, ob diese Dateien auch vorhanden sind.
BKA Remover
Window 0,0 - 500,500
WindowTitle "BKA Remover"
WindowStyle 64
Def @GetUserNameA(2) !"Advapi32.dll", "GetUserNameA"
Def &CSIDL_COMMON_APPDATA $23
Declare Button1%, Button2%,Button3%,Button4%,Button5%,Dateien$
'Prozeduren
Proc GetSpecialDir
Parameters csidl&
Declare Result$
Result$ = Space$(256)
If External("Shell32", "SHGetSpecialFolderPathA", 0, Addr(Result$), csidl&, 0)
Return Trim$(Result$)
EndIf
Return ""
EndProc
Proc GetUserName
Declare Buffer#, Size&, User$
Size& = 255
Dim Buffer#, 256
GetUserNameA(Buffer#, Addr(Size&))
User$ = String$(Buffer#, 0)
Dispose Buffer#
Return User$
EndProc
Dateien$ = Create("List", 1)
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\wvf0rsf.js")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\WvF0RsF.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\dsgsdgdsgdsgw.js")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\dsgsdgdsgdsgw.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\ctfmon.lnk")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\Anwendungsdaten\wvf0rsf.js")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\Anwendungsdaten\WvF0RsF.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\Anwendungsdaten\dsgsdgdsgdsgw.js")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\Anwendungsdaten\dsgsdgdsgdsgw.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\Startmenü\Programme\Autostart\ctfmon.lnk")
AddString(Dateien$, "C:\ProgramData\dsgsdgdsgdsgw.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\wgsdgsdgdsgsd.exe")
AddString(Dateien$, "C:\Dokumente und Einstellungen\"+GetUserName()+"\wgsdgsdgdsgsd.exe")
AddString(Dateien$, "C:\ProgramData\RWvESYd.js")
AddString(Dateien$, "C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\runctf.lnk")
AddString(Dateien$, "C:\Users\"+GetUserName()+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\runctf.lnk")
AddString(Dateien$, "C:\ProgramData\RWvESYd.pad")
AddString(Dateien$, "C:\ProgramData\dsgsdgdsgdsgw.pad")
AddString(Dateien$, "C:\ProgramData\dsgsdgdsgdsgw.js ")
AddString(Dateien$, "C:\Users\All Users\wgsdgsdgdsgsd.exe")
AddString(Dateien$, "C:\Users\"+GetUserName()+"\wgsdgsdgdsgsd.exe")
AddString(Dateien$, "C:\ProgramData\K5wtzba.js")
AddString(Dateien$, "C:\ProgramData\K5wtzba.reg")
AddString(Dateien$, "C:\ProgramData\K5wtzba.bat")
AddString(Dateien$, "C:\ProgramData\K5wtzba.pad")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\0tbpw.pad ")
AddString(Dateien$, "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\0tbpw.js ")
'Hauptfenster
Button1% = Create("Button",%HWND,"Scan",150,50,200,50)
Create("Tooltip",%HWND,Button1%,"Einen Scan nach Trojanern ausführen")
Button2% = Create("Button",%HWND,"Updaten",150,100,200,50)
Create("Tooltip",%HWND,Button2%,"Das Programm updaten")
Button3% = Create("Button",%HWND,"Andere Remover suchen",150,150,200,50)
Create("Tooltip",%HWND,Button3%,"Nach dergleichen Tools suchen")
Button4% = Create("Button",%HWND,"Spende,Kontakt und Sonstiges",150,200,200,50)
Create("Tooltip",%HWND,Button4%,"Spende machen, mit mir Kontakt aufnehmen oder sonstige Aktionen")
Button5% = Create("Button",%HWND,"Beenden",150,250,200,50)
Create("Tooltip",%HWND,Button5%,"Das jeweilige Programm beenden")
PopUp "&Programm"
AppendMenu 101, "Scan"
AppendMenu 102, "Updaten"
AppendMenu 103, "Andere Remover suchen"
AppendMenu 104, "Spende, Kontakt und Sonstiges"
Separator
AppendMenu 105, "Beenden"
While 1
WaitInput
If clicked(Button1%)
If FileExists(Dateien$)
Print Dateien$
EndIf
EndIf
EndWhile
Die Schleife ist nur so zu Testzwecken gemacht, müsste dann noch zu Whileloop gemacht werden.
Ich habe schon einen Tipp bekommen, der mir aber nicht logisch erschien:
- Ich soll irgendwas mit InsertString machen. Natürlich lies ich mir die Hilfe durch: "Die Zeile S wird an der Position N2 in die Liste des Controls N1 eingefügt. Diese Funktion macht natürlich nur Sinn bei einer unsortierten Controls. Hat N2 den Wert -1 wird die Zeile am Ende angehängt."
Und das will ich eben nicht. Ich will nur Dateien in eine Lieste einfügen in beliebiger Reihenfolge.
Wie ihr testen könnt, dass das Programm geht:
Erstellt doch ein Textdokument, speichert es unter einer Malwaredatei in den richtigen Ordner ab und schaut ob der Remover das erkennt.
Bisher fehlen mir jegliche Ideen, warum das Programm nich geht.
Was geplant ist für das Programm:
Ich würde noch einen Autostartlister einbauen. (Habe da auch Includes). So könnte man auch gefährliche Einträge löschen.
Liebe Grüße |
| | | | |
| | | | | | | |
| | Gary12345 | Vielen Dank. Das würde jetzt bedeuten, dass ich jetzt nur die Dateinamen angeben müsste? Sollte also nach den Dateien selber suchen? |
| | | | |
| | | Genau. Habe dem Code oben aber eben nochmal einen Tippfehler entnommen.
Du kannst so einfach Verzeichnisse hinzufügen und Bösdateien und der Code findet dann alle. |
| | | | |
| | Gary12345 | Ich melde mich später. Werde jetzt erst mal alle Dateien eintragen und wenn es funkt, dann wäre das prima.
Aber jetzt ein großes Dankeschön an Dich |
| | | | |
| | | Gern geschehen.
Bei den Dateinamen addstring "wgsdgsdgdsgsd.exe" immer Kleinbuchstaben verwenden da die Dateiliste auch mit Kleinbuchstaben vorliegt.
Ich würde die Dateiliste aber eher als Textdatei aus dem Internet laden etwa von Deiner Seite um das Tool leicht aktuell halten zu können da Du dann immer nur auf Deiner Seite die Liste aktualisieren musst.
Wenn Dir das nicht einfach gelingt einfach nochmal melden, dürften nur "3" Zeilen mehr werden. |
| | | | |
| | Gary12345 | Jo, können wir später machen. KompilierenMarkierenSeparierencls
Declare Button1%, Button2%,Button3%,Button4%,Button5%
Button1% = Create("Button",%HWND,"Scan",150,50,200,50)
Create("Tooltip",%HWND,Button1%,"Einen Scan nach Trojanern ausführen")
Button2% = Create("Button",%HWND,"Updaten",150,100,200,50)
Create("Tooltip",%HWND,Button2%,"Das Programm updaten")
Button3% = Create("Button",%HWND,"Andere Remover suchen",150,150,200,50)
Create("Tooltip",%HWND,Button3%,"Nach dergleichen Tools suchen")
Button4% = Create("Button",%HWND,"Spende,Kontakt und Sonstiges",150,200,200,50)
Create("Tooltip",%HWND,Button4%,"Spende machen, mit mir Kontakt aufnehmen oder sonstige Aktionen")
Button5% = Create("Button",%HWND,"Beenden",150,250,200,50)
Create("Tooltip",%HWND,Button5%,"Das jeweilige Programm beenden")
PopUp "&Programm"
AppendMenu 101, "Scan"
AppendMenu 102, "Updaten"
AppendMenu 103, "Andere Remover suchen"
AppendMenu 104, "Spende, Kontakt und Sonstiges"
Separator
AppendMenu 105, "Beenden"
Proc GetSpecialDir
Parameters csidl&
Declare Result$
Result$ = Space$(256)
If External("Shell32", "SHGetSpecialFolderPathA", 0, Addr(Result$), csidl&, 0)
Return Trim$(Result$)
EndIf
Return ""
EndProc
chdir getSpecialDir(0)//desktop
chdir "../../"
addfiles *"*.*"
chdir getSpecialDir($26)//programme
addfiles *"*.*"
var s$=lower$(MoveListToStr$("\n"))
clearlist
addstring "dsgsdgdsgdsgw.js"
addstring "wgsdgsdgdsgsd.exe"
addstring "runctf.lnk"
var c&=0
whileloop 0,%getCount
if instr("\\"+listboxitem$(&loop)+"\n",s$)
print "Fund: "+listboxitem$(&loop)
add c&,1
endif
wend
print c&,"Funde."
waitinput
end
Nun zum Problem:
Wäre es möglich, dass es den vollständigen Pfad anzeigt und diese Datei automatisch löscht? Es müsste abfragen, ob ein Fund existiert.
Also irgendwie so:
If instr("\\"+listbositem$(<=1)+"\n",s$)
EDIT: ne so kanns nich gehen. Dumme Idee. Muss ja durchlaufen.
Oder nicht?
Wenn das erledigt ist, werde ich gründlich die Hilfe lesen und dann könnten wir auch die Idee mit dem Textdokument machen. (bzw. eine Textdatei, die dann aus dem Inet geladen wird). |
| | | | |
| | | Hier mit Download: KompilierenMarkierenSeparieren {$cleq}
cls
chdir getSpecialDir(0)//desktop
chdir "../../"
addfiles *"*.*"
chdir getSpecialDir($26)//programme
addfiles *"*.*"
var s$=lower$(MoveListToStr$("\n"))
var tmp$=downloadFile("https://quelltext.xprofan.com/src/nuamvvucveecc.txt")
while %Loading
waitinput 10
endwhile
clearlist
moveStrToList($Download,"\n")
var c&=0
var p&=0
whileloop 0,%getCount
p&=instr(listboxitem$(loop)+"\n",s$)
if p&
print "Fund: "+listboxitem$(loop)
tmp$=substr$(midd(s$,p&-260,520),1,listboxitem$(&loop)+"\n")
tmp$=substr$(tmp$,len(tmp$,"\n"),"\n")+listboxitem$(loop)
print "Datei:",tmp$
add c&,1
endif
wend
print c&,"Fund(e)."
waitinput
end
Proc GetSpecialDir
Parameters csidl&
Declare Result$
Result$ = Space$(256)
If External("Shell32", "SHGetSpecialFolderPathA", 0, Addr(Result$), csidl&, 0)
Return Trim$(Result$)
EndIf
Return ""
EndProc
proc midd
parameters s$,f&,l&
case f&<1 : f&=1
return mid$(s$,f&,l&)
endproc
|
| | | | |
| | Gary12345 | Würde es gehen, den Text zu formatieren. Hab da kein Durchblick wie ich das trennen soll o.O Sorry, wenn ich mich blöd anstelle |
| | | | |
| | Gary12345 | vielen Dank Wo könnt ich die Textdatei hochladen? Hab nämlich zurzeit keinen Server. Welche guten Hoster kennst Du denn? |
| | | | |
| | | Gary12345 (23.01.13)
vielen Dank Wo könnt ich die Textdatei hochladen? Hab nämlich zurzeit keinen Server. Welche guten Hoster kennst Du denn?
Viele Mitglieder nutzen seit Jahren den XProfan.Com Server der quasi für die Mitglieder zur Verfügung steht.
Wenn Du möchtest, dann kannst Du völlig kostenlos und werbefrei sehr schnellen WebSpace mit eigener SubDomain und/ oder eigener Domain haben da ich noch genug Serverkapazitäten zur Verfügung habe. Hierbei kannst Du Dir eine beliebige Adresse aussuchen - z.B. name.xprofan.com.
Du erhältst dann FTP, PHP, SQL, EMails, IMAP, Pop, etc., also alles was eine komplette eigene Domain ausmacht und nicht eingeschränkt wie es Freehoster anbieten sondern es ist eine echte physikalische Domain. Du hast dann auch unendlich viel Webspace und unendlich viel Traffic-Kapazität. Wenn Dich das interessiert dann einfach sagen weil dann richte ich den Server entsprechend ein.
Von Freehostern erhält man kein vergleichbares Angebot. Oft sind die Webspaces langsam oder Werbebehaftet oder man hat nicht die Möglichkeit, seinen Webspace auch nachträglich mit einer eigenen TLD zu verstehen.
Gary12345 (23.01.13)
Würde es gehen, den Text zu formatieren. Hab da kein Durchblick wie ich das trennen soll o.O Sorry, wenn ich mich blöd anstelle
Hängt halt davon ab was Du wie genau anzeigen möchtest. Es gibt ja viele verschiedene Windows-Controls und man kann auch HTML nutzen. |
| | | | |
| | Gary12345 | Natürlich nehme ich dann den xprofan Server.
Name des Servers sollte sein: malwareboard.xprofan.com
Ist ja perfekt. Sowas ist ja echt klasse. Noch ein rießiges Dankeschön.
PS: Ich kann es kaum fassen, dass es heutzutage noch sowas gibt.
Vielen Dank |
| | | | |
|
AntwortenThemenoptionen | 24.364 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |