Toon posts:

[vb6] Onafsluitbaar proces

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedeavond,

Ik ben bezig met het schrijven van een internet-controle-programmaatje (URL-logger) in VB6, maar ik kom er niet uit hoe ik het programma nu het best onafsluitbaar (zonder het wachtwoord dan ;) natuurlijk) kan maken. Ik snap dat het natuurlijk nooit 100% kan, en dat er gewoon een ander OS geinstalleerd kan worden, maar ik wil het zo moeilijk mogelijk maken. Echte hackers komen er toch wel langs.

Ik ben na dit topic door gelezen te hebben op het volgende gekomen:

- 2 processen maken, de 1 controleert de ander. De processen mogen niet door 'elkaar' worden opgestart, anders is met "processtructuur beeindigen" het hele zaakje in 1 keer te killen. Ik heb een 3e proces die proces 1 en 2 opstart en daarna zichzelf killt. Proces 1 en 2 lopen dan onafhankelijk van elkaar.
Maar is dit veilig als ik de processen elke 2 seconden laat controleren of het andere proces actief is? Wat zouden jullie als controle-tijd namen? (Iemand kan bijv. een programma maken die ze achter elkaar killt.)

- In het topic werd door iemand de mogelijkheid genoemd het programma als 'localsystem' te draaien (dan zou het niet te killen zijn), maar kan dit in VB? Ik heb gezocht op Google/GoT, maar kan hier niks duidelijks over vinden.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Je kan het programma toch als service beschikbaar maken in Windows? Ik heb er verder geen ervaring mee, maar services zijn niet af te sluiten, alleen in de Service Manager (of hoe dat ook heet), en daar kan alleen de admin in. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ja, ok, maar in VB6 kun je toch geen services maken? Dat kan voor zover ik weet wel met vb.net, maar die heb ik niet (en wil ik ook eigelyk vermijden, omdat ik dan het .net framework mee moet leveren).

  • Kuhlie
  • Registratie: December 2002
  • Niet online
Je kunt wel services maken met VB6, zie http://www.google.com/search?q=services+vb6+NTSVC.ocx

Verwijderd

Topicstarter
Ok, dan ga ik daar maar na kijken. NMe84, je heb dus toch gelijk.

Probleem hiermee is alleen dat veel gebruikers met Administrator-rechten werken of anders de administrator-account niet beveiligd hebben.
Maar wat vinden jullie dan van die manier van 2 processen die elkaar controleren? Misschien dat ik er een proces en een service van kan maken?

[ Voor 20% gewijzigd door Verwijderd op 22-11-2004 21:16 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
2 processen die elkaar controleren? Easy kill; start een cmd shell, verhoog de priority naar realtime, maak een batch kill aan en start die. Als je zoiets serieus wil moet je op een hoger nivo ingrijpen, en dat betekent VC++. Service? Ook makkelijk te killen, ook vanuit een batch file.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

MSalters schreef op maandag 22 november 2004 @ 21:53:
Service? Ook makkelijk te killen, ook vanuit een batch file.
Alleen als je admin bent, toch?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zet in het QueryUnload event Cancel op True, dan wordt je app niet gesloten (en ja, het kan natuurlijk wel, maar is het makkelijkst/goedkoopst te implementeren en voldoet aan je basis behoefte lijkt me zo).
Check eventueel de unloadmode, zodat je wel kunt rebooten (anders zal je App het afsluiten van windows annuleren).

code:
1
2
3
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Cancel = UnloadMode < 2
End Sub

Zoiets dus... Weet niet zeker welke unload modes je wél wil toestaan, maar dat is dan een kwestie van opzoeken.

Verder kun je je app inderdaad als service gaan draaien enzo, maar als ik je app wil killen doe ik dat toch wel. Bedenk daarbij dat een service (in principe) geen GUI hoort te hebben. Dus waarom moeilijk doen als 't makkelijk kan.

[ Voor 65% gewijzigd door RobIII op 23-11-2004 01:23 ]

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
RobIII schreef op dinsdag 23 november 2004 @ 01:20:
Zet in het QueryUnload event Cancel op True, dan wordt je app niet gesloten (en ja, het kan natuurlijk wel, maar is het makkelijkst/goedkoopst te implementeren en voldoet aan je basis behoefte lijkt me zo). (...)
Ja, maar dit is op te lossen door het proces te killen. Dat kan bijna iedere gevorderde windows-gebruiker. En natuurlijk, jullie krijgen het programma binnen de kortste keren plat, maar tweakers zijn ook niet mijn doelgroep.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Kwestie van de goede account kiezen om het programma onder op te starten, en dat kan zowel met een service als een batchfile (runas /myspecificprogramuser). Normale users kunnen geen processen van andere users killen, en dan ben je dus klaar.

Ik zou geen 2 seconden intervals doen tussen checks overigens, met WaitForMultipleObjects op een proceshandle en een named shutdown event ben je in principe klaar en weet je zonder CPU-load tot op de ms wanneer het andere proces dood is en kun je het dus sneller restarten dan een batchfile het af kan knallen.

Professionele website nodig?


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Is dit wel kosjer? Ik zou het niet kunnen waarderen wanneer er op mijn pc een proces zou lopen dat ik nie zou kunnen beëindigen. Tenslotte ben ik de baas over míjn pc, en niet een proces.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Skaah: ik vermoed dat het om een werksituatie gaat, en dan is er geen probleem mits de medewerkers geinformeerd zijn dat dit programma draait op hun door het werk verschafte IT-voorzieningen :)

ik heb het niet over eventuele ethische of morele bezwaren, die heb ik ook wel een stuk of 500, maar daar is P&W niet de plaats voor om ze te bespreken ;)

[ Voor 31% gewijzigd door curry684 op 23-11-2004 13:11 ]

Professionele website nodig?

Pagina: 1