เขาหาว่าหนูเป็น Trojan ให้ตายเหอะโรบิน T.T' !!!!!!!!

กระทู้สนทนา
พอดีงานบริษัทมีโปรเจคเขียนโปรแกรมกำลังจะจบโปรเจคแล้ว และเตรียมทำตัวติดตั้ง เตรียมปั๊มซีดี แต่แล้วหลังจากตรวจสอบไฟล์ให้แน่ใจอีกทีก่อนการส่งงาน  โอแม่จ้าว  ตัวสแกนไวรัสแจ้งว่าโปรแกรมที่ผมเขียนเป็น Trojan เป็นไปได้ไงเนี๊ยะ เขียนเองแท้ๆ จะไปติดมาจากไหนไฟล์เพิ่งสร้าง AVG มันแจ้งว่ามี DLL ของผมตัวหนึ่ง(ซึ่งเขียนขึ้นเอง)เป็นโทรจันชื่อว่า Luhe.MalMSIL.C  ง่ะ.... โดนใส่ร้าย

เลยเข้าไปหาข้อมูลชื่อ Luhe.MalMSIL.C  มาจากอากู๋ ได้ข้อมูลประมาณนี้

This is a Trojan
File Properties Property Values
McAfee Detection Generic.bfr

Other Common Detection Aliases
Company /  Names Detection Names
AVG (GriSoft) Luhe.MalMSIL.C
Kaspersky HEUR:Trojan.Win32.Generic
BitDefender Gen:Heur.MSIL.Krypt.4
F-Prot W32/MSIL_Troj.L.gen!Eldorado
Symantec Suspicious.Cloud.2
Eset MSIL/Autorun.Agent.BF worm (probably variant)
panda Suspicious
Sophos Mal/MSIL-BF

******************************************
เออ เอากับเขาสิ ด้วยความเคืองที่งานจะเสร็จก็ไม่เสร็จ เลยไล่หาทีละฟังชั่นเลยว่ามันติดที่ฟังชั่นไหน ทำไมจึงคิดว่า DLL ที่เราเขียนเป็นโทรจัน โดยการไล่ คอมเม้นท์ ทีละฟังก์ชั่น แล้วทำการคอมไพล์ แล้วก็สแกนไวรัสใหม่ไปเรื่อยๆ  จนในที่สุดก็มาเจออยู่ฟังก์ชั่นหนึ่ง ซึ่งเขียนไว้สำหรับเรียกโปรแกรมเพื่อเปิดไฟล์ตามชนิดของนามสกุล ซึ่งต้องเข้าถึง RegistryKey ของ Windows

เช่น ไฟล์ txt  ก็จะสั่งให้ไปอ่านใน Registry Key ว่าใช้โปรแกรมใดในการเปิด (notepad wordpad editplus note++ ฯลฯ)
ในคำสั่งจะมีการอ้างถึง key ที่เก็บรายชื่อโปรแกรมสำหรับเปิดแฟ้มต่างๆ ดูภาพปลากรอบ

พอคอมไพล์ไปใช้ปุ๊บก็โดนกล่าวหาว่าเป็นโทรจันปั๊บเลยทีเดียวเชียว  ดูการตีไข่ใส่สี...แถมลบ DLL เราออกจากเครื่องอีกต่างหาก... ^_^'


วิธีแก้ไข *************************
ผมคิดไว้สองวิธีคือ 1. เข้ารหัส Registry Path ซะเลย  2. สลับข้อความ Path ไม่ให้อยู่ในแพทเทิร์นที่โปรแกรมสแกนไวรัสรู้จัก
เลยลองแก้โค้ดแบบเอา Registry Path แต่ละตัวไปใส่ไว้ในอะเรย์ก่อน แล้วค่อยเอามาต่อกัน  ผลปรากฏว่า ผ่านฉลุยเลยครับ
สแกนไวรัสใหม่อีกทีคราวนี้มันบอกว่า สะอาดปลอดภัย 555+ โปรแกรมทำงานเหมือนกันแท้ๆ อีกอันบอกโทรจันอีกอันบอกปลอดภัย


ดูภาพปลากรอบหลังจากแก้ไข


ผลการสแกนไวรัส


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

ปอลิง ถ้าต่อไปในอนาคตใช้วิธีนี้แล้วมันยังสแกนใส่ความว่าเป็นโทรจันอีก คราวนี้ก็เข้ารหัส registry path ซะเลยสิ้นเรื่องเวลาจะใช้ก็ถอดรหัสแล้วเอามาใส่ตัวแปรไว้ครับ

สวัสดีครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่