17 คะแนน โดย GN⁺ 2023-09-14 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • พอ Explorer แครชเพิ่มขึ้นอย่างรวดเร็ว จึงไล่หาสาเหตุแล้วพบฟังก์ชันพอยน์เตอร์ในสแตกที่คล้ายกับมัลแวร์
  • พอขุดดูแล้วพบว่าไม่ใช่มัลแวร์ แต่เป็นตัวถอนการติดตั้ง
  • หลังจากตัวถอนการติดตั้งทำงานเสร็จ มันจะรอเพื่อลบไบนารีของตัวเอง (Self Deleting)
    • โค้ดนี้ใช้วิธีที่เคยถูกแนะนำใน CodeProject เมื่อ 10 ปีก่อน
  • น่าจะเป็นกรณีที่ต้องเรียกใช้ฟังก์ชันของ DLL บางตัว แต่เกิดการอ้อมเส้นทาง (Detour) เลยทำให้เกิดปัญหานี้
  • ถ้าจะลบตัวเอง อย่าใช้การฉีดโค้ดหรือทำ detour เข้าไปในโปรเซสอื่น (Explorer) แบบนี้ แต่ให้ใช้ไฟล์ชั่วคราวอย่าง cleanup.js ตามตัวอย่างด้านล่าง
    • โค้ดนี้ลบตัวมันเอง และยังพยายามลบ uninstaller ต่ออีก 20 วินาที
var fso = new ActiveXObject("Scripting.FileSystemObject");  
fso.DeleteFile("C:\\Users\\Name\\AppData\\Local\\Temp\\cleanup.js");  
  
var path = "C:\\Program Files\\Contoso\\contoso_update.exe";  
for (var count = 0; fso.FileExists(path) && count < 40; count++) {  
    try { fso.DeleteFile(path); break; } catch (e) { }  
    WSH.Sleep(500);  
}  

5 ความคิดเห็น

 
[ความคิดเห็นนี้ถูกซ่อน]
 
kuroneko 2023-09-14

จำได้ว่าเมื่อก่อนเคยใช้โปรแกรมลบไฟล์ตกค้างอยู่เหมือนกัน...
แต่ทุกวันนี้ Windows เองก็มีโปรแกรมจัดการแพ็กเกจที่ค่อย ๆ พัฒนาขึ้นเรื่อย ๆ เลยกำลังคาดหวังอยู่ครับ +_+

 
botplaysdice 2023-09-14

ดูเหมือนว่าจะใช้คำว่า 'อย่างสูง' บ่อยมากนะครับ วิทยาศาสตร์ที่พัฒนาอย่างสูงย่อมไม่อาจแยกออกจากเวทมนตร์ได้

 
xguru 2023-09-14

ชื่อบทความมาจากคำกล่าวของเซอร์ อาร์เธอร์ ซี. คลาร์ก นักเขียนนิยายวิทยาศาสตร์ชื่อดัง

"Any sufficiently advanced technology is indistinguishable from magic."
"เทคโนโลยีที่ก้าวหน้ามากพอ ย่อมแยกไม่ออกจากเวทมนตร์"

 
GN⁺ 2023-09-14
ความคิดเห็นจาก Hacker News
  • มีการถกเถียงถึงความคล้ายคลึงกันระหว่าง uninstaller ระดับสูงกับมัลแวร์ โดยเน้นไปที่ไฟล์ปฏิบัติการที่ลบตัวเองได้
  • มีการให้ลิงก์ไปยังโปรเจกต์โค้ดที่มีโค้ดของไฟล์ปฏิบัติการที่ลบตัวเองได้รวมอยู่ด้วย
  • ผู้เขียนเสนอว่าไบนารีดูเหมือนมัลแวร์ เพราะมันลบตัวเอง พักการทำงาน และโต้ตอบกับ uninstaller
  • มีการโต้แย้งเกี่ยวกับวิธีแก้ที่เสนอ โดยตั้งคำถามว่ามันดีกว่าของเดิมหรือไม่ และกำลังใช้ heuristic ที่ไม่ดีในการตัดสินความเป็นอันตรายหรือเปล่า
  • บางความเห็นตั้งคำถามว่าทำไมโปรแกรมบน Windows จึงต้องมี installer/uninstaller แบบพิเศษ และเหตุใดสิ่งนี้จึงไม่ถูกจัดการโดยตัว Windows เอง
  • มีการกล่าวถึงการใช้ wscripts ซึ่งอาจถูกจัดโปรไฟล์เป็นมัลแวร์ได้ เพราะความสามารถของมันไม่สามารถตรวจสอบได้ด้วย code signing หรือก่อนการรัน
  • มีการยกแนวคิดเรื่อง 'detour' ขึ้นมา และเปรียบเทียบกับคำสั่ง LD_PRELOAD ของ Linux
  • มีการรำลึกถึงแอปง่าย ๆ สำหรับ Windows 95/98 ที่เพิ่มทุกไดเรกทอรีเข้าไปในรายการ uninstaller โดยที่ซอฟต์แวร์แอนติไวรัสไม่ทันสังเกต
  • ผู้แสดงความเห็นบางรายบอกว่าชอบแนวทางของ AmigaOS ที่ให้แอปเป็นโฟลเดอร์อิสระซึ่งติดตั้งหรือลบออกได้ง่าย
  • บทความปิดท้ายด้วยข้อเท็จจริงชวนประหลาดใจที่ว่า Windows รองรับการรัน JavaScript เป็นเชลล์สคริปต์