Batchbestand |
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Open je kladblok, en plak de volgende tekst erin: @Echo off goto menu :menu echo. echo Wat wil je starten? echo. echo Choicje echo. echo 1 quit echo 2 notepad echo 3 calc :choice set /P C=[1,2,3]? if "%C%"=="1" goto quit if "%C%"=="2" goto notepad if "%C%"=="3" goto calc goto choice :calc start calc.exe goto menu :notepad start notepad.exe goto menu :quit exit :end Als je dit gedaan hebt moet je het opslaan onder: openen.bat en als type alle bestanden. Zoek dan het bestand tussen je bestanden en open het, je kan kiezen uit drie keuzes: Ga weg=1+enter Open kladblok= 2+enter Open rekenmachine=3+enter Waarschuwing: Dit kan alleen in kladblok, niet in word of WordPad! |
|
Ikke Oudgediende
WMRindex: 888 OTindex: 29.466 S |
Of je zet een pictogram van die programma's op je bureaublad |
|
lucb1e Erelid
WMRindex: 381 OTindex: 2.139 T S |
|
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Was een beetje aan het googlen en ik vond dit |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
leuk een batch file.. alleen de vraag of deze ook goed gaat werken als %path% niet goed is ingesteld.. of beschikbaar is..
gebruik volledige paden of defineer ze
set notepad="c:Windowsnotepad.exe" |
|
Pablo Oudgediende
WMRindex: 1.461 OTindex: 22.116
|
Of maak een infinite loop @Echo off :a start prog.bat goto a En zie je pc ten onder gaan |
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Hij werkt wel Alleen staat er inplaats van Choice Choicje |
|
Ikke Oudgediende
WMRindex: 888 OTindex: 29.466 S |
@Pablo: dat kan veel eleganter: %0|%0 Of een iets sneller werkend voorbeeld: :b start %0 %0|%0 goto :b |
|
Pablo Oudgediende
WMRindex: 1.461 OTindex: 22.116
|
Ik houd me niet zo bezig met batch |
|
Ikke Oudgediende
WMRindex: 888 OTindex: 29.466 S |
Perl doet het ook leuk:
fork while 1 |
|
DreamerTje Oudgediende
WMRindex: 1.305 OTindex: 19.848 T S |
Wat kan je ermee? |
|
Ikke Oudgediende
WMRindex: 888 OTindex: 29.466 S |
Een pc laten crashen. Die laatste drie processen starten zichzelf opnieuw en de twee processen die je dan hebt starten zichzelf ook weer, enzovoorts net zo lang tot de pc geen geheugen meer heeft. Dit gaat zo snel dat je geen tijd hebt om er iets tegen te doen. |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
@Ikke: ik vraag me of de dosshell toegang krijgt tot meer dan gedefinieerd geheugen - ik denk het niet.. wel een leuk experiment.. even kijken of XP dat toelaat.. alhoewel.. Notepad is een PE dus.. tja.. hoeveel Notepads kun je starten? |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
"set /P C=[1,2,3]?"
dit gaat alleen op een een specifieke DOS-omgeving - waarschijnlijk NT of zelfs alleen Windows 2000+
andere DOS versies ondersteunen deze methode niet..
daarvoor heb je DEBUG nodig om een klein .com bestandje te maken..
debug -a 100 mov si,80 lodsb --------- zet si op positie 80h (128bytes) en laad-segment-byte (lodsb) cmp al,0 - compare al met 0 jmp next - als 0 dan spring naar next xor bp,bp - bp =0 add bp,al - voegtoe aan bp waarde al add bp,si - voegtoe aan bp waarde si print: mov ah,6 - functie 6 mov dx,[si] - datasegment uitgeheugen [si] int 21 - voer uit inc si - verhoog si cmp si,bp - is si gelijk aan bp ? jnz print - nee? herhaal next: xor ax,ax - ax = 0 int 16 - wacht op toets sub al,30 - verminder resultaat met 30 mov ah,4c - functie 4c (int21) int 21 - einde - terug naar DOS
rcx ff
n inkey.com w q
waarschijnlijk kloppen de mov ah,6 niet helemaal kan ook ah,9 zijn het is een DOS functie waarbij een 'char' naar het scherm wordt afgedrukt.
inkey hallo allemaal toond dan "hallo allemaal" en wacht op een toets..
dus
inkey kies uit 1,2 of 3 zal "kies uit 1,2 of 3" afdrukken en op een toets wachten.. deze waarde wordt verminderd met 30 en toets 1 = char 31 dus de waarde zal dan 1 zijn.
dat wordt doorgegeven via mov ah,4c als errorlevel
een extra enter..
rcx (register cx) ff (256 bytes) {enter} n bestandsnaam.com w schrijf q verlaat debug
|
|
Ikke Oudgediende
WMRindex: 888 OTindex: 29.466 S |
Quote heraux: @Ikke: ik vraag me of de dosshell toegang krijgt tot meer dan gedefinieerd geheugen - ik denk het niet.. wel een leuk experiment.. even kijken of XP dat toelaat.. alhoewel.. Notepad is een PE dus.. tja.. hoeveel Notepads kun je starten? Fork bombs krijgen elk OS op z'n knieen. Windows, Linux, Unix, *BSD, OS/2, DOS, alles. Hoewel ik tegenwoordig een beperking heb doorgevoerd op het aantal processen dat een user kan starten. |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
|
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
edit : debug verhaal
de labels zijn punten verwijzend naar adressen
je moet het programma eerst helemaal invoeren en de instructies na de labels opzoeken en hun geheugen adres opschrijven cq noteren dat zijn de jump_to adressen
|
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Veeeels te ingewikkeld |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
Quote Shinki: Veeeels te ingewikkeld zal ik 'm maken en opsturen ? klaar - waar kan die heen? |
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Naar mij? |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
het is dus functie 6 / int21 lengte van com bestand 38 bytes |
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Er gebeurde niks behalve dat mijn computer begon te piepen en toen uitviel |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
Quote Shinki: Er gebeurde niks behalve dat mijn computer begon te piepen en toen uitviel ah, leuk.. nu heb je een snelle afsluit methode erbij.. noem het een feature.. welke besturings systeem is dat? |
|
Shinki Erelid
WMRindex: 684 OTindex: 4.227
|
Windows |
|
heraux Oudgediende
WMRindex: 9.537 OTindex: 27.258 T S |
Windows 1.0x, 2.1, 3.0, 3.11, 95, 98, NT, 2000, XP, Vista, ME, CE ? |
|