วันศุกร์ที่ 20 ธันวาคม พ.ศ. 2556

ลำดับเหตุการณ์ เกี่ยวกับไวรัสคอมพิวเตอร์ ที่พอสรุปได้

ประวัติความเป็นมาไวรัสคอมพิวเตอร์


 (Lady Augusta Ada Byron, Coutress of Lovelace ) โปรแกรมเมอร์คนแรกของโลกเธอบรรจงถักทอผ้าผ่านโปรแกรมคำสั่งคอมพิวเตอร์ด้วยลายผ้าอันวิจิตรงดงาม...คงนึกไม่ถึงว่า...ลายผ้าสมัยนี้...จะน่ากลัวสักเพียงใดหากไวรัสคอมพิวเตอร์ปรากฎอยู่บนพื้นผ้าของเธอในสมัยนั้นด้วย

2488: วันหนึ่ง Rear Admiral Grace Murray Hopper พยายามสั่งให้คอมพิวเตอร์ทำงาน แต่ทำยังไงมันก็ไม่ยอมทำงาน เธอจึงเข้าไปดูในฮาร์ดแวร์(สมัยนั้นคอมพิวเตอร์มีขนาดใหญ่มาก เกือบเท่าห้องๆหนึ่งเลย) ก็เจอผีเสื้อกลางคืนติดอยู่ในนั้น ซึ่งเธอเรียกมันว่า "bug" ซึ่งคำนี้ได้ใช้กันมาจนถึงปลายศตวรรษที่ 19 ซึ่งหมายถึงปัญหาที่เกิดขึ้นกับอุปกรณ์อิเล็คโทรนิคต่างๆ Murray Hopper ก็ยังได้สร้างคำขึ้นมาใหม่อีกคำหนึ่งคือ "debugging" ซึ่งได้อธิบายถึงความพยายามที่จะแก้ปัญหาที่เกิดขึ้นกับcomputer



2492:  นักวิทยาศาสตร์ชาวHungarian ที่ชื่อว่า John von Neumann ได้คิดค้นทฤษฎีของโปรแกรมที่สามารถทำซ้ำตัวเองได้ ซึ่งพื้นฐานของโปรแกรมนี้เกี่ยวกับการใช้หน่วยความจำของเครื่องนั่นเอง ในหนังสือชื่อ "Therory and Organization of Complicated Automata"
 (ลักษณะของไวรัสคอมพิวเตอร์ในปัจจุบัน) ในหนังสือเล่มหนึ่งของเขา แต่ตอนนั้นยังไม่มีการนิยามโปรแกรมจำพวกนี้ว่า “ไวรัสคอมพิวเตอร์” เพราะ ”เครื่องคอมพิวเตอร์ส่วนบุคคล” ยังไม่ถือกำเนิดขึ้น อีกอย่างข้อมูลในสมัยนั้นยังใช้บัตรเจาะรูเป็นสื่อบรรทึกข้อมูล...และเทปบันทึกข้อมูล...แต่ขอให้รู้ว่า...”ไวรัสอยู่ในความคิดคนเรามานานแล้ว”








2505:  ทีมวิศวกรของ Bell Telephone Laboratories ได้สร้างเกมชื่อว่า "Darwin" (ในหนังสือของไทยสมัยก่อนเรียกโปรแกรมนี้ว่า “สงครามหน่วยความจำ”)ถือเป็นโปรแกรมคอมพิวเตอร์ตัวแรกที่มีรูปแบบของไวรัส โดยฝังตัวอยู่ในหน่วยความจำ เกมนี้ใช้คำศัพท์บางอย่างที่มีคำว่า "supervisor" มีลักษณะที่กำหนดกฎเกณฑ์การต่อสู้ระหว่างผู้เข้าแข่งขัน โปรแกรม Darwin นี้มีความสามารถที่จะวิจัยสภาพแวดล้อมของมัน ทำสำเนา และทำลายตัวเองได้ จุดประสงค์หลักของเกมนี้ก็คือลบโปรแกรมทั้งหมดที่คู่แข่งเขียนและครอบครองสนามรบ









2513: มีการตรวจพบไวรัส Creeper ในเครือข่าย APRAnet ของทหารอเมริกา ถือเป็นต้นแบบไวรัสคอมพิวเตอร์ในปัจจุบัน โปรแกรม Creeper สามารถเข้าครอบครองเครือข่ายผ่านโมเด็มและส่งสำเนาตัวเองไปที่ฝั่ง remote ไวรัสนี้ทำให้คนรู้ว่าติดไวรัสด้วยการ broadcast ข้อความ "I'M THE CREEPER ... CATCH ME IF YOU CAN"


2517: โปรแกรมชื่อ "Rabbit" โผล่ขึ้นมาบนเครื่องเมนเฟรม ที่เป็นชื่อนี้เพราะมันไม่ได้ทำอะไรนอกจากสำเนาตัวเองอย่างรวดเร็วไปในระบบเก็บข้อมูลชนิดต่างๆ Rabbit ได้ดึงทรัพยากรของระบบมาใช้อย่างมาก ทำให้การทำงานกระทบอย่างรุนแรงจนอาจทำให้ระบบทำงานผิดพลาดได้


2522: วิศวกรของ Xerox Palo Alto Research Center ได้คิดค้น computer worm ซึ่งเป็นโปรแกรมที่ออกแบบมาให้สามารถใช้คอมพิวเตอร์ได้มีประสิทธิภาพมากขึ้น ซึ่งมันก็เป็นต้นแบบของ computer worm ในปัจจุบัน ซึ่งไปแก้ไขและลบข้อมูลในคอมแบบที่แก้คืนไม่ได้เลย


2524: มีการตรวจพบไวรัสชื่อ "Elk Cloner" นับเป็นไวรัสคอมพิวเตอร์บนเครื่องคอมพิวเตอร์ส่วนบุคคลตัวแรก ซึ่งแพร่กระจาย คือในวงที่กว้างออกไปกว่าภายในห้องทดลองที่สร้างโปรแกรม โปรแกรมนี้ถูกเขียนขึ้นโดย Rich Skrenta โดยไวรัสนี้จะติดไปกับระบบปฏิบัติการ Apple DOS 3.3 ผ่านทาง boot sector ของฟล็อปปี้ดิสก์ ณ เวลานั้นผลของมันทำให้ผู้ใช้คอมพิวเตอร์บางคนนึกว่าไวรัสคอมพิวเตอร์เกิดจากมนุษย์ต่างดาว เพราะทำให้การแสดงภาพที่จอกลับหัว, ทำตัวอักษรกระพริบ, ขึ้นข้อความต่างๆออกมา

2525 : Joe Dellinger พัฒนาไวรัสบนเครื่อง Apple II ชื่อ Apple และได้พัฒนาโปรแกรมป้องกันไวรัสแก้ไขไวรัสชนิดนี้ด้วย นักศึกษาแพทย์ปีสุดท้ายของ University of Southern California “Fred Cohen” ได้สร้างคำที่ว่า "computer virus" ซึ่งอธิบายถึงโปรแกรมคอมพิวเตอร์ที่มีอิทธิพลต่อคอมพิวเตอร์เครื่องอื่นโดยเปลี่ยนแปลงโปรแกรมนั้นๆในทางที่จะช่วยมันในการทำซ้ำตัวเองให้มากขึ้นได้ โดยได้ใช้คอมพิวเตอร์ VAX 11/750 สาธิตว่าโปรแกรมไวรัสสามารถฝังตัวเข้าไปใน object อื่นได้ และต่อมาผู้ที่สร้าง Anti-virus ก็ได้ซื้อผลการวิจัยของ Cohenมาเพื่อทำการคิดค้นหาวิธีการป้องกันการติด virus 






Len Adleman แห่งมหาวิทยาลัย Lehigh ตั้งคำว่า "Virus" ว่าเป็นโปรแกรมคอมพิวเตอร์ที่ทำสำเนาตัวเองได้ 












2526 :  Information security conference ครั้งที่ 7 Fred Cohen ได้ให้คำจำกัดความของคำ "computer virus" ว่าเป็นโปรแกรมที่สามารถติดต่อไปยังโปรแกรมอื่นโดยการแก้ไขโปรแกรมเดิมเพื่อแพร่ขยายตัวเอง และเขายังถือเป็น "บิดาแห่งไวรัสศาสตร์" ด้วย










2529: PC virus ตัวแรกเกิดขึ้น คือ "The Brain"ซึ่งถูกสร้างขึ้นโดยโปรแกรมเมอร์ชาวปากีสถานอายุ 19 ปี ชื่อ Basit Farooq และพี่ชายชื่อ Amjad มีเป้าหมายไปที่เครื่องคอมพิวเตอร์ IBM Compatible ด้วยเหตุผลที่ว่าต้องการรู้ระดับของซอฟต์แวร์เถื่อนในประเทศตัวเอง แต่โชคไม่ดีที่การทดลองนี้หลุดออกมานอกประเทศ โปรแกรมเมอร์ชาวเยอรมันชื่อ Ralf Burger พบวิธีตรวจจับโปรแกรมที่ copy ตัวเองโดยการเพิ่ม code บางตัวเข้าไปใน ไฟล์ COM version ที่ใช้ทดลองชื่อ Virdem ถูกนำมาแสดงในเดือนธันวาคม ที่ Hamburg เป็น forum ที่เหล่า hacker ที่ชำนาญในการ crack ระบบ VAX/VMS มารวมตัวกันชื่อ "Chaos Computer Club"




2530: เกิดไวรัสระบาดที่เวียนนา เป็นไวรัสที่ทำลายคอมพิวเตอร์ส่วนบุคคลตัวแรกที่ทำงานเต็มระบบ ส่งผลกระทบไปเกือบทั่วโลก ที่มาของไวรัสนี้เป็นประเด็นถกเถียงกันมาก เพราะคนที่อ้างว่าเป็นคนเขียนคือ Franz Svoboda แต่เมื่อสืบไปจึงพบว่าเขารับมาจาก Ralf Burger ซึ่งก็อ้างว่ารับมาจาก Svoboda เดิมชื่อไวรัสคือ "lovechild" แต่เพราะไม่สามารถหาคนให้กำเนิดได้จึงถูกเรียกอย่างเป็นทางการว่า "orphan" (ลูกกำพร้า)เดือนธันวาคม เกิดการระบาดใต้ดินครั้งแรกในเครือข่ายคอมพิวเตอร์ ชื่อ "Christmas Three" วันที่ 9 ไวรัสหลุดมาจาก เครือข่าย Bitnet ของมหาวิทยาลัย Western University ประเทศเยอรมนี ทะลุเขาไปใน European Acadamic Research Network (EARN) และเข้าไป เครือข่าย IBM-Vnet เป็นเวลา 4 วัน เครื่องที่ติดไวรัสจะแสดงผลที่หน้าจอเป็นรูปต้นคริสมาสต์ และส่งไปให้ผู้ใช้อื่นๆในเครือข่าย ปีเดียวกัน ไวรัส Jerusalem เป็นไวรัสติดแฟ้ม .EXE และ .COm ของระบบปฎิบัติการ DOS ของ MS-DOS และมีเงื่อนไขการทำลายที่ซับซ้อนขึ้น เช่นกันปีนี้ Stoned พาร์ทิชั่นไวรัสตัวแรกกำเนิดขึ้นบนระบบปฏบัติการ MS-DOS เช่นกัน ซึ่งมันฆ่ายากกว่า (C)Brain มาก


