Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB.NET] Explorer.exe beeindigen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
Ik ben bezig om een tooltje te maken, om onderandere een virus(die veel bij ons op school is) te verwijderen. Daarvoor moet ik 2 processen beeindigen. De belangrijkste van die 2 is het proces explorer.exe.

Nu heb ik van alles afgezocht, een half uur gegoogelt, en dingen uitgeprobeert, alleen heb ik nog geen succes gehad. Ook heb ik de zoekfunctie gebruikt. Veelal kwam ik ook VB 6.0 of lager oplossingen tegen, die niet werkten. Weet iemand hier misschien de oplossing voor?? Het liefst zo min mogelijk code, zodat mijn project er ook nog overzichtelijk uit blijft zien.

Eventueel mag het proces ook beeindigt worden door een VBS script, alleen dan moet ik wel weten, hoe je een bestand moet openen, wat in dezelfde map zit. Als je de code
Visual Basic .NET:
1
Shell("code.vbs")
wilt gebruiken, dan moet je de complete locatie aangeven, en dat is niet handig, omdat het op verschillende hdd's komt te staan. Het moet tevens local gebeuren ;)

[ Voor 1% gewijzigd door Verwijderd op 05-04-2008 21:40 . Reden: extra informatie toegevoegd ]


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

Skill is when luck becomes a habit.


  • YellowCube
  • Registratie: December 2001
  • Laatst online: 14-11 16:37

YellowCube

Wait...what?

waar heb je precies op gezocht?
Ik gebruik op dit moment Delphi en daar moet ik eenzelfde truukje uithalen.
Ik heb destijds gezocht op KillProcess en daar heb ik iets gevonden wat werkt (voor Delphi dan).

My doctor says that I have a malformed public-duty gland and a natural deficiency in moral fibre and that I am therefore excused from saving the world


  • DukeBox
  • Registratie: April 2000
  • Laatst online: 13:57

DukeBox

loves wheat smoothies

en kill.exe i.c.m. psexec.exe om remote te pushen ?

Duct tape can't fix stupid, but it can muffle the sound.


Verwijderd

Topicstarter
Deze heb ik ook geprobeert, maar werkt niet.
YellowCube schreef op zaterdag 05 april 2008 @ 21:08:
waar heb je precies op gezocht?
Ik gebruik op dit moment Delphi en daar moet ik eenzelfde truukje uithalen.
Ik heb destijds gezocht op KillProcess en daar heb ik iets gevonden wat werkt (voor Delphi dan).
Ik heb gezocht op verschillende termen. Proces beeindigen, end proces, stop proces, (en alles met VB erachter uiteraard :) ) KillProces werkt niet in VB. Het commando Kill wel, maar ik weet niet hoe die structuur werkt, om dan processen te beeindigen.
DukeBox schreef op zaterdag 05 april 2008 @ 21:09:
en kill.exe i.c.m. psexec.exe om remote te pushen ?
Heb je misschien een voorbeeld?? een stukje code oid?

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 13:57

DukeBox

loves wheat smoothies

psecex \\remotecomputer "\\networkshare\kill explorer.exe"
of eerst kill.exe naar iedere pc pushen i.p.v. via een networkshare.

Duct tape can't fix stupid, but it can muffle the sound.


Verwijderd

Topicstarter
DukeBox schreef op zaterdag 05 april 2008 @ 21:27:
psecex \\remotecomputer "\\networkshare\kill explorer.exe"
of eerst kill.exe naar iedere pc pushen i.p.v. via een networkshare.
Het heeft niets met een netwerk te maken. Het moet local gebeuren. Dus ook op een pc zonder een netwerkkaart bijvoorbeeld. ;)

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 13:57

DukeBox

loves wheat smoothies

Dan voer je kill.exe toch lokaal uit ? Nog makkelijker.

Duct tape can't fix stupid, but it can muffle the sound.


Verwijderd

Topicstarter
DukeBox schreef op zaterdag 05 april 2008 @ 21:41:
Dan voer je kill.exe toch lokaal uit ? Nog makkelijker.
Hij geeft de volgende foutmelding weer:
Er zijn geen bestanden gevonden die overeenkomen met explorer.exe.
Deze code heb ik gebruikt:
Visual Basic .NET:
1
Kill("explorer.exe")

Ik heb hem aangepast, zoals vs2008 dat zegt.

  • To_Tall
  • Registratie: September 2004
  • Laatst online: 15-11 09:01
PC opstarten zonder explorer.exe te starten is veel makelijker :)

is gewoon een registry setting.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\Shell

maak nieuwe user aan die gebruik maakt van GEEN shell (explorer.exe)
Start dmv logon scriptje je programmatje.

Als je dat afvangt door een roaming profile en een startup script hoef je alleen een keer in te loggen.

[ Voor 81% gewijzigd door To_Tall op 05-04-2008 21:52 ]

A Soldiers manual and a pair of boots.


Verwijderd

Topicstarter
Dat zal wel, maar dat is lastiger om in een VB te zetten, en dan helemaal met slome pc's.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 05 april 2008 @ 21:44:
[...]


Hij geeft de volgende foutmelding weer:
Er zijn geen bestanden gevonden die overeenkomen met explorer.exe.
Deze code heb ik gebruikt:
Visual Basic .NET:
1
Kill("explorer.exe")

Ik heb hem aangepast, zoals vs2008 dat zegt.
Kill (onder VB6) was is het statement om een bestand te verwijderen :? Somehow lijkt me dat meer te stroken met je foutmelding?

Daarbij hebben de posters hierboven het over kill.exe en niet het kill statement.

[ Voor 14% gewijzigd door RobIII op 05-04-2008 23:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Oke. Maar hoe zet je dat dan in een code?? ik bedoel, hoe refereer je dan naar welk proces hij moet beeindigen??

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat heb je zelf al gezocht, geprobeerd, gevonden? Het is hier niet de bedoeling dat we je handje vasthouden ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Verwijderd schreef op zondag 06 april 2008 @ 13:43:
Oke. Maar hoe zet je dat dan in een code?? ik bedoel, hoe refereer je dan naar welk proces hij moet beeindigen??
Om nog maar even wat extra olie op het vuur te gooien: hoe weet je dat er maar één proces met die naam is, en welke pid je wel en niet moet hebben? ;)

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Verwijderd

Booten zonder explorer lijkt me veel beter. Je kunt dan via de task manager (even ctrl+alt+del drukken) je programma uitvoeren.

Je kunt trouwens met de API calls OpenProcess en TerminateProcess precies doen wat je wilt. Dat kill.exe maakt hier ongetwijfeld gebruik van. Zie ook MSDN over deze functies. Met een beetje P/Invoke in VB.NET moet dat lukken. In Delphi staan die functies in de Windows unit gedeclareerd.

En johan300: met een instelling van weinig code voor overzichtelijkheid of de makkelijkste oplossing kiezen kom je er nooit.

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 15:03
Zoiets in vbs:
VBScript:
1
2
3
4
5
6
7
Set OpSysSet      = GetObject("winmgmts:").ExecQuery("select * from Win32_Process")

For each OpSys in OpSysSet
  If OpSys.Caption = "explorer.exe" Then 
    OpSys.Terminate
  End If
Next

Verwijderd

Topicstarter
Het is makkelijker dan ik eerst dacht. Gewoon een Dos-commando uitvoeren. Dus:

Visual Basic .NET:
1
Shell("taskkill /IM explorer.exe /F")


Kan opslot ;)
Pagina: 1