โครงสร้างสถาปัตยกรรมการทำงานของวินโดวส์โปรแกรม

Written by pspn on . Posted in Writec0de

ก่อนอื่นต้องขออภัยไม่ได้อัปบทความแอสแซมบลีมาซะนาน  เนื่องจากภาระกิจหลัก (ทำงานเลี้ยงชีพ)กำลังยุ่งเลย และตัวผมเองก็มีโปรเจ็คต่างๆ เต็มหัวไปหมด...

บทความต่อไปนี่เป็นส่วนที่จำเป็นอย่างยิ่งสำหรับการเขียนโปรแกรมบนระบบปฏิบัติการวินโดว์   ก่อนที่เราจะก้าวไปสู่ส่วนอื่นๆ ต่อไป เราควรมาคำความเข้าใจหลักการต่าง ๆ เกี่ยวกับหน้าต่างโปรแกรม(Window) และ ไดอะล็อกบ็อก(Dialogbox)กันก่อน   ในบทความนี้อาจจะใช้คำภาษาอังกฤษค่อยข้างเยอะ  และคงไม่ขอแปลเป็นไทยจะดีกว่าเพราะจะทำให้เกิดความเข้าใจที่ผิดพลาดได้   แต่อันไหนพอจะแปลได้ก็จะแปลแล้วกัน  หากมีส่วนไหนอ่านแล้วไม่เข้าใจก็ comment ไว้ได้ครับ  จะเป็นพระคุณอย่างยิ่ง

คำสั่ง Assembly (MASM) พื้นฐานที่ถามกันบ่อย

Written by pspn on . Posted in Writec0de

ในบทความนี้เราจะมาดู คำสั่งในภาษา Assembly สำหรับ MASM ที่ถูกถามกันบ่อยๆ  เพื่อเพิ่มความเข้าใจของเราให้มากขึ้น  ยกตัวอย่างเช่น ADDR กับ OFFSET ต่างกันอย่างไร  และจะใช้เมื่อไหร่?  ใน Assembly มีตัวแปรแบบ Structure หรือไม่และ If-then-else ในภาษา Assembly เป็นอย่างไร  เราจะได้มาทำความเข้าใจกันในบทความนี้ครับ   ไปดูต่อกันเลย

เกลิ่นนำกันหน่อย ก่อนจะเข้าเนื้อหาอันเข้มข้น...

Written by pspn on . Posted in Writec0de

เป้าหมายของบทความสอนชุดนี้

แฮกเกอร์ แคร็กเกอร์ และรีเวิร์สเอ็นจิเนียร์ ส่วนมาก (ก็เกือบทั้งหมดนั่นแหละ)จะเป็นโปรแกรมเมอร์ด้วย   มันแทบจะเป็นไปไม่ได้เลยที่จะเรียน RCE ได้ดี โดยที่ไม่มีความรู้เรื่องโปรแกรมมิ่ง และ TXT ไฟล์เก่าๆหลายตัวเกี่ยวกับการ Cracking ที่กระตุ้นเราให้อยากที่จะศึกษา – “อันดับแรกให้เราเริ่มต้นไปก่อน จากนั้นค่อยหันกลับมาและอ่านเกี่ยวกับเรื่องนี้ให้ละเอียดอีกที”  เราจะเป็นแบบนี้มาตลอด  ก่อนที่ Packers และ Executable Protectors จะเพิ่มความซับซ้อนขึ้นเรื่อยๆ และใช้วิธีการต่าง ๆ นา ๆ ในการป้องกัน การ Unpack, การ Debug, การ Rebuild ทำให้กลุ่มของ Cracker หันมาเขียนโปรแกรมหรือปรับแต่งเครื่องมือ แทนที่จะจมอยู่กับการ debug, disassemble และ เครื่องมืออย่างเช่น ImpREC และมันยังทำให้ Loaders เริ่มเป็นที่นิยมมากขึ้นเรื่อย ๆ  การ Crack ที่เยี่ยมยอดกับ Loaders series จาก ARTeam สะท้อนให้เห็นความจริงในเรื่องนี้ อย่างไรก็ตามนี้ไม่ใช่เรื่องง่ายที่จะทำความเข้าใจสำหรับผู้เริ่มต้นที่ไม่มีความรู้ใดๆเกี่ยวกับการเขียนโปรแกรมมาก่อน

การปรับแต่ง และ การแก้ปัญหาหลังการติดตั้ง MASM

Written by pspn on . Posted in Writec0de

เอาหล่ะ... หลังจากที่เราได้ทำการติดตั้งเครื่องมือที่สำคัญยิ่งของเราไปเรียบร้อยแล้วในตอนที่แล้ว   แต่มาเราอาจจะเจอปัญหาต่างๆ ได้ในตอนนี้เราจะมาดูเรื่องการการแก้ปัญหาที่เจอกันบ่อยๆ  และวิธีการปรับแต่งเจ้า MASM เขาเราให้แรงทันใจ  และที่สำคัญปลอดภัยไม่มีใครต่าง ได้แน่นอน อิอิ...

การติดตั้ง MASM และ WinAsm Studio

Written by pspn on . Posted in Writec0de

เป็นที่รู้กันว่า Trojan หรือ Virus (หรือที่เขาเรียกรวม ๆกันว่า Malware)  นั้นส่วนมากจะเขียนขึ้นด้วย Assembly , C++, Delphi   แต่ที่สุดแล้วก็หนีไม่พ้น Windows API  และภาษาที่ใกล้ชิดกับแกนหลักของระบบปฏิบัติ (windows) ก็คือ Assembly   หากเราต้องการศึกษาโครงสร้างการทำงานรวมถึงการทำงานของ Malware ต่าง ๆ แล้วเราจำเป็นอย่างยิ่งที่จะต้องรู้ภาษา Assembly 

บทความต่อ ๆไปของผมจะมีการใช้งาน Assembly และ C++ เป็นส่วนใหญ่ อีกทั้ง Source code ที่มีอยู่ทั่วไปใน internet นั้น(ที่เกี่ยวกับเรื่องนี้นะ) ส่วนมากก็เป็น Assembly ดังนั้นวันนี้เราจะมาเริ่มกันที่การติดตั้ง MASM32 ซึ่งเป็น Assemble (compiler) ของค่าย M$ ที่ให้ใช้งานได้ฟรี และก็มีการใช้งานค่อนข้างง่าย คือมีความคล้ายกับภาษาระดับสูงเช่น C/C++ และเพิ่มความสะดวกในการทำงาน เราก็จะมาดูการติดตั้งและ Config   IDE  ที่ช่วยให้เราเขียนโปรแกรม Assembly ได้สะดวกขึ้นนั่นก็คือ WinASM