2531: John Mcafee พัฒนาโปรแกรมป้องกันไวรัสเป็นคนแรก เชื่อ VirusScan ถือเป็นโปรแกรม AntiVirus ตัวแรก ส่วน Peter Norton programmer ที่มีชื่อเสียง ผู้ซึ่งเป็นผู้ก่อตั้งบริษัท Symantec ได้ออกมาประกาศว่าไวรัสคอมพิวเตอร์เป็นเรื่องไร้สาระ โดยเปรียบว่าเป็นแค่จระเข้ที่อยู่ในท่อระบายน้ำเสียในนิวยอร์ก แต่ในที่สุดเขาเป็นผู้ที่ได้เริ่มต้น project Norton-AntiVirus วันที่ 22 เดือนเมษายน เกิด forum ที่ถกกันเรื่อง security threat เป็นครั้งแรก ชื่อ Virus-L host ไว้ที่ Usebet สร้างโดย Ken Van Wyk เพื่อร่วมงานของ Fred Cohen ที่มหาวิทยาลัย Lehigh เดือนตุลาคม มีการแพร่ข่าวไวรัสชื่อ Mr. "Rochenle" อย่างมากเป็นไวรัสประเภทหลอกลวง (HOAX) เป็นตัวแรก อ้างถึงชื่อบุคคลที่ไม่มีตัวตนชื่อ Mike RoChenle ("Microchannel") อ้างว่าไวรัสนี้สามารถส่งตัวเองไประหว่างโมเด็มด้วยความเร็ว 2400 bps ทำให้ความเร็วโมเด็มลดลงเหลือ 1200 bps และได้อธิบายวิธีการแก้ไขที่ไม่ได้มีผลอะไร แต่มีคนหลงเชื่อทำตามกันอย่างมากมาย 


เดือนพฤศจิกายน มีหนอนเครือข่ายชื่อ "Morris" ระบาดอย่างหนักในเครือข่าย ARPAnet ทำให้คอมพิวเตอร์กว่า 6000 เครื่องในอเมริการวมทั้งใน ศูนย์วิจัยของ NASA ติดไปด้วย ส่งผลกระทบให้การปฏิบัติงานหยุดโดยสิ้นเชิง เหตุเนื่องจากมี error ใน code ของ Morris ทำให้มัน copy ตัวเองไปที่เครือข่ายอื่นอย่างไม่จำกัดทำให้เครือข่ายรับไม่ไหว การระบาดครั้งนั้นทำให้สูญเสียเป็นมูลค่ากว่า 96 ล้านเหรียญสหรัฐ โปรแกรมเมอร์ที่มีอายุเพียง 23 ปี ชื่อว่า Robert Morris ได้ปล่อย worm ที่สามารถบุกรุก ARPANET computers ไอ้เจ้าโปรแกรมเล็กๆนี้ มันสามารถทำลายคอมพิวเตอร์ได้กว่า 6000 เครื่อง ในอเมริการวมทั้งในศูนย์วิจัยของ NASA ก็ติดไปด้วย ส่งผลกระทบให้การปฏิบัติงานหยุดโดยสิ้นเชิง โดยการทำให้ memory ของเครื่องเต็มไปด้วย copies ของมัน และการ copy ตัวเองไปที่เครือข่ายอื่นอย่างไม่จำกัดทำให้เครือข่ายรับไม่ไหว การระบาดครั้งนั้นทำให้สูญเสียเป็นมูลค่ากว่า 96 ล้านเหรียญสหรัฐMorris ได้สารภาพและถูกปรับ $10,000 และถูกภาคทัณฑ์เป็นเวลา 3 ปี เหตุการณ์นี้ส่งผลกระทบถึงประเทศไทยด้วย ไวรัสตัวนี้สร้างโดย Robert T.Morris Jr. (ทุกวันนี้แผ่นดิสก์ไวรัสของมอริสถูกเก็บไว้ในพิพิธภัณฑ์วิทยาศาสต์ในบอสตั้น) เหตุกาณ์ครั้งนี้ทำให้เกิดหน่วยงานด้านความมั่นคงทางระบบสารสนเทศ อย่าง CERT 

2532: Peter Norton เจ้าของ Symantec ก็ปล่อย Norton Anti-Virus software ออกมา...การสู้รบระหว่างเทพกับมาร...ดุเดือดขึ้นในช่วงนี้

2534 : นักพัฒนาไวรัสได้พัฒนาเทคโนโลยี Polymorphic เพื่อให้หลบซ่อนการตรวจจับของ Anti-Virus ซึ่ง Tequila ไวรัส เป็นไวรัสที่ประสบความสำเร็จด้านนี้


2535 : ไวรัส Micelangelo เป็นไวรัสที่เงื่อนไขทำลายภายในไวรัสพึ่งทำงานในวันที่  6 มีนาคม (วันเกิด "ไมเคิลแองเจลโล่") ซึ่งส่งผลกระทบต่อเครื่องคอมพิวเตอร์ทั่วโลก...โดยยังไม่มีใครรู้ว่าเครื่องเหล่านั้นติดเชื้อเมื่อไหร่...แต่ที่สำคัญคือมันทำงานครั้งสุดท้ายในวันนั้นนั่นเอง... 


2537: ผู้ใช้งานe-mailที่ไม่มีประสบการณ์ก็ได้ forward e-mailตัวหนึ่งที่เตือนทุกคนไม่ให้เปิดข้อความใดๆที่มีประโยชน์สั้นๆว่า "Good Times" แต่หารู้ไม่ว่านั่นคือกลอุบายในการส่ง e-mail virus ที่มีประสิทธิภาพมากจนรัฐบาลสหรัฐต้องออกประกาศเตือนเลยทีเดียว


2538: Microsoft Corp.ได้ปล่อย Windows 95 ออกมา บริษัท Anti-virusต่างๆก็เริ่มกังวลเกี่ยวกับระบบที่จะต่อต้านการติดไวรัส อย่างไรก็ตามในอีกไม่กี่ปีต่อมา "macro" viruses ก็ปรากฏและเริ่มต้นทำลาย Windows operating system. ซึ่งกำเนิดไวรัสมาโครตัวแรกชื่อ Concept มีผลกระทบต่อ MS-Word6 ของ ไมโครซอฟต์ออฟฟิต


2541 : กำเนิดไวรัสติดเชื้อไฟล์ JAVA ชื่อ StrangeBrew และนักเขียนไวรัสชาวฮ่องกง "เชิง อิง หัว" ได้สร้างไวรัสที่สามารถทำลายระบบ Flash BIOS ของคอมพิวเตอร์ได้เป็นตัวแรกของโลก ไวรัสตัวนั้นชื่อ CIH หรือ "เชเนอร์บิว"


2542: ไวรัสที่ไม่ค่อยจะมีชื่อเสียงที่ชื่อว่า "Melissa" ได้ติดคอมพิวเตอร์กว่าพันเครื่อง เป็นสาเหตุให้บอดขายของ anti-virus พุ่งขึ้นกว่า $80 ล้านในทันที เจ้าไวรัสตัวนี้ทำงานโดยการทำซ้ำตัวเอง 50 ครั้งโดยใช้ชื่อที่แตกต่างกันไปใน e-mail address book ของคนที่ได้รับ e-mail และมันยังติดไปยัง Microsoft Word documents ไวรัส Tristate เป็นไวรัสมาโครตัวแรกที่ติดเชื้อใน MS-Word97 และ Excel97 และ Powerpoint97 ได้









2543: ไวรัสคอมพิวเตอร์จากฟิลิปินส์ ชื่อ I Love You ส่งตัวเองผ่านสคริป VBScript ภายใน HTML ไปยังเมลล์เซฟเวอร์โดยลิสต์ลายชื่อจากวินโดวส์แอดเดรสบุ๊ค ไวรัสตัวนี้เป็นสาเหตุให้สหรัฐอเมริกาบีบฟิลิปินส์ให้จับกุมตัว Hacker ชื่อ Spider ซึ่งเป็นผู้เขียนไวรัสและลงโทษจำคุกในเวลาต่อมา

2544: ไวรัส "Anna Kournikova" ที่คนที่ได้รับมักจะตั้งความหวังว่าจะได้รับรูปของนักเทนนิสชื่อดังซึ่งมันได้ส่งตัวเองไปยัง Microsoft Outlook address book ของเหยื่อมากมาย ไวรัสตัวนี้เริ่มสร้างความหวาดกลัวในไวรัสให้มีมากขึ้นมาก มีนักวิเคราะห์หลายคนเชื่อว่าเดี๋ยวนี้การสร้างไวรัสขึ้นมาซักตัวเป็นเรื่องที่ไม่ยากจนเกินไปและไม่ได้ใช้เครื่องมือที่หายากด้วย The Code Red worm ติด 1 ใน 1000 ของระบบของMicrosoft Windows NT และ Windows 2000 เป็นสาเหตุให้เกิดความเสียหายกว่า $2พันล้าน ไวรัสที่มีชื่อว่า "Nimda" ออกมาหลังจากวันที่ worldtrade ถูกโจมตีเพียง 1 วัน มันแพร่กระจายไปทั่วโลก ซึ่งไอ้เจ้าไวรัสตัวนี้มีความซับซ้อนมากกว่าที่เคยผ่านๆมา เพราะว่ามันมีวิธีการติดต่อและทำซ้ำตัวเองถึง 5 วิธีเลย ยังมีไวรัส Cod Red และ Sircam และ หนอน Badtrans ระบาดในปีนี้ด้วย


2545: The "Klez" worm เป็น bug ที่สามารถส่งตัวเองไปยัง Microsoft Outlook directory ของคนที่ใช้ e-mail ทั่วโลก โดยเริ่มต้นจากการบุกรุกเข้าไปใน Website เป็นอย่างแรก มันจะทำลายและแก้ไขข้อมูล นอกจากนี้มันยังพยายามทำให้โปรแกรม Anti-virus ทำงานไม่ได้อีกด้วย.ไวรัส Bagbear ก็ระบาดเช่นกัน


2546: The "Slammer" worm แพร่กระจายไปกว่าพันเครื่องคอมพิวเตอร์ภายในน้อยกว่า 3 ชั่วโมง โดยการสร้างความเสียหายให้กับระบบการทำงานที่เกี่ยวกันด้านธุรกิจ ไวรัส Bagbear.B เวอร์ชั่นต่อมาขโมยข้อมูลสำคัญทางการเงินผู้ติดเชื้อได้ด้วย ยังมี Blaster และ Nachi และ Sobig.F และ Swen.A ซึ่งเป็นมัลแวร์รุ่นใหม่ระบาดทางอินเตอร์เน็ต...ซึ่งเป็นช่องทางหันมาโจมตีมากว่าจะติดเชื้อจากเครื่องต่อเครื่องทางสื่อข้อมูล


2547: The "MyDoom" worm มีการแพร่กระจายอย่างรวดเร็วโดยใช้ e-mail เป็นเครื่องมือ แต่ว่ามันทำให้เกิดความเสียหายเพียงเล็กน้อยเท่านั้น แต่เมื่อประมาณ 1 ปีที่แล้ว MyDoom ใช้ "social engineering" หรือเครื่องมือทางจิตวิทยาที่โน้มน้าวให้คนเปิด e-mail ที่ตนเองได้รับ ซึ่งมันอ้างว่าเป็นการแจ้งว่า e-mail ที่ส่งไปล่าสุดนั้นส่งไม่ได้ หนอน Bagle.A ระบาด และสายพันธ์นี้ถูกพัฒนา ส่วน Sasser และ Rugrat เป็นมัลแวร์ที่โจมตีวินโดวส์ 64 Bit ตัวแรก ส่วน Cabir เป็นไวรัสมือถือตัวแรกของโลก ส่วน Duts.A เป็นไวรัสบน Pocket PC ตัวแรก...


หลังจากปี 2543 (2000 หรือ Y2K) เป็นต้นมาพบไวรัสชนิดใหม่และพฤติกรรมเลียนแบบ Cracker เยอะมากขึ้นทีท่าของไวรัสคอมพิวเตอร์ไม่มีมีแนวโน้มจะน้อยลง กลับพบมากขึ้นทุกๆ ปี...และมีชนิดไวรัสและรูปแบบการแพร่เชื้อใหม่ๆ เกิดขึ้นทุกๆ ปีเช่นกัน...ไวรัสตระกูลปี 2531 (ถูกเขียนขึ้นจากภาษาเครื่อง ภาษาระดับต่ำ) พบน้อยลงแต่จะพบ Object และไวรัสแพลตฟอร์มวินโดวส์มากขึ้น การโจมตีเครื่อข่ายวินโดวส์สูงขึ้นมากอาจเป็นเพราะผู้ใช้งานในเครื่อข่ายนี้มีจำนวนมากด้วยเช่นกัน การโจมตี UNIX และเครือข่ายข่ายอื่น...ไม่ได้น้อยลงแต่น้อยกว่าระบบปฏิบัติการวินโดวส์หลายเท่าตัว


