____________________________________________________________ GUIDE TILL (MESTADELS) HARMLÖS HACKING Microsoft-only version Nummer 2 Hacking med Win95/NT: Batch Fil Programmering ____________________________________________________________ av KeyDet89 [Svensk översättning Håkan Wassberg] Efter alla dessa Happy Hacker Digest och Guide Till (mestadels) Harmlös Hacking som har handlat om skal programmering tyckte jag att det var på tiden att något för Win95 och WinNT avhandlades. *************************************************** Nybörjare notering: Bra informations källor om batch filer är gamla data tidningar och även dom som publicerades efter Win95 kom ut. Du hittar säkert några på ditt lokala bibiolotek. Där finns andvändningsbara batch filer som du kan använd eller modifiera. Tidningen WindowsNT Magazine har haft många bra artiklar om skript språk för NT. Andra bra informations källor är böckerna på bibioloteken och affärer som säljer begagnade böcker. Du kan också ta och besöka nyhetsgruppen alt.msdos.batch. Om du inte har tillgång till nyhets grupper via din ISP, surfa då in med din webläsare till http://www.dejanews.com eller http://skarjeke.ind.mh.se. Eller besök någon av dom andra som listat i slutet av dokumentet. *************************************************** Låt oss då börja. Kom ihåg att batch filer bara är en serie program som du skulle ha kört igång ändå. Filerna innehåller en rad kommandon som redan finns på i din dator. Om du använder flera kommandon om och om igen, med olika inställningar och parametrar, då kanske du vill ha dom som en batch fil istället. Batch filer kan också användas på samma sätt som aliases gör på Un*x...Om du skriver det riktigt så kan du starta ett program från kommando promten utan att behöva skriva in hela sökvägen varje gång. Ett ord om redigerare: Det finns redan två dugliga text redigerare på din dator..... DOS edit och Anteckningar (Notepad). DOS edit är ganska enkel, men kan vara lite svår för en som inte är van vid den. Anteckningar är också enkel att använda, kom bara ihåg att spara dina filer med ".bat" efter filnamnet så att dom känns igen som batch filer av kommando processorn. *************************************************** Nybörjare notering: Dom flesta kommandon som du kommer att vilja köra från batch filer är kommando program. Ta en titt i din Windows/command mapp för att se vad som finns tillgängligt. Glöm inte att titta efter kommando program för DOS och Win95 på internet. *************************************************** STEG 1 -- "Hej, Världen" Det första programmet som vi skall skriva är det obligatoriska "Hej Världen" som man får göra i dom flesta programmerings språk kurser. Spara bara en fil kallad "hej.bat" med följande text: echo Hej, Världen! Om du nu skriver "hej" vid dos promten, nu kommer du att ordet "echo" skrivit vid prompten, sen en rad med "Hej, Världen". För att inte echo skall skrivas ut, lägg till raden: @echo off som den första raden i filen. Kör nu filen igen. STEG 2 -- Argument Låt oss nu personifiera programmet lite. Ändra den andra raden till: echo Hello, %1 och kör programmet genom att skriva: c:\>hello Johnny Vi har nu lagt till ett argument, genom att lägga till "%1". detta refererar till det första argumentet som skickas till filen. Vi kan skicka flera argument. För att demonstrera detta, skapa en fil med namnet "args.bat" och skriv in följande rader: @echo off echo ARGS: %1 %2 %3 %4 echo REV: %4 %3 %2 %1 echo MIXED: %2 %1 %4 %3 Kör nu filen med åtminstone två argument (du kan använda fler om du vill): c:\>args hej steve hund regn STEG 3 --Redirection När man programmerar i dom flesta språk, så finns det 3(tre) referenser som du bör veta: standard input (STDIN - vanligtvis tangentbordet) , Standard output (STDOUT - bildskärmen) , och standard error (STDERR - också bildskärmen). Men du kanske inte vill ha ut datan till bildskärmen utan att den skall lagras i en fil. detta kan göras på ett ganska enkelt sätt med någonting som kallas redirection. hur fungerar detta? Jo, när du skriver in någonting som t.ex. c:\>attrib /? För att få reda på vad kommandot attrib (attributen) gör och hur det används, du ser en massa information på bild skärmen. Försök att göra samma sak med "net" kommandot under Win95 och det ser ut som informationen bara försvinner i från bildskärmen! Så för att skicka utdatan för kommandot till en fil, då lägger du bara till symbolen större-än (>) och ett fil namn till kommandot: c:\>net /? > net.txt Om du vill lägga till eller append information till en redan existerande fil, då använder du dubbla större-än symboler: c:\>net view /? >> net.txt **************************************************** Trick att Pröva: Jag skall inte skriva om HTML programmering här men här är någonting du kan försöka. Varje websida har några bas kommandon.. dessa är taggarna för att bestämma huvudet, titel, för att ändra tecken storlek och färg m.m. Skriv en batch fil som tar utdatan för en serie kommandon, som t.ex. "net", " net view", "net use", net user", och "net time" och lägg dom i en HTML fil. genom detta kan du lägga upp dom på webben. Du kan till och med inkludera länkar m.m. **************************************************** STEG 4 -- Autoexec.bat Nu är det dags för kungen bland alla batch filer, Autoexec.bat filen. Detta är filen som används av DOS vid uppstarten av datorn och finns för DOS och Win95 (Win3.1 körs ovan på DOS och kallas på i autoexec.bat filen). Använd autoexec.bat "för att ställa in din hårdvaras specifikationer, personifiera hur MS-DOS visas, och starta minnes krävande program" (från MS-DOS användare guide). Du kan göra en massa intressanta saker med denna filen... eller vilken annan batch fil som helst. Notering för NT: NT använder ingen autoexec.bat fil, men det finns en register nyckel som när den är inställd riktigt, då kan du få tillgång till ett liknande upplägg som en autoexec.bat fil, den är för miljö variabler. Undrar vad den kan göra mer.... ***************************************************** Genialt tips: Ta en titt på prompt kommandot genom att skriva: c:\>prompt /? Testa lite olika inställningar. Genom att skriva kommandot för att ändra utseendet på den nuvarande kommando promten ändrar den bara för tillfället....genom att lägga till kommandot i autoexec.bat filen ändrar den för alltid. ***************************************************** STEG 5 -- Aliases Du kommer att upptäcka att när du skriver: c:\>notepad somefile.txt Då öppnas Anteckningar (Notepad) med den aktuella filen och i DOS fönstret får du din prompt tillbaka. Om du vill ha ett snabbt sätt att öppna text filer, skapa en liten fil med namnet "np.bat", och som innehåller raderna: @echo off notepad %1 Nu behöver du bara skriva "np" och filnamnet. **************************************************** Genialiskt Trick: Här är ett sätt att skapa en egen liten mini-syslog daemon på din egen dator....eller någon annans. Skapa en fil med namnet "file.log" eller nått annat namn du tycker, på ditt offers dator i Windows mappen. Tips: Undersök kommandot "attrib" och var speciellt intresserad av "h" möjligheten. Skapa nu en batch fil som skriver till filen file.log. Du kanske skall ha det som skrev eller bara vilken fil som öppnades. Klicka nu Start ->Hjälp, skriv nu in "associera" och öppna upp "så här ändrar du vilket program som startas när du öppnar en fil". Ändra nu associerande för ".txt" till att peka mot din batch fil, och var säker på att den sista raden är: notepad %1 Om din kompis använder Microsoft Word mycket, gör ändringar för den också. **************************************************** **************************************************** Smart tips: Om du gillar Un*x kommandon, men inte har lust att ladda ner dom, skriv dina egna då istället. Skapa en batch fil med namnet "ls.bat" och använd "dir" kommandot för att konfiguera skärmen. Börja med: @echo off dir %1 Var noga med att titta vilka brytare som finns för kommandot dir... **************************************************** STEG 6 -- Samla Information Det finns många kommandon för att samla information, speciellt på en nätverks dator. Dessa kommandon kan användas för fel sökningar, liksom att användas för andra egenskaper (inga tips och tricks här lite grann får du tänka ut själv). Börja genom att köra följande kommandon på din dator medan du är kopplad till ett nätverk eller internet: nbtstat -c nbtstat -n netstat -an net user (NT only) net use/config/time/view arp -a Nu när du börjar se vad för information som finns kan du modifiera kommandona så att dom följer dina behov, och skriv en batch fil för dom som skriver utdatan till en log fil eller nått. STEG 7 -- Mera Information Jag har samlat ihop några sajter som har mer detaljerad information om batch fil programmering. Dom innehåller allt från exempel till skolor för att lära dig batch fil programmering.... så ta gärna en titt. BATCH FIL PROGRAMMERING SAJTER ftp://garbo.uwasa.fi/pc/ts/tsbat53.zip http://gearbox.maem.umr.edu/~batch/ http://www.nc5.infi.net/~wtnewton/batch/index.html http://purl.oclc.org/net/dirk/batcoll.all http://purl.oclc.org/net/dirk/batvirus.all http://www.deltaelectronics.com/tglbatch/ ___________________________________________________________ För att prenumerera på Happy Hacker och få Guide Till (Mestadels) Harmlös Hacking [Endast På ENGELSKA], skicka E-post till hacker@techbroker.com med meddelandet "subscribe happy-hacker" i själva brevet, inget skall stå i ärende raden. Copyright 1998 KeyDet89 . ___________________________________________________________ Carolyn Meinel M/B Research -- The Technology Brokers http://techbroker.com [Svensk översättning Maj 1998 Håkan Wassberg]