มัลแวร์คืออะไร...ทำงานอย่างไร
ทุกวันนี้...คนมักเรียกสื่งที่พบหรืออาการของ Error ต่างสาเหตุ...มากจาก “ไวรัส” (ซวยอีกและถูกกล่าวหา) จริงแล้วเราเรียก “เรียกไวรัสคอมพิวเตอร์” กันติดปากมาตั้งแต่พบไวรัสยุก DOS ในยุคนั้นยังไม่มีคำว่า “มัลแวร์” เพราะไวรัสคอมพิวเตอร์ยุคนั้นไม่ได้มีหลากหลายกลายพันธ์เช่นทุกๆ วันนี้
            มัลแวร์ แบ่งออกเป็นหลายชนิด...โดยจำกัดนิยามจากโปรแกรมไม่พึ่งประสงค์ รวมถึงโปรแกรมแฮกส์หรือแคร็ก ต่างๆ ด้วย (Antivirus เตื่อนหมด)
1.Hack Tools(เครื่องมือที่ใช้ในการเขียนพัฒนามัลแวร์หรือเจาะระบบ)
2.Virus (คำสั่งที่สามารถเคลื่อนย้ายตัวเองและคัดลอกตัวเองโดยผ่านพาหะ)
3.Worms(แฟ้มคำสั่งที่สามารถเคลื่อนย้ายจำลองตัวเองเลียนแบบพฤติกรรมผ่านพาหะ)
4.Trojan(โปรแกรมที่สามารถเคลื่อนย้ายจำลองตัวเองหรือมีพฤติกรรมโจมตีหลบซ่อนหรือรีโมทเครื่องเป้าหมาย)
5.Spyware(โปรแกรมที่หวังผลในการสืบค้น...ลบซ่อนโดยหวังผลจากเครื่องเป้าหมายและรายงานจาก)
6.Adware(โปรแกรมหรือโฆษณาทางการค้าที่ไม่พึงประสงค์ที่อาศัยช่องทางสื่อสารในการแอบและหลบซ่อน)
7.Rootkit(โปรแกรมที่ฝังอยู่ในระบบชั้นล่างสุดและแกนระบบเพื่อล็อกหรือปกปิดลิขสิทธิ์บางอย่างจากผู้ไม่พึ่ง
ประสงค์)
8.HOAX(โปรแกรมก่อกวน หรือ ตลกฟืด หรือ หลอกล่วงว่าเป็นโปรแกรมหรือคำสั่งอันตรายต้องส่งต่อเป็นลูกโซ่)
9. โปรแกรมไม่พึ่งประสงค์อื่นๆ อีกมาก เช่น แอนตี้ไวรัสปลอม ฟิสชิ่ง อีกมากมายฯ

2.Virus แพลตฟอร์มวินโดวส์
2.1.Boot Virus (ไวรัสที่ทำงานตอน “POST; Power On Safe Test” และฮุกอินเตอร์รัพต์เพื่อดักรอสถานะการณ์)
-MBR Virus (ไวรัสที่ฝั่งตัวในส่วนของแทร็กที่ 0 เซคเตอร์ที่ 0 เฮดเดอร์ที่ 0 ไชลินเดอร์ที่ 0 ของดิสก์ระบบ)
-Partition virus (ไวรัสที่ฝั่งตัวในส่วนของพาร์ทิชั่นที่แอ็คทีฟหรือรอการแอ็คทีฟ)
2.2.Programs Virus (ไวรัสที่ทำงานด้วยภาษาแอสแซมบลีหรือภาษาเครื่อง)
-Runtime (ไวรัสแบบง่ายๆ เขียนรอการเรียกใช้โปรแกรมและทำงานและค้นหาไฟล์ต่อไปเพื่อแพร่เชื้อ)
-Polymofic (ไวรัสที่เข้ารหัสตัวเองเพื่อหลบซ่อนจากแอนตี้ไวรัสหรือหลอกลวง Hash File ได้)
-Stealth (ไวรัสที่เปลี่ยนตาราง FAT หรือ ฮุคอินเตอร์รัพต์และเคลื่อนย้ายการอ่านไวรัสไปยังตำแหน่งอื่นได้)
-Multiplate (ไวรัสที่สามารถติดเชื้อใน Script หรือ Document ได้)
-Multi OS (ไวรัสที่สามารถข้ามไปยัง Linux หรือ IOS ได้)
2.3.Script Virus (ไวรัสที่เข้าถึงแฟ้มสคริปของวินโดวส์ทั้ง Registry หรือ JAVAScript หรือ VBSricpt หรือ Batch)
2.4.Document Virus (ไวรัสที่เข้าถึง Macro หรือ VBA หรือ โปรแกรมเสริมของระบบโดยอัตโนมัติหรือรอเรียกใช้งานผ่านผู้ใช้หรือสคริปไวรัสอีกที)
-Office Macrovirus (ไวรัสที่อาศัยคำสั่ง Visual Basic for Application ในการทำงาน เช่น Word, Excel, Power Point, CorewDraw)
-Macromedia Virus (ไวรัสที่อาศัยคำสั่ง Aciton Script หรือ การเรียกคำสั่งของ PDF)
2.5.Internet Virus (ไวรัสที่ทำงานผ่านบราวน์เซอร์โดยผ่านสคริป VBScipt หรือ JAVAScript หรือ PHP ทั้งไคล์เอนและเซิฟเวอร์)

3.Worm แพลตฟอร์มวินโดวส์
3.1.HiperText (ทำงานผ่าน Desktop.ini “ฟิวเจอร์นี้ถูกยกเลิกในวินโดวส์ ME”)
3.2.AutoIt (ทำงานโดยผ่านคำสั่ง AutoRun.inf “ฟิวเจอร์นี้ถูกยกเลิกในวินโดวส์ XP”)
3.3.Replecator (จำลองตัวเองเป็นโฟลเดอร์เสมือนหรือเปลี่ยนตัวเองเป็นเอกสารหรือโฟลเดอร์หลอกให้ผู้เรียกช้างาน)
3.4.Sortcut (บรรจุคำสั่งไว้ใน Link File และรอการเรียกใช้งาน)

4.Trojan แพลตฟอร์มวินโดวส์
4.1.Ransomware (โปรแกรมเข้ารหัสดิสก์หรือโฟลเดอร์เหยือเพื่อเรียกค่าไถ่)
4.2.Remote & Black Door (โปรแกรมควบคุมเครื่องหรือเชื่อมต่อเครื่องเหยื่อเพื่อก่อกวนหรื่อเหตุการณ์ไม่พึ่งประสงค์)



วันพฤหัสบดีที่ 19 ธันวาคม พ.ศ. 2556

การแสดงผล Matrix บน Desktop ของวินโดวส์ (เลียนแบบ CMD)

วันนี้...ก็ไม่มีอะไรมาก...อึดอัดมานานที่เขียน แบตช์ไฟล์แสดงผล Matrix ได้...แต่ไม่สวยงามเลยต้องเขียนมันบน VB6 ซึ่งโปแกรมทำงานได้สวยงามกว่า...เลยคัดลอกมาให้ผู้อ่านเล่นกัน...เพื่อจะเรียกโปรแกรมนี้...แสดงผล...หน้าจอ...ให้คล้ายๆ การแฮกศ์ข้อมูล... เหมือนในหนังที่ติดต่อ Console อยู่หลายๆ เซกชั่น...ฮ่าฮ่า...ถึงไม่เทพขนาดในหนัง...ก็ทำหน้าจอเรียนแบบได้...

ตัวอย่างการจับหน้าจอมาให้ดูกัน...
ส่วนการเรียก Matrix พื้นหลังให้ใช้โปรแกรมนี้ครับ...
MininMatrix.BAT

ลองเล่นดูนะครับ...

วันจันทร์ที่ 16 ธันวาคม พ.ศ. 2556

ทำไมต้องรวมสคริปเป็น HTML (ทำไมไม่เป็น Batch)

    ตามหัวข้อเลยครับ...ทำไมไม่เขียนแบตช์ไฟล์เป็นสคริปหลักในการเขียนเมนูหรือแสดงหน้าจอ...คำตอบอย่างที่รู้ๆ กันดีว่า...มันแสดงผลได้ไม่ดี...ตอบรับ GUI ไม่ได้...และเหตุผลประการสำคัญคือ...กว่าจะเขียนสคริปอื่นๆ มาเป็น Batch ยากกว่า นำมันมาทั้งดุ้นและใช้โปรแกรมรวมมันทีเดียวโดยไม่มีข้อผิดพลาด
    ผมเคยลองเขียนโปรแกรมรวมสคริปของท่าน Augie Pantip ปรากฎว่า...ยากมากกว่าจะรวมมันเป็น Batch File ตัวเดียว สู้ใช้โปรแกรมที่ผมเขียนขึ้นด้วย VB6 รวมสคริปเหล่านั้นเป็น HTML และก็รันมันผ่าน VBScript ง่ายกว่าเยอะ...ไม่ต้องค่อยดูว่า...สคริปไหนใช้งานได้ไม่ได้...Regedit Key เหล่านั้นเป็นไปตามต้นฉบับทุกประการ...ไม่ต้องกังวลว่า...บรรทัดใน Batch ตัวใด จะ Error ครับ
   อีกประการคือการแสดงผลการทำงานของ Batch นั้นทำได้ไม่เต็มที่...ใช้ภาษามาร์กอัป ตกแต่งจะสวยกว่าไหม? อีกอย่างมันสามารถทำงานกับ Mouse ได้อย่างง่ายๆ ไม่ต้องละมือจาก Mouse ไปจับ คีย์บอร์ด และสามารถใส่ลูกเล่นหรือสีสรรลงไปยังภาษามาร์กอัป อย่างง่ายๆ ได้...ด้วยพื้นฐานที่เรียนกันมาทุกคน...
ตัวอย่างโปรแกรมที่ผมทำจาก Script to HTML ดูครับ...

จากภาพ...ผมเขียน Logo จาก โปรแกรมแปลงภาพเป็น Ascii ครับ เพื่อให้สามารถแทรก Logo ลงบน HTML แบบยูนิโค้ด UTF-8 ซึ่งสามารถบรรจุ รหัส ASCII ลงไปในเพนเทกซ์ได้ครับ...(ปกติ UTF-8) แบตช์ไฟล์บน Windows XP จะมีปัญหาครับหากใช้ฟอร์แมทนี้)
    อีกอย่างโปรแกรมนี้ดีอย่างคือ...สามารถทำให้โปรแกรมแสดงผลเกินการทำงานของ Batch File (25 บรรทัด) เป็นกี่บรรทัดก็ได้ขึ้นอยู่กับภาษามาร์กอัป และสามารถใส่สี พื้นแบ็กกาวด์ หรือ สีตัวอักษรก็ได้
ตัวอย่างโปรแกรมที่เขียนเสร็จ...ลองนำไปใช้งานดูนะครับ...
แคทอาย Registry Hacker


โปรแกรม Script All To HTML ปรับปรุงใหม่...
Script To HTML Version 2.7
รุ่นนี้...ปรับปรุงแก้ไข...ให้ สคริป...ที่สร้างถูกเก็บไว้ที่ %TEMP% ครับ

วันศุกร์ที่ 6 ธันวาคม พ.ศ. 2556

รวมสคริปที่มีเป็น HTML ด้วยโปรแกรมนี้

หลายคน...อาจมีความสามารถทางภาษาคอมพิวเตอร์หรือสคริปคำสั่งแตกต่างกัน...บางคนถนััด VBScript และ JAVAScript เพราะเก่งเรื่องเว็บแอฟ...ส่วนบางคนถนัด Regedit Key เพราะเป็น IT Support หรือ เก่งการโมดิฟายปรับแต่คอมพิวเตอร์...แต่บางคน...เก่ง Batch File และคำสั่งเกี่ยวกับ DOS และ Console เพราะอยู่สาย Network และเป็นคนศึกษามาแต่ยุค DOS แต่ไม่ว่าคุณจะเก่งอะไร...ไม่สำคัญ...เอาอย่างนี้ดีไหม...นำสคริปที่รวบรวมจากปรมาจารย์ทั้งหมด...มาเป็นโปรแกรมของตัวเองหรือเพียงคำสั่งเดียวที่พกติดตัว...เหมือนอาวุํธลับ...ที่พร้อมจะ "ซัด" ใส่โปรแกรมเมอร์ หรือ แฮกเกอร์ หรือเจ้านินจาแคร็กเกอร์ เพียงคำสั่งเดียวมีคัมภีร์วิชาติดตัวเป็น 108 กระบวนท่า...ลองมาทำดูกัน

โปรแกรมเดียวที่ยัดสคริปคำสั่งที่ยกตัวอย่างมา...ไว้ในแฟ้ม .HTM หรือ .HTML เพื่อเรียกใช้งานอย่างง่าย...ไม่ต้องหามันทั้งโฟลเดอร์ เพียงแต่ต้องมีโปรแกรมแต่งเว็บ ไว้คอยช่วยเหลือเรื่องความสวยงามและเป็นหมวดเป็นหมู่...ส่วนสคริป...คำสั่งมีเป็นปุ่มๆ ให้โดยอัตโนมัติ
ตัวอย่างโปรแกรมที่ทำเสร็จแล้ว...

ลอง ดาวน์โหลดไปเล่นดูนะครับ...
ScritToHTML.EXE

ส่วนโปรแกรมตัวอย่้างก็มีให้ Download เช่นกัน
Cateye All Script To HTML.HTM

เรียกทำงานผ่าน IE และ Enable Active X ด้วยครับ...

วันพฤหัสบดีที่ 24 ตุลาคม พ.ศ. 2556

ทำความเข้าใจกับ Batch File ไวรัส ตอนพิเศษ 2

ในแง่ความเป็นจริงแล้ว...ไม่มีใครชอบไวรัสคอมพิวเตอร์...แต่พอใครบางคนเริ่มรู้ว่าตนเองสามารถเขียนมันขึ้นมาได้...หรือแกล้งคนอื่นๆ ได้...ความชั่วร้ายในใจ...กลายเป็นพลังผลักดันให้คนเหล่านั้น...เขียนมันซ้ำอีก...พัฒนามันซ้ำอีก...จนกลายเป็น "เด็กร้อนวิชา"
แต่ในโลกยุคปัจจุบัุน...การเขียนไวรัสเป็นเ้รื่องผิดกฎหมาย...ทำให้ใครหลายคน...มองว่ามันเป็นเรื่องไม่ดี...ไม่เหมาะ...(ก็จริง) แต่ในด้านการศึกษาแล้ว...มันถูกมองข้ามความสำคัญของการป้องกันตัวเอง...รู้เท่าทัน...คำสั่งที่มีชีวิต...อาศัยเพียงไม่กีตัวอักษร...ในการคัดลอกตัวคำสั่งของมันไปเรื่อย...องค์ความรู้เหล่านี้...อยู่แต่ห้องใต้ดิน...และเวปมืด
และยิ่งเป็นคำสั่ง Batch File ที่สามารถเขียนมันบน Notepad มันยิงทำให้คนรุ่นใหม่...มองหาอะไรที่ง่ายๆ เขียนเพียงไม่กี่ตัวอักษร หรือคัดลอกไป...มันก็ทำให้คนเหล่านั้นประหลาดใจได้ เรียกเด็กพวกนี้ว่า "เกรียนแอฟ" มักจะลองของ...แกล้งเพื่อน...โดยกฎหมายยังมองเห็นเป็นเรื่องเล็กๆ ที่พอจะรับได้...แต่ถ้าเมื่อใดเป็นการ "แฮกเวป" "ดักฟัง" "ทำลายข้อมูล" เรื่องเล็กที่เด็กบางคน...ไม่รู้...ก็จะเป็น "งานเข้า" สำหรับเด็กเหล่านั้น...ฉนั้นการศึกษาคำสั่งบางคำสั่ง...น้องๆ ต้องรู้ว่า...มันทำง่านอย่างไร...ทำเพื่ออะไร...และมีผลอย่างไร

การเป็นนักฆ่าไวรัสด้วย Batch File
1. ต้ืองมีความรู้ว่า...Virus นั้นทำงานอย่างไร (เอาไว้มาสอนอีกที)
2. ต้องรู้ว่ามันจะถูกฆ่าได้อย่างไร
3. ต้องรู้ว่ามันอาศัยอยู่ที่ใดๆ ในเครื่องเรา
4. ป้องกันได้อย่างไร

ต้องมีความรู้ว่า Virus นั้ำนทำงานอย่างไร...
ไวรัส...หรือมัลแวร์อื่นๆ อาศัยช่องทางการฝั่ง Shell หรือ ตัวของไวรัสหรือมัลแวร์ต้องทำงานได้ทุกๆ ครั้งที่
1.เครื่องเปิดการทำงานเพื่อหลบซ่อน
2. โปรแกรมที่จะฝั่งตัวทำงานเพื่อ...แพร่เชื้อ
3. คัดลอกตัวเองไปยัง "โฮสต์" ที่ตั้งใจ...ได้อย่างรวดเร็ว

ต้องรู้ว่ามันจะถูกฆ่าได้อย่างไร
1. Virus บางตัวนั้นอาศัย โปรเซส ... หรือ Service เพื่อทำการดักรอสถานการณ์

1.1 ค้นหา่ำทำลายโปรเซส
Takslist
เพื่อดูว่ามีคำสั่งไวรัสเป้าหมายติดเชื้อในเครื่องหรือยัง
Taskkill /im "เชื่อไวรัส.exe"
คำสั่งนี้...คือคำสั่งปิดโปรเซสไวรัสที่ต้องการเพื่อไม่ให้มันดักรอสถานการณ์และป้องกันลูกหลานมันจากการลบทิ้งหรือทำลายพวกมัน อันแรก...ต้องใช้คำสั่งนี้ทำงาน

1.2 ทำลายมันในคำสั่งแรกไม่ได้...
net start
เพื่อดูว่ามี Service ไวรัสเป้าหมายหรือไม่ที่ขัดขวางการอินเตอร์รัพต์เพื่อปิดโปรเซส
net stop "เซอร์วิสไวรัส"
คำสั่งนี้...คือการปิดบริการของระบบที่คำสั่งปิดโปรเซสไม่สามารถทำลายได้
จากนั้นให้วนกลับไปข้อ 1.2 ใหม่

2. เทียบเคียงค้นหาและทำลาย
คำสั่งชุดนี้...ถ้าน้องๆ จะเขียนให้มันฆ่าไวรัสสักตัว...ก่อนอื่นต้องรู้ก่อนว่า...แฟ้มไวรัส มีลักษณะอย่้างไร เช่น ขนาดเท่าไหร นามสกุลอะไร หลบซ่อนแบบใด
ยกตัวอย่างง่ายๆ จะฆ่าไวรัสซอทคัท...
for /f %%a in ('for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do dir %%d:\ *.lnk /s /b') do (
  if %~zI== 512 (
    attrib -r -s -h %%a
    del %%a
    echo [kill] %%a
  )
)
จากตัวอย่างด้านบน คำสั่งหมายถึง
ลิสต์คำสั่ง dir ไดร์ฟ:\ แฟ้มนามสกุล.lnk ทั้งระบบ เป็นบรรทัดเดียว มาอยู่ในคำสั่ง for เืพื่อค้นหา ขนาดไฟล์ == 512 หรือไม่ ถ้าใช้... กำหนดแอตทิบิวต์ เป็นธรรมดา และลบแฟ้ม และแสดงข้อความ

ซึ่งในส่วนของการค้นหาไวรัส ถ้ามีหลายประเภทเช่น .vbs .js .bat .cmd หลายๆ นามสกุล เราต้องเขียนคำสั่งที่ยากขึ้นไปอีกดังนี้...กรณีตัวอย่าง...ฆ่าไวรัส autorun.inf
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  %%d:
  for /f %%a in ('dir *.* /ad /b') do (
    for /r %%b in (*.vbs *.js *.bat *.cmd) do (
      for /f %%c "tokens=*" in ("%%a\%%b") do (
        findstr "[AutoRun]" "%%c"
        if errorlevel 1 (
          echo Found AutoRun Command...[Kill] %%c
          attrib -r -s -h "%%c"
          del "%%c"
        ) else (
          echo [ OK ] %%c
        )
      )
    )
  )
)
จากคำสั่งด้านบน...หมายถึง
ลิสต์ไดร์ฟข้อมูลทั้งหมด และกระโดดไปทำงาน
ลิสต์โฟลเดอร์ทั้งหมด
ลิสต์นามสกุลไฟล์ที่ต้องการค้นหา
ค้นหาคำสั่ง [AutoRun] เพื่อดูว่ามีหรือเปล่า
ถ้าพบ...แสดงข้อความ กำหนดแอตทิบิวต์เป็นธรรมดา และลบทิ้ง
ถ้าไม่พบ แสดงข้อความ [OK]

น้องๆ สามารถประยุกต์ใช้งานเป็นของตนเอง...ตามความเหมาะสม

3. ปรับปรุงแก้ไขระบบให้ถูกต้อง...
น้องๆ ต้องศึกษาคำสั่ง Registry ที่ไวรัสแก้ไขไป...เพื่อเซ็ตกลับมาให้ถูกต้อง

ต้องรู้ว่ามันอาศัยอยู่ที่ใดๆ ในเครื่องเรา
ให้ย้อนกลับไปดูว่ามันสามารถอาศัยส่วนใดได้บางจากบทนี้

ป้องกันได้อย่างไร
การป้องกันมีหลากหลาย...เช่น
1. ดักรอใน Process เพื่อดูว่า...แฟลชไดร์ฟพบ Autorun.inf หรือไม
2. ดูว่ามีการสร้าง .lnk .pif ในแฟลชไดร์ฟหรือไม่
3. ปิดการใช้งาน Autorun.inf

บทสรุป...
สำหรับไวรัสจำพวก Autorun.inf นั้นเป็นเพียงอดีตไปแล้ว...และไวรัสซอตคัทก็เช่นกัน...ไวรัสจากอดีตถึงปัจจุบัน...มีหลายยุค...หลายรุ่น...แต่ทุกๆ ยุค จะมีนักฆ่าไวรัส และตัวฆ่าไวรัสเกิดขึ้นมาใหม่ๆ เสมอ...แต่นับวันไวรัสยิ่งอาศัยการเข้าถึง ระบบมากยิ่งขึ้น...จึงทำให้เิ่ริ่มฆ่ายากขี้น...มีการทำลายที่รุ่นแรงขึ้น...ไวรัสเองไม่ได้มาเฉพาะ USB ไดร์ฟ แต่ในอินเตอร์เน็ต ใน e-Mail ในโปรแกรมเองก็มี...ฉนั้นการอาศัยแบตช์ไฟล์เพียงอย่างเดียวในการฆ่าไวรัสนั้นอาจทำไมได้...ยังต้องพึงพาโปรแกรมฆ่าไวรัสอยู่ดี...เหมือน Combofix ที่เป็น Batch File แต่อาศัย แอปพลิเคชั่นช่วยทำงานและฆ่าไวรัสเสริมเข้าไป...ฉนั้นคำสั่ง Batch file อาศัยช่วยพยุงคำสั่งเท่านั้น...ตัวของแบตช์ไฟล์เอง...ฆ่าไวรัส ง่ายๆ ได้ แต่ยังไม่มีประสิทธิภาพและความสวยงามเพียงพอ

วันพุธที่ 25 กันยายน พ.ศ. 2556

ทำความเข้าใจกับ Batch File Virus ตอน พิเศษ

เนื่องด้วยติดตามดูผลงานตัวเอง...จากหลายๆ บล็อกพบว่า...เนื้อหาเกี่ยวกับไวรัสเป็นที่สนใจของเด็กร้อนวิชา...ที่อยากจะสร้างไวรัสคอมพิวเตอร์ขึ้นมาแกล้งเพื่อน และมียอดวิวที่สูง...เลยสนองความต้องการของเด็กเหล่านี้ซะ...555 ไม่ได้หมายความว่า "พี่แมวตาเดียว" จะสอนเขียนไวรัสนะ...แต่วันนี้เราจะมาเขียนตัวฆ่าไวรัสกัน อย่างไีรก็ดี...เด็กรุ่นใหม่ที่เขียนโปรแกรมไม่เป็นเยอะมากและก็ไม่คิดจะเขียนให้เป็นด้วย...ขอแค่ คัดลอกอะไรก็ได้ลง Notepad และก็เอาไปแกล้งเพื่อน...โถ่...เด็ก...
      ท้าวความ...เมื่อก่อนตอนได้คอมพิวเตอร์เครื่องแรกมาใหม่ๆ ผมเองโดนไวรัสคอมพิวเตอร์เล่นงานซะ...อ้วม...กับค่าลงโปรแกรมและซ่อมวินโดวส์ และไวรัสสมัยนั้น...โคตะระ...ห่า...ฆ่าอยากฉิบ...ไวรัสในสมัย DOS นั้นไม่มีรูปแบบเป็น Pain text แบบสมัยนี้นะครับ...มันเป็น Binary ล้วนๆ อ่านไม่ออกหลอกว่ามันทำงานอย่างไร...หรือกล่าวได้ว่ามันเป็น Assembly Code หรือ ภาษาเครื่อง คุณไม่มีทางรู้เลยว่ามันคืออะไรมีอันตรายไหม...และเกาะติดแฟ้ม .EXE, .COM ได้อย่างไร ด้วยความแค้นและผสมความเจ็บใจจึงเริ่มศึกษาอย่างจริงๆ จังๆ ว่ามันทำงานอย่างไร...ในยุคนั้น Internet ไม่มีฐานความรู้ภาษาไทยให้มากขนาดนี้...ต้องเปิดตำราศึกษา Assembly และ C และระบบปฏิบัติการ DOS จึงพอทำความเข้าใจได้คร่าวๆ ว่า ไวรัสนั้นทำงานด้วยการอาศัยติดแฟ้มคำสั่งไม่ว่าจะเป็น .EXE, .COM, .DLL, .OVL, .BIN, .SYS ก็ตามโดยมันจะมองที่ส่วนหัวของนามสกุลดังกว่าว่าเป็น MZ หรือเปล่า ถ้าไม่เป็น มันจะเปลี่ยนเป็น ZM เพื่อบอกว่ามันติดเชื้อแล้ว ซึ่งเจ้า MZ หรือ 2 Byte แรกของไฟล์คำสั่งนั้นเป็น ซิกแนลเจอร์ ของแฟ้มคำสั่งบน Windows และ DOS ไม่รู้ว่ามันย่อมาจากคำว่า Machine Zip หรือเปล่า เดาเอา
      พอเริ่มเข้าใจว่าไวรัสทำงานอย่างไรมีกี่ประเภท...และหลบซ่อนตัวอย่างไร...จึงเริ่มเป็นนักฆ่าไวรัสแหละ...แต่พอมาถึงยุคไวรัสมาโคร...ก็เริ่มอยากศึกษาไวรัสมาโครมันทำงานอย่างไร...โดยไวรัสมาโครที่เขียนตัวแรก...ได้มาจากการลองดักจับไวรัสดังนี้
1. คัดลอกเอกสารเวิร์ดที่ติดเชื้อมาใส่ ฟล็อปปี้ดิสก์
2. เสียบในเครื่องไม่ติดเชื้อ
3. เปิดไฟล์เวิร์ดที่ติดเชื้อเพื่อดักจับ
4. เพื่อไม่ให้ไวรัสทำงานได้สมบรูณ์ เลยถอดฟล็อปปี้ดิสก์ซะ...เพื่อให้ไวรัสติดกับดัก...(ได้ผล...) ไวรัสรันคำสั่งไปได้ครึ่งทางก่อนทำการซ่อนตัวอย่างถาวร...เกิด Error ในสคริปมาโครไวรัส ทำให้ Visual Basic Application แสดงบรรทัด Error ของไวรัสมาโคร
5. 555 หวานหมู...ไม่นึกมาก่อนว่าไวรัสมาโีครที่หาตัวยากสมัยนั้น...ถูกดักจับด้วยวิธีพื้นๆ จากนั้นคัดลอกโค้ดใส่ Notepad เพราะรู้ว่าไวรัสไม่มีทางรันบน Notepad ได้
6. พึ่งมารู้ที่หลังว่า...ดักจับไวรัสที่หลบซ่อนตัวดีที่สุดในโลกตัวหนึ่งชื่อ Bablas.W32 Macro
จากนั้นเป็นต้นมาศึกษามาโครอย่างจริงจังเพื่อเขียนไวรัสมาโครเผยแพร่ และเสียบมันในร้านเน็ต...ร้านพิมพ์งานเอกสาร...รวมถึงลูกค้าที่ชอบมาเซฟงานที่ร้านก็จะไ้ด้มันกลับไป
      พอมาถึงยุคไวรัสที่ทำงานบน Hypertext ไวรัสพวกนั้น...ผมไม่มีโอกาสได้ศึกษามันเพราะติดงานประจำ และยุคแห่งความเป็นเด็กคึกคะนองก็หมดไปพร้อมๆ กับรู้ตัวว่าทำผิด แต่ยังชอบศึกษาด้านความปลอดภัยระบบกับไวรัสอย่างเสมอ มายุคที่วินโดวส์ XP ออกตลาดใหม่ๆ Hypertext ไวรัสหมดไป...ก็เริ่มหันมาเขียนตัวป้องกันไวรัสที่บล็อก AutoIt หรือ สแกนมาโครไวรัส...ซึ่งเป็นเพียงอดีต...จึงไม่รุ่ง

ทำไมไม่เขียนไวรัสแพร่กระจายต่อ
1. ผิดกฎหมาย
2. นักฆ่าซอมบี้...ต้องเก่งกว่าซอมบี้อยู่แล้ว (เปลี่ยนข้าง)
3. ไม่เล่งเห็นประโยชน์
4. เขียนเป็นตั้งแต่ Binary Virus จนถึง สคริปไวรัส แต่ Antivirus เอาไปกินหมด
5. เพราะไม่มีผู้สร้าง Antivirus คนใด...เขียนไวรัสของตัวเองให้ Antivirus ยี้ห้ออื่นฆ่าแทน

คำถามข้างคาใจหลายๆ คน
1. ผู้เขียนแอนตี้ไวรัส...เป็นผู้ปล่อยไวรัสเองใช่หรือไม่...
ผมจะย้อนถามเขาเหล่านั้นว่า...ผู้ผลิตอาวุูธนิวเครียร์...จะนำอาวุธนั้นมาบอมประเทศตัวเองใช่หรือไม่
และถ้าจะโง่บอมประเทศตัวเอง...จะรบกับประเทศอื่นที่มีนิวเครียร์อย่างไร...
2. ผู้เขียนไวรัส...คือคนที่เขียนแอนตี้ไวรัสนั้นแหละ...
ผมว่าถูกแต่ถูกบางส่วน...ไวรัสส่วนใหญ่ไม่ได้มาจากผู้เขียนแอนตี้ไวรัส...แต่มันมาจากมือใหม่ๆ ที่แอนตี้ไวรัสตรวจจับได้และฆ่าได้...แต่ถ้าเมื่อไหร่ที่มันเขียนจากผู้ผลิตแอนตี้ไวรัส...มันจะตรวจจับไม่ได้...(ตำรวจไม่จับตำรวจ) ฉนั้น...ไวรัสที่เรามักตรวจพบ...เป็นเพียงไวรัสกระจอก...และไวรัสระดับเครดิต(ไวรัสฆ่ายาก รอเสียเงิน) ส่วนไวรัสที่นักพัฒนาแอนตี้ไวรัสเขียนขึ้น...แอนตี้ไวรัสชนิดนั้นจะไม่พบหรือ แต่ใช่ว่ายี้ห้ออื่นจะหาไม่พบ...ถ้าผม...ผมเขียนไวรัสที่แอนตี้ไวรัสของตัวเองจับไม่ได้...แต่ถูกคู่แข่งยี้ห้ออื่นจับได้...เสียชื่อแย่...สู้ไม่เขียนจะดีกว่า...
3. ถ้าเขียนไวรัสเป็นจะสร้างไวรัสที่ฆ่าไม่ตาย...และแพร่ไปทั่วโลกให้โด่งดัง...
สำหรับผม...คำถามนี้...ฝันเฟื่อง...และเป็นคำถามที่มาจากผู้ที่เขียนไวรัสไม่เป็นเท่านั้น...เพราะในโลกความเป็นจริง...ไวรัส...
3.1 ถูกดักจับได้
3.2 ไม่สามารถติดเชื้อจากอากาศ...มันต้องมีโฮสต์และแหล่งที่มา...จึงถูกตรวจสอบได้เสมอ
3.3 ไวรัสมนุษย์ต่างดาวหรือลบหลีกการตรวจจับได้ในระยะแรกๆ เท่านั้น ไวรัสเหมือนสิ่งมีชีวิต...มันมีพฤติกรรมไม่พึ่งประสงค์ เครื่องหนึ่งอาจจะไม่เจอ...แต่อีกสิบเครื่องสภาพแวดล้อมไม่เหมือนกัน...ยังไงก็เจอ
4. ถ้าเขียนไวรัสได้...จะทำให้เครื่องคอมพิวเตอร์พังแบบไม่มีทางซ่อม...
คำถามนี้...ปัญญาอ่อนสุดๆ เพราะซอฟต์แวร์กับฮาร์ดแวร์มันเป็นคนละส่วนกันเป็นคู่ขนาดกันเสมอ...ถ้าไวรัสเป็นเพียงตัวเลข 12345 ในประจุไฟฟ้าบนฮาร์ดดิสก์ และเป็นเพียงสารสื่อตัวนำ ในแรม...และเป็นเพียงอนุภาคไฟฟ้าใน CPU คุณคิดว่า...มันสามารถทำให้เครื่องคอมพิวเตอร์พังได้อย่างไร แต่ยังมีช่องทางเล่นงานผ่าน BIOS ซึ่งในอนาคตเอง...โปรแกรมที่บรรจุไว้ในสารสื่อตัวนำใน BIOS จะสามารถเขียนและแก้ไขตัวมันเองได้ที่เราเรียกว่า "เฟริมแวร์" เฟริมแวร์จะถูกแก้ไขโดยไวรัสหรือเปล่า...เป็นเรื่องของอนาคต

เริ่มทำความเข้าใจไวรัสแบบใกล้ตัวขึ้น?
1. ไวรัสต้องอาศัยโฮสต์หรือพาหะ...ฉนั้นต้องทำความเข้าใจก่อนว่า...แฟ้มอะไรบ้างบนวินโดวส์ที่สามารถเขีียนสคริปได้
1.1 .VBS, .JS, .VBE, .JSE, .BAT, .CMD, และสคริปพาเวอร์เชลล์ในอนาคต รวมถึงสคริปที่ยังไม่กล่าวถึงอีกมาก...ที่สามารถทำงานได้โดยการ Open หรือ ดับเบิ้ลคลิก
1.2 แฟ้มคำสั่ง และ Link คำสั่ง รวมถึง Junction ในอนาึคต แฟ้มเหล่านี้ระบบปฏิบัติการสร้างขึ้นให้เรียกใช้งานได้ทันทีหรือดับเบิ้ลคลิก หรือ Open หรือ Shell อื่นๆ แบบอัตโนมัติ ไวรัสสามารถสิ่งสถิตย์ได้หมด
1.3 เอกสารที่มีการเรียก Hyperlink หรือ Macro ติดไวรัสได้หมดเช่นกัน เช่น .HTM, .DOC, .XLS, .PDF .CDR และเอกสารของ มาโครมิเดียเช่นกัน
สรุป...มีแฟ้มไม่กี่ประเภทที่ไม่มีไวรัส...เช่น ภาพ...เพลง...แอคไควบีบอัดทั้งหลาย...วีดีโอบางไฟล์อาจมีลิงค์ที่เรียกไวรัสจากอินเตอร์เน็ตได้...ที่ผ่านมาผู้เขียนยังเคยพบ ไวรัสที่ฝากตัวเองไว้ใน .RAR ก็มี...ด้วยการอาศัยการเรียกคำสั่ง shell บน DOS เปิดแฟ้มติดเชื้อและเขียนตัวเองทับแฟ้ม .EXE ในนั้้น มันทำได้ จึงสรุปได้ว่า แฟ้มที่เป็นข้อความเช่น .TXT, .MP3, .JPG, ,BMP, .PNG, .ICO อีกมากมาย...ที่เขียนโปรแกรมใส่ไปในแฟ้มเหล่านั้นไม่ได้...มันจะไม่ติดไวรัสนั้นเอง

สำหรับแบตช์ไฟล์ไวรัส...มีกี่ประเภท
1. มีหัวเป็น rem{วรรค}ตามด้วยโค้ดไวรัส Binary Virus>แฟ้มไวรัส.COM
2. @echo{วรรค}ตามด้วยโค้ด Binary Virus >แฟ้มไวรัส.COM
3. อาศัย Debug.EXE รันไวรัสและหลบซ่อน
4. อาศัยตัวเองใน AutoExec.NT และรอแพร่เชื้อ
5. อาศัยใน StartUp Key
6. อาศัยใน StartUp Folder
7. อาศัยใน Shell หรือ ActiveX ใน Registry
8. อาศัยตัวมันเองแพร่เชื้อและติดเชื้อโดยตรง
9. เขียนทับแฟ้ม .EXE ใน ZIP หรือ RAR
10. ทำงานผ่าน .LNK  หรือ ช็อตคัท...หรือ Hyperlink ต่างๆ
11. คาดว่าในอนาคต...ถ้าหาทางเจาะ...เมโทรยูไอ หรือหน้าจอมือถือได้...ไวรัสรวมถึงแบตช์ไฟล์ไวรัสจะกลับมาระบาดอีกครั้ง...

วันจันทร์ที่ 23 กันยายน พ.ศ. 2556

ปูพื้นฐาน (ขั้นเทพ) Batch File ตอน 11

ไปป์ปิ้ง หรือต่อท่อ ให้กับคำสั่ง...แบตช์ไฟล์นั้นจะทำงานได้ไม่สมบรูณ์เลย...ถ้าไม่มีคำสั่งพวกนี้...และคำสั่งพวกนี้คืออะไร...ยกตัวอย่างเช่น คุณต้องการส่งข้อความ Yes ไปที่คำสั่ง Format C: ถ้าใน VB6 คุณอาจใช้ Sendkey เพื่อจำลองแป้นพิมพ์ แต่ภาษาบน Console นั้น API ไม่ได้ตอบรับกับภาษาพวกนี้...ตัวระบบปฏิบัติการจึงสร้างการต่อท่อคำสั่งขึ้นมาที่เรียกว่า "Piping" หรือ "Pipe"
อย่างที่เคยยกตัวอย่างในหลายๆ บทความว่า...การยิงคำสั่งออกไปที่แฟ้มข้อมูลก็ดี...หรือการเชื่อมต่อคำสั่งมารวมกันก็ดี...ผู้เขียนอาจจะยังไม่ได้อธิบายในส่วนนี้ละเอียดมากนัก...เพราะมันจะกลายเป็นบล็อกวิชาการ...ถ้าเราศึกษาอะไรสักอย่างโดยไม่มีแรงจูงใจ...บล็อกนี้...ยอดวิวคงยังไม่เยียบหมื่นอย่างทุกวันนี้...จึงเอาวิชาการหรืออะไรที่หนักสมองมาไว้เป็นช่วงๆ ให้ไม่รู้สึกเบื่อ แต่วันนี้...คุณเจอของหนักแน่
มาทำความเข้าใจอุปกรณ์ของ DOS ก่อนว่า...ถูกสงวนไว้ตั้งแต่ DOS ยุคโบราณ 7 อุปกรณ์ ดังนี้
1. Nul  อุปกรณ์ว่าง...หรือผลของคำสั่งไปยังความว่างเปล่า
2. Con อุปกรณ์จอภาพ...และหน้าจอ...
3. Prn  อุปกรณ์เครื่องพิมพ์...หรือส่งผลของคำสั่งพิมพ์ทางปริ้นท์เตอร์ตัวที่เป็น Default
4. Com(หมายเลข) อุปกรณ์ประเภทการสื่อสารแบบ พอตท์อนุกรม
5. Lpt(หมายเลข)  อุปกรณ์ประเภทการสื่อสารแบบ พอตท์ขนาน
6. Aux อุปกรณ์ แอกซิเลียรี่ (ผู้เขียนว่ามันต้องอยู่ในเครื่องยุคเก่า)
7. Clock$ อุปกรณ์ ระบบนาฬิกา
อุปกรณ์เหล่านี้...มันจะถูกจองไฟล์แฮนเิดิล...เพื่อไม่ให้ ใครก็ตามนำ Handle ส่วนนั้นไปใช้ได้ครับ...และจะถูกสงวนใช้ไว้แม้กระทั้งระบบปฏิบัติการวินโดวส์ทำงานแล้วก็ตาม...



คำสั่ง > อุปกรณ์
การยิงคำสั่งรูปแบบนี้...คือการส่งผลการทำงานของคำสั่ง DOS ไปยังอุปกรณ์ที่ว่ามาทั้ง 7 หรือ ไฟล์ข้อมูลก็ได้ครับ (ไฟล์ข้อมูลไม่ถือเป็นอุปกรณ์เพราะจะถูกอ้างอิง Handle ใหม่เสมอ)
เช่น
DIR > PRN ; ส่งผลคำสั่ง DIR ไปที่เครื่องพิมพ์
Echo Test Message>Readme.txt ; ส่งข้อความ Test Message ไปที่่แฟ้ม Readme.txt

คำสั่ง >> อุปกรณ์
การยิงคำสั่งรูปแบบนี้...คือการส่งผลการทำงานเหมือนตัวอย่างแรก เพียงแต่ไปป์ปิ้งตัวนี้จะส่งผลต่อท้ายอุปกรณ์หรือต่อเติมไฟล์ที่มีอยู่แล้ว(ไม่เขียนทับ) เพื่อให้เกิดการต่อเนื่องของผลลัพธ์นั้นเอง
เช่น
Echo Message Line 2 >>Readme.txt ; ส่งข้อความ ไปยังแฟ้ม Redme.txt อีกครั้งโดยอยู่บรรทัดที่ 2

คำสั่ง | คำสั่ง
การเชื่อมต่อคำสั่งนี้...คือการนำคำสั่ง 2 คำสั่งไปมารวมกันหรือมีผลลัพธ์เดียวกัน
่เช่น
Echo Y | del *.mp3 ; หมายถึง ตอบ Y เมื่อ คำสั่ง Delete ถามว่า Yes หรือ No
(ไปป์ปิ้งตัวนี้ค่อนข้างใช้งานยาก...แต่มันเป็นสุดยอดของ ไปป์ทั้งมวลเพราะมันทำให้เกิดผลคำสั่งที่ไม่น่าจะเป็นไปได้...นอกเสียจากบางคนจะหาวิธีใช้งานและประยุกต์ใช้และเผยแพร่ให้ได้รู้นั้นเอง)

คำสั่ง < อุปกรณ์ 
การรับคำสั่งนี้...ส่วนมากเป็นการรับแฟ้มข้อมูลเข้ามายั้งผลของคำสั่ง 
เช่ืน
Debug.exe < Script.txt
FTP.exe < Script.txt
TelNet.exe < Script.txt

คำสั่ง & คำสั่ง
คือการนำบรรทัดคำสั่งมา้เชื่อมไว้ในบรรทัดเดียวกันเช่น
Echo Line1 & Echo Line2

คำสั่ง && คำสั่ง
คือการทำงานเกี่ยวกับ Errorlevel (ย้อนกลับไปดู IF Errorlevel) คำสั่งนี้จะคล้าย IF ERRORLEVEL เพียงแต่คำสั่งจะสั้นลงมาเท่านั้น
เช่น
Findstr "Text" readme.txt && Msg %username% พบข้อความใน Redme.txt

คำสั่ง || คำสั่ง
คือการทำงานเกี่ยวกับ Errorlevel เช่นกัน เพียงแต่เทียบได้กับคำสั่ง IF NOT ERRORLEVEL
เช่น
Findstr "Text" Redme.txt || Msg %username% ไม่พบข้อความใน Readme.txt

คำสั่ง > แฟ้มข้อมูล >&1
คำสั่ง > แฟ้มข้อมูล >&2
ไปป์ตัึวนี้...แสดงถึงการส่งผลของคำสั่งไปยังแฟ้มที่ต้องการและแฟ้มนั้นจะถูกจอง ไฟล์แฮนเดิลหมายเลขที่กำหนดได้เพื่อประโยชน์ในการใช้งานครั้งต่อไปคล้าย VB6
เช่น
Dir *.mp3 /s >ชื่อเพลง.txt >&1
มีค่าเท่ากับ
Open ชื่อเพลง.txt for input as #1
  ...
Close #1
เพียงแต่ แฮนเดิลที่ถูกจองนี้จะถูกปิดหลังจากจบเซกชั้น นั้นเอง

วันพฤหัสบดีที่ 12 กันยายน พ.ศ. 2556

จาก Batch File มาสู่ยุค Power Shell Windows 7- 8 ตอน 1

เมื่อค่ำผมได้ลองสำผัส Power Shell แบบเขียนสคริปเอง...พบว่ามันซับซ้อน...มากๆ การทำงานจากอดีตที่ Batch File ทำงานไม่ได้เลย...กลับกลายเป็นอีกยุคของภาษาด้าน Console เลยทีเีดียว...เครื่องมือก็มีในระดับ Hypertext ที่การำทำงานหรือสคริปคำสั่งต่างถูกรวบรวมไว้เป็น Element ที่สามารถเลือกใช้งานได้ทันที ... ไม่เหมือน DOS ที่ทำอะไรทีต้องกางตำรา มันเป็นภาษาที่สามารถทำงานได้ทั้ง Linux และ Windows ครับ... เพราะ Power Shell Script นี้เป็นมาตราฐานด้านเครื่อข่ายคอมพิวเตอร์ระดับไคเอนท์ ที่ใครก็ตามถ้าเป็นภาษานี้ไม่ตกงานแน่ในอนาคต...ส่วนคู่้มือ...และ ตำรา่ยังมีอยู่น้อยมากครับ...เหมาะสำหรับการเปิดตัวหนังสือเสียด้วยซ้ำ หน้าตามันเป็นอย่างนี้ครับ
1. การเขียนสคริปจะมี Windows PowerShell ISE ช่วยเรื่องรูปแบบภาษาและคำสั่ง ส่วนการทำงานมันทำผ่าน Winndows PowerShell เลย Batch File ก็สามารถรันในนั้นได้ครับเีีพียงแต่ต้องเปลี่ยนนามสกุล

2. หน้าตา PowerShell ISE จะเป็นแบบนี้...


3. ลองพิมพ์คำสั่ง Echo ทดสอบดู จะได้ผลตามตัวอย่างครับ...


4. ลองพิมพ์คำสั่งของ PowerShell บ้าง จะเป็นแบบนี้

5. เมื่อบันทึก...หน้าตาของ PowerShell Script จะเป็นแบบที่เห็น...

การเลือกใช้ PowerShell ISE นั้น...ผมแนะนำว่า...ตัวที่ใช้งานบนวินโดวส์ 8 ดีที่สุดตอนนี้...เพราะแค่พิมพ์ว่า Write{ขีด}(Write-) จะปรากฎ Element ของคำสั่งต่อไป ส่วนในวินโดวส์ 7 นั้นห่วยแตกครับ...ต้องหาำสั่งใช้งานเองเหมือนอยู่บน DOS จึงยังยกตัวอย่างอะไรได้ไม่มากในตอนนี้...ขอทำการศึกษาวิธีนำ PowerShell ISE บน 8 มาไว้บน 7 ก่อน และจะบอกคำสั่งใช้งานวันหลัง...

วันพุธที่ 11 กันยายน พ.ศ. 2556

อนุบาล แฮกเกอร์(หมวกเทา)

ผมเรียบเีรียงเนื้อหาความรู้ที่สะสมมารวบเป็นรูปเล่มแล้วครับ...(จากหลา่ยอาจารย์) มาเป็นเอกสารให้ดาวน์โหลด...และอ่านฟรี...


Download PDF File

ลองนำไปอ่านดูนะครับ...

วันอังคารที่ 10 กันยายน พ.ศ. 2556

ปูพื้นฐาน(ขั้นเทพ) Batch File ตอน 10

วันนี้...เราจะมาดูการทำงานเกี่ยวกับ Net กันบ้าง...ซึ่งเครื่องที่บ้านผม...ไม่มีเน็ตให้ใช้ครับอยู่หลังเขา...สัญญาณเ้ข้าไม่ถึง...มีแต่เน็ตมือถือ...เลยต้องมาสาิธิตจากที่ทำงานเอา... นั้นแหละครับการทำงานในเน็ต ก็สมดังชื่อ คำสั่งที่มีความสำคัญมากในเกี่ยวกับเน็ตบนวินโดวส์ ได้แก่ NET.EXE ครับ ซึ่งมันอาศัยใน System Folder ของระบบปฏิบัติการ...ไวรัสและผู้ไม่หวังดีจะลบแฟ้มนี้ทิ้งได้ถ้าต้องการไม่ให้มันทำงาน ฉนั้นการสร้างคำสั่ง Batch อย่างที่ผมสอนมาแล้วคือยัดใส Include ของ Batch to EXE ซะ เพื่อที่โปรแกรมจะได้ทำงานอย่างสมบรูณ์ มันทำงานอะไรได้บ้างเช่น
@Echo off
net use x: \\10.1.1.30\C: /user:Computer1 password /persistent:no
net use y: \\10.1.1.36\C: /user:xxx xxx /persistent:no
net use z: \\10.1.1.40\C: /user:xxx xxx /persistent:no
xcopy y:\zzz x:\Bxxx
xcopy z:\zzz x:\Cxxx
แมบไดร์ฟ และคัดลอกข้อมูลเสมือนเป็นเครื่องที่ทำงานอยู่ที่เดียวกันได้
ส่วนใครอยากรู้ว่้า NET ทำงานอย่างไรดูจา่กเวปไซต์ของต่างประเทศที่ การใช้งาน NET COMMAND
แต่หากต้องการนำมันมาเขียนเป็นโปรแกรมของเราเอง...ผมจะประยุกต์แบบง่ายๆ ให้ก่อนดังนี้
@echo off
:: Create BIOS Keyboard Service Binary
:: -----------------------------------
( echo e 100 B4 00 CD 16 88 E0 B4 4C CD 21
  echo.
  echo rcx
  echo 0a
  echo w
  echo q
)|debug getkey.com
:: -----------------------------------
:: End Module Binary

set /a a=1
:MainMenu
color 0B
cls
echo.
echo       _/  _/  ______/ __/ ___/ ______/ _____/ __/  _/   
echo      _/  _/  _/   _/  _/_/ _/ _/   _/     _/ _/   _/    
echo     _/  _/  ____/_/  _/   _/ _/   _/     _/  __/ _/     
echo    __/ __/ _/   _/  _/   _/ ______/     _/ ______/      
echo.
echo.
call :Menu 97 "#Net Command 1.00.#"
if %a% == 1 (call :Menu 97 "[ Check Workgroup ]" & title ตรวจสอบ computer name ใน workgroup เดียวกัน) else (call :Menu 03 "[ Check Workgroup ]") 
if %a% == 2 (call :Menu 97 "[ WhoIs Share     ]" & title ดูไฟล์ในเครื่องที่แชร์อยู่) else (call :Menu 03 "[ WhoIs Share     ]")
if %a% == 3 (call :Menu 97 "[ WhoIs Logon     ]" & title ตรวจสอบผู้ใช้ที่เข้าใช้งานเครื่องเรา) else (call :Menu 03 "[ WhoIs Logon     ]")
if %a% == 4 (call :Menu 97 "[ Service Running ]" & title ตรวจสอบเซอร์วิสที่รันอยู่) else (call :Menu 03 "[ Service Running ]")
if %a% == 5 (call :Menu 97 "[ Hidden IP       ]" & title สอนตัว) else (call :Menu 03 "[ Hidden IP       ]")
if %a% == 6 (call :Menu 97 "[ Unhidden IP     ]" & title ยกเลิกการสอนตัว) else (call :Menu 03 "[ Unhdiden IP     ]")
if %a% == 7 (call :Menu 97 "[ Exit Program    ]" & title ออกจากโปรแกรม) else (call :Menu 03 "[ Exit Program    ]")
call :Menu 03 "-------------------"
if %a% == 8 (call :Menu 97 "[ Anti Netcut     ]" & title เซ็ตคำสั่งป้องกัน Netcut) else (call :Menu 03 "[ Anti Netcut     ]")
echo.
echo Press Airrow Key select form menu
getkey.com

if %errorlevel% == 28 goto :EndMenu
if %errorlevel% == 72 goto :Up
if %errorlevel% == 75 goto :Left
if %errorlevel% == 77 goto :Right
if %errorlevel% == 80 goto :Down
goto :MainMenu
:Down
:Left
set /a a=%a%+1
if %a% == 9 set /a a=1
goto :MainMenu
:Up
:Right
set /a a=%a%-1
if %a% == 0 set /a a=8
goto :MainMenu

:EndMenu
if %a%==1 net view & pause
if %a%==2 net share & pause
if %a%==3 net session & pause
if %a%==4 net start & Pause
if %a%==5 net config server /hidden:yes & pause
if %a%==6 net config server /hidden:no & pause
if %a%==7 goto :End
if %a%==8 call :AntiNetcut
goto :MainMenu

:Menu color text
pushd %temp%
for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do (
  <nul set/p"=%%a" >"%~2"
)
findstr /v /a:%1 /r "^$" "%~2" nul
del "%~2" > nul 2>&1
popd
echo.
goto :EOF

:AntiNetCut
for /f "tokens=1,2,13"  %%a in ('ipconfig') do if "%%b"=="Gateway" (
  for /f "tokens=1,2 eol=I" %%d in ('arp -a %%c') do call :SetStaticARP %%e
  goto :EOF
)
goto :EOF
:SetStaticARP %1
for /f "tokens=1,14"  %%a in ('ipconfig') do if "%%a"=="IPv4" (
  arp -s %%b %1
  msg %username% Set Static IP %%b in %1
)
arp -a
pause
goto :EOF

:End
del getkey.com
set a=
color



โปรแกรมน่าตาเป็นแบบนี้

จะมี Title เป็นภาษาไทย เมื่อเลื่อนเมนู...ลองนำไปใช้งานดูนะครับ...

ยังไงยังมีคำสั่งเกี่ยวกับ เน็ตเวิร์ค อีกเยอะ ครับ...จะทยอยมาสอนกันนะครับ...

วันพฤหัสบดีที่ 5 กันยายน พ.ศ. 2556

ปูพื้นฐาน (ขั้นเทพ) Batch file ตอน 9

การแสดงข้อความสี...โดยไม่ใช้ Debug
ส่วนใหญ่การแสดงสีใน CMD นั้นผู้ใช้งานส่วนใหญ่ จะใช้คำสั่ง Color แต่ ติดปัญหาตรงที่ Color นั้นไม่สามารถแสดงสีที่ต้องการเป็นบรรทัด หรือเฉพาะคำได้...แต่ยังไงมาถึงตรงนี้แล้ว...เรามีทางเลือกคือเลือกใช้งานฟังก์ชั่นที่สามารถแสดงสีที่แตกต่างได้ใน CMD ซึ่งคำสั่งของ DOS มีเพียงคำสั่งเดียวคือ FindStr เจ้าคำสั่งนี้...มันจะแสดงชื่อแฟ้มข้อมูลที่ค้นหาคำออกมาเป็นสีที่ต้องการได้ แต่ต้องประยุกต์ใช้งานให้เ็ป็นสักนิด...มาดูกัน

:CEcho color text
pushd %temp%
echo. >%2
findstr /v /a:%1 /R "^$" "%~2" nul
popd
goto :eof

โปรแกรมนี้เล็กกระทัดรัดมันทำงานอย่างไร
:CEcho color text ; ชื่อโปรแกรม CEcho เวลาเรียกใช้เช่น Call :CEcho 0A Testing...
pushd %temp% ; บรรทัดนี้จะให้แฟ้มขยะชืิ่อเดียวกับข้อความไปเก็บในโฟลเดอร์ชัวคราวรอลบทิ้ง
echo. >%2 ; สร้างแ้ฟ้มขึ้นมาโดยไม่มีข้อความใด
findstr /v /a:%1 /R "^$" "%~2" nul ; แสดงสีข้อความตามที่กำหนด
popd ; กลับสู่โฟลเดอร์ที่ทำงานอยู่
goto :eof ; จบโปรแกรม

มาดูภาพการทำงานของมัน
@echo off
call :CEcho 02 "Testing... Message1"
call :CEcho 84 "Testing... Message2"
call :CEcho 17 "Testing... Message3"
call :CEcho 9A "Testing... Message4"
call :CEcho 3C "Testing... Message5"
pause
goto :eof

:CEcho color text
pushd %temp%
echo. >%2
findstr /v /a:%1 /R "^$" "%~2" nul
popd
goto :eof


การทำงานจะปรากฎดังภาพ...แต่ข้อเสียคือ มันมีสัญลักษณ์ : ติดมาด้วยเนื่องจาก... FindStr นั้นจะมี : คั่นระหว่างชื่อแฟ้มและข้อความ...ยังไงก็แก้ขัดไปก่อน...เพราะการลบมันออกต้องอาศัยฟังก์ชั่นที่มากกว่านี้หลายบรรทัด...เกรงว่า...ว่าจะงงเสียก่อน...วันนี้ลองแค่นี้ดูก่อน...

ที่นี้...ในบางครั้งเราอยาก Echo แบบหลายครั้ง ในบรรทัดเดียวทำได้ไหม...
ทำได้ครับ...คำสั่งเป็นแบบนี้
@echo off
echo|set /p=echo same line : 
pause
หน้าตาของการแสดงข้อความในบรรทัดเดียวกันเป็นยังไงมาดู

จะเห็นว่า มีข้อความว่า echo same line : 
จากนั้นคำสั่ง pause จะแสดงผลการทำงานต่อคำสั่ง Set /p อีกที...ทำให้สามารถแสดงข้อความในบรรทัดเดียวกันได้ ทีนี้...มาดูตัวอย่าง
@echo off
echo|set /p=Text 1 : 
echo|set /p=Text 2 : 
echo|set /p=Text 3 : 
echo|set /p=Text 4 : 
echo|set /p=Text 5 : 
echo|set /p=Text 6 : 
pause>nul
ผลการทำงานคือ

จะเห็นว่า...ข้อความต่อกันในบรรทัดเดียวกัน...

วันจันทร์ที่ 26 สิงหาคม พ.ศ. 2556

Batch File Anti Netcut


โปรแกรมนี้...สำหรับ "เด็กหอ" ที่มีปัญหาเรื่องถูกตัดเน็ต...อยู่บ่อยๆ จาก Cracker ฉนั้น...การสู้รบปรบมือก็ไม่ยาก...รันโปรแกรมนี้ทุกครั้้งที่เปิดเครื่อง...หรือง่ายๆ ก็ยัดมันใส่ Start Up Folder ซะ...แค่นี้ก็จบ...ทีนี้จะ
โดนตัดเน็ตให้มันรู้ไป...(ยกเว้นทางหอรีเซ็ตเราว์เตอร์ หรือเปิดปิดใหม่)
Download ซะ ไม่มีของแถม...จากพี่ "แมวตาเดียว" CatEye คลิกเบาๆ เดียว Cracker ตกใจ

ไม่ต้องกรอกไม่ต้องตอบ...แค่เปิดเครื่องและปล่อยมันเป็นไป...

วันอังคารที่ 6 สิงหาคม พ.ศ. 2556

ปูพื้นฐาน(ขั้นเทพ) Batch File ตอน 8

บางครั้งโปรแกรมที่เขียนขึ้นเอง...ก็เป็นความลับ...ไม่อยากให้ใครรู้ว่าเขียนยังไงทำงานอย่างไร...สมัยนี้...จึงมีโปรแกรมจำพวก Batch to EXE ขึ้นมาให้ใช้งานหลายตัว...อย่างที่ผู้เขียนเคยเสนอไปแล้ว...แต่วันนี้เราจะมาสอนเขียนแบบเต็มๆ เพื่อให้สามารถสร้างโปรแกรม Batch เป็นของตัวเอง...
1. นำโค้ดที่ต้องการมาวางในโฟลเดอร์เป้าหมาย...
@echo off
call :ShowMode /s
set /a a=1
:MainMenu
color 3B
cls
colormsg 1B "Create By : Tanatdech  Boonluelak." & echo. & echo.
echo     _/_/_/_/    _/_/_/_/  _/_/_/_/_/  _/_/_/_/_/  _/_/    _/  _/_/_/_/_/  
echo   _/_/        _/_/    _/      _/      _/_/        _/_/    _/  _/_/        
echo   _/_/        _/_/    _/      _/      _/_/_/_/_/    _/_/_/    _/_/_/_/_/  
echo   _/_/        _/_/_/_/_/      _/      _/_/            _/      _/_/        
echo     _/_/_/_/  _/_/    _/      _/      _/_/_/_/_/      _/      _/_/_/_/_/  
echo.
echo. & if %a% == 1 (colormsg 1b "[ Fix Autorun.INF   ]" & title ซ่อมแซมระบบป้องกัน AutoIt) else (colormsg 3b "[ Fix Autorun.INF   ]")
echo. & if %a% == 2 (colormsg 1b "[ Set Desktop to D: ]" & title กำหนดเส้นทางจัดเก็บงานบน Desktop ที่ D:) else (colormsg 3b "[ Set Desktop to D: ]")
echo. & if %a% == 3 (colormsg 1b "[ Fix Safe Mode XP  ]" & title ซ่อมแซม Safe Mode บน XP) else (colormsg 3b "[ Fix Safe Mode XP  ]")
echo. & if %a% == 4 (colormsg 1b "[ Exit Programs     ]" & title ออกจากโปรแกรม) else (colormsg 3b "[ Exit Programs     ]")
echo.
echo.
colormsg b1 "Press Airrow Key select form menu"
getkey.com

if %errorlevel% == 28 goto :EndMenu
if %errorlevel% == 72 goto :Up
if %errorlevel% == 75 goto :Left
if %errorlevel% == 77 goto :Right
if %errorlevel% == 80 goto :Down
goto :MainMenu
:Down
:Left
set /a a=%a%+1
rem if %a% == จำนวนเมนูสูงสุด + 1 set /a a = 1
if %a% == 5 set /a a=1
goto :MainMenu
:Up
:Right
set /a a=%a%-1
rem  if %a% == 0 set /a a=จำนวนเมนูสูงสุด
if %a% == 0 set /a a=4
goto :MainMenu

:EndMenu
if %a%==1 call :Menu1
if %a%==2 call :Menu2
if %a%==3 call :Menu3
if %a%==4 goto :End
goto :MainMenu

rem -------------------------------------------------------------------------
rem ฟังก์ชั้น ShowMode
rem -------------------------------------------------------------------------
:ShowMode
if "%1"=="/s" goto :StartCMD
if "%1"=="/e" goto :EndCMD
goto :HelpShowMode
:StartCMD
set b=27
for /l %%a in (0,1,25) do (
  call :SetModeStartCMD %%a
  ping 0.0.0.0 -n 1>nul
)
set b=
goto :EOF
:SetModeStartCMD %1
  set /a b=^%b%+2
  mode %b%,%1
goto :EOF
:EndCMD
set b=80
for /l %%a in (25,-1,0) do (
  call :SetModeEndCMD %%a
  ping 0.0.0.0 -n 1>nul
)
set b=
goto :EOF
:SetModeEndCMD %1
  set /a b=^%b%-2
  mode %b%,%1
goto :EOF
:HelpShowMode
echo ShowMode /s = Start Batch File
echo          /e = End Batch File
goto :EOF

rem -------------------------------------------------------------------------
rem โปรแกรม Fix Autorun.INF
rem -------------------------------------------------------------------------
:Menu1
  FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
    color 0A
    ECHO Scan All Drives Autorun.inf Plase wait...
    ECHO.
    ping 0.0.0.0 -n 1 -w 3000>nul
    IF EXIST %%i:\Autorun.inf (
      color 0C
      ECHO ***********************************
      ECHO ******** Autorun.inf Found ********
      ECHO ***********************************
      ECHO.
      attrib -r -s -h %%i:\Autorun.inf 
      del %%i:\Autorun.inf
   ) ELSE (
     color 0A
     ECHO %%i:\Autorun.inf does not exist
     ECHO.
  )
  ping 0.0.0.0 -n 1 -w 1000>nul
 )
 ( echo Windows Registry Editor Version 5.00
   echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
   echo @="@SYS:DoesNotExist"
 )>BlockAutorun.reg
 regedit BlockAutorun.reg 
 del BlockAutorun.reg /f
goto :EOF

rem -------------------------------------------------------------------------
rem โปรแกรม Set Desktop to D
rem -------------------------------------------------------------------------
:Menu2
( echo Windows Registry Editor Version 5.00
  echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
  echo "Desktop"=hex(2):44,00,3a,00,5c,00,44,00,65,00,73,00,6b,00,74,00,6f,00,70,00,\
  echo  00,00
)>DesktopToD.reg
regedit DesktopToD.reg
del DesktopToD.reg /f

rem -------------------------------------------------------------------------
rem โปรแกรม Fix Safe Mode
rem -------------------------------------------------------------------------
:Menu3
(
echo Windows Registry Editor Version 5.00
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot]
echo "AlternateShell"="cmd.exe"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal]
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\AppMgmt]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Base]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Boot Bus Extender]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Boot file system]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\CryptSvc]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\DcomLaunch]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\dmadmin]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\dmboot.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\dmio.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\dmload.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\dmserver]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\EventLog]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\File system]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Filter]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\HelpSvc]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Netlogon]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\PCI Configuration]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\PlugPlay]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\PNP Filter]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Primary disk]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\RpcSs]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\SCSI Class]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\sermouse.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\sr.sys]
echo @="FSFilter System Recovery"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\SRService]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\System Bus Extender]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\vga.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\vgasave.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\WinMgmt]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{36FC9E60-C465-11CF-8056-444553540000}]
echo @="Universal Serial Bus controllers"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E965-E325-11CE-BFC1-08002BE10318}]
echo @="CD-ROM Drive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}]
echo @="DiskDrive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E969-E325-11CE-BFC1-08002BE10318}]
echo @="Standard floppy disk controller"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E96A-E325-11CE-BFC1-08002BE10318}]
echo @="Hdc"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E96B-E325-11CE-BFC1-08002BE10318}]
echo @="Keyboard"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E96F-E325-11CE-BFC1-08002BE10318}]
echo @="Mouse"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E977-E325-11CE-BFC1-08002BE10318}]
echo @="PCMCIA Adapters"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E97B-E325-11CE-BFC1-08002BE10318}]
echo @="SCSIAdapter"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E97D-E325-11CE-BFC1-08002BE10318}]
echo @="System"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E980-E325-11CE-BFC1-08002BE10318}]
echo @="Floppy disk drive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
echo @="Volume"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}]
echo @="Human Interface Devices"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network]
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\AFD]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\AppMgmt]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Base]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Boot Bus Extender]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Boot file system]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Browser]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\CryptSvc]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\DcomLaunch]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Dhcp]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmadmin]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmboot.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmio.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmload.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\dmserver]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\DnsCache]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\EventLog]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\File system]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Filter]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\HelpSvc]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ip6fw.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\ipnat.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LanmanServer]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LanmanWorkstation]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\LmHosts]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Messenger]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NDIS]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NDIS Wrapper]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Ndisuio]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBIOS]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBIOSGroup]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetBT]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetDDEGroup]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Netlogon]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetMan]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Network]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NetworkProvider]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\nm]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\nm.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\NtLmSsp]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PCI Configuration]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PlugPlay]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PNP Filter]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\PNP_TDI]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Primary disk]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpcdd.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpdd.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdpwd.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\rdsessmgr]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\RpcSs]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SCSI Class]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\sermouse.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SharedAccess]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\sr.sys]
echo @="FSFilter System Recovery"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\SRService]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Streams Drivers]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\System Bus Extender]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Tcpip]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\TDI]
echo @="Driver Group"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\tdpipe.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\tdtcp.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\termservice]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\vga.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\vgasave.sys]
echo @="Driver"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\WinMgmt]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\WZCSVC]
echo @="Service"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{36FC9E60-C465-11CF-8056-444553540000}]
echo @="Universal Serial Bus controllers"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E965-E325-11CE-BFC1-08002BE10318}]
echo @="CD-ROM Drive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}]
echo @="DiskDrive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E969-E325-11CE-BFC1-08002BE10318}]
echo @="Standard floppy disk controller"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96A-E325-11CE-BFC1-08002BE10318}]
echo @="Hdc"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96B-E325-11CE-BFC1-08002BE10318}]
echo @="Keyboard"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E96F-E325-11CE-BFC1-08002BE10318}]
echo @="Mouse"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}]
echo @="Net"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E973-E325-11CE-BFC1-08002BE10318}]
echo @="NetClient"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E974-E325-11CE-BFC1-08002BE10318}]
echo @="NetService"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E975-E325-11CE-BFC1-08002BE10318}]
echo @="NetTrans"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E977-E325-11CE-BFC1-08002BE10318}]
echo @="PCMCIA Adapters"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E97B-E325-11CE-BFC1-08002BE10318}]
echo @="SCSIAdapter"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E97D-E325-11CE-BFC1-08002BE10318}]
echo @="System"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E980-E325-11CE-BFC1-08002BE10318}]
echo @="Floppy disk drive"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{71A27CDD-812A-11D0-BEC7-08002BE2092F}]
echo @="Volume"
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{745A17A0-74D3-11D0-B6FE-00A0C90F57DA}]
echo @="Human Interface Devices"
)>SafeBoot.reg
regedit SafeBoot.REG
del SafeBoot.REG /f
rem -------------------------------------------------------------------------
rem สิ้นสุดโปรแกรม
rem -------------------------------------------------------------------------
goto :EOF
:End
call :ShowMode /e
set a=
color
2. ตัดคำสั่งที่ต้องสร้างเป็นแฟ้มออก เช่น .COM, .VBS, .BAT อื่นๆ ที่ประกอบแยกไว้อีกส่วนเพื่อประหยัดการทำงานและลดความซ้ำซ้อนที่ไม่จำเ็ป็น มาไว้ในโฟลเดอร์เป้าหมาย...บางท่านอาจจะนำโปรแกรมแบบพกพาือื่นๆ มาด้วยก็ได้ เช่น REG.EXE หรือ REGEDIT.EXE ซึ่งบางทีไวรัสอาจจะลบทิ้งโปรแกรมเหล่านี้...ทำให้การทำงานของ Batch ผิดพลาด...หรือคำสั่งเสริมการทำงานอื่นๆ อีกมากมาย...ที่หยิบยืมมาใช้งานก็นำมาใส่ในโฟลเดอร์เป้าหมายไ้ด้...โปรแกรมที่ทำงานในรูปแบบนี้...ที่หลายๆ คนรู้ึจักคือ Combofix หรือ ยาถ่ายพยาธิ ที่หลายๆ คนเข้าใจว่ามันเป็นแอนตี้ไวรัส...จริงๆ แล้วมันก็แค่ Batch File ที่รวมโปรแกรมอรรถประโยชน์ของคนอื่นๆ มารวมการทำงานเข้า่ด้วยกันเท่านั้น
3. จากนั้นก็มาสร้าง Batch File ให้เป็นโปรแกรมของตัวเองเสียที่
3.1 เลือกซ่อนการทำงานหน้า CMD และ เก็บไฟล์ที่ Temporary

3.2 เลือกโปรแกรมเสริมเข้ามา

3.3 มีกี่โปรแกรมนำเข้ามาให้หมด

3.4 เลือกช่องรายละเอียด Version Infomations ระบุที่อยู่ Icon และนำเข้ามา

3.5 ถ้าไม่ระบุหลายระเอียดผู้เขียนโปรกรม ก็ Compile ได้เลย...จบ...ง่ายจุงเบย...

อุ๊ปส์...โปรแกรมถูกซ่อนการงาน...ทำให้ไม่เห็นเมนู
เอาใหม่...
3.6 แสดงการทำงานเมนูด้วย...
โปรแกรมรันได้แบบนี้...

ส่วนใครอยากรู้ว่าโปรแกรมทำงานอย่างไร...