คุณเคยต้องการที่จะเรียนรู้ว่าโปรแกรมป้องกันตัวเองจากการถูกคัดลอกได้อย่างไร? ด้วยเครื่องมือที่เหมาะสม คุณสามารถตรวจสอบภายในของโปรแกรมและดูว่าการป้องกันการคัดลอกทำงานอย่างไร ด้วยการใช้ภาษาแอสเซมบลี คุณสามารถแก้ไขโปรแกรมเหล่านี้เพื่อไม่ให้ต้องลงทะเบียนหรือซื้ออีกต่อไป
ขั้นตอน
ขั้นตอนที่ 1 เรียนรู้การเขียนโปรแกรมการประกอบ
เพื่อให้สามารถถอดรหัสซอฟต์แวร์ส่วนใหญ่ได้ คุณต้องมีความเข้าใจแอสเซมบลีซึ่งเป็นภาษาโปรแกรมระดับต่ำ แอสเซมบลีมาจากภาษาเครื่องและภาษาแอสเซมบลีแต่ละภาษามีความเฉพาะเจาะจงกับประเภทของคอมพิวเตอร์ที่คุณใช้ ภาษาแอสเซมบลีส่วนใหญ่แสดงเป็นเลขฐานสองและเลขฐานสิบหก
ขั้นตอนที่ 2. ติดตั้งโปรแกรม disassembler
ในการตรวจสอบและแก้ไข DLL คุณจะต้องใช้เครื่องมือสองสามอย่าง รวมถึง disassembler IDA Pro เป็นตัวเลือกที่ดีเพราะเป็นทั้งตัวถอดประกอบและดีบักเกอร์ แม้ว่าฟังก์ชันการทำงานจะมีข้อจำกัดมากกว่าเวอร์ชัน Pro แต่โชคดีที่มีเวอร์ชันฟรีที่ https://www.hex-rays.com/products/ida/support/download_freeware คุณยังสามารถลองใช้ dotPeek ซึ่งเป็นดีคอมไพเลอร์ที่รองรับ DLL ซึ่งแตกรหัสแอสเซมบลี. NET ลงใน C# อีกตัวเลือกหนึ่งคือ OllyDBG ซึ่งให้คุณเปิดไฟล์ DLL ได้ฟรี
ขั้นตอนที่ 3 เปิดแอพที่คุณต้องการถอดรหัสในตัวแยกชิ้นส่วน
กระบวนการอาจแตกต่างกันเล็กน้อย ขึ้นอยู่กับว่าคุณใช้ตัวแยกชิ้นส่วนอะไร กระบวนการนี้จะแสดงไฟล์ DLL ที่โปรแกรมมี ใช้ดีบักเกอร์เพื่อตรวจสอบว่า DLL เรียกใช้ฟังก์ชันใด
ขั้นตอนที่ 4 ค้นหาฟังก์ชันตัวนับ
หลายโปรแกรมใช้ตัวจับเวลาเพื่อป้องกันการคัดลอก เมื่อหมดเวลา ผู้ใช้จะไม่สามารถเข้าถึงโปรแกรมได้อีก จุดประสงค์ของขั้นตอนนี้คือเพื่อค้นหารหัสตัวนับนี้ แล้วข้ามมันไป
หากโปรแกรมที่คุณกำลังแคร็กใช้การป้องกันรูปแบบอื่น คุณจะต้องค้นหาว่ามันคืออะไร
ขั้นตอนที่ 5. ตั้งจุดพักบนเคาน์เตอร์
เมื่อคุณแยกฟังก์ชันตัวนับออกได้แล้ว ให้ตั้งค่า SoftIce ให้ขัดจังหวะเมื่อพบฟังก์ชัน ซึ่งช่วยให้คุณตรวจสอบได้ว่าโค้ดใดทำงานอยู่เมื่อมีการเรียกฟังก์ชันตัวนับ
ขั้นตอนที่ 6. เปลี่ยนรหัสตัวนับ
เมื่อคุณพบโค้ดสำหรับฟังก์ชันตัวนับแล้ว คุณสามารถแก้ไขโค้ดดังกล่าวได้ เพื่อไม่ให้ตัวนับไม่ถึงจุดที่สามารถป้องกันไม่ให้คุณใช้โปรแกรมได้ ตัวอย่างเช่น คุณสามารถทำให้ตัวนับไม่สามารถนับถึงขีดจำกัดการหยุด หรือคุณสามารถข้ามตัวนับโดยการกระโดดข้ามมัน
ขั้นตอนที่ 7 ประกอบซอฟต์แวร์ที่คุณเพิ่งแตกใหม่อีกครั้ง
หลังจากแกะและแก้ไขแล้ว คุณต้องประกอบเวอร์ชันใหม่ของโปรแกรมใหม่อีกครั้ง เพื่อให้การเปลี่ยนแปลงที่คุณทำมีผลกับไฟล์ DLL และไฟล์อื่นๆ ที่เกี่ยวข้องในโปรแกรม
คำเตือน
- การละเมิดลิขสิทธิ์ซอฟต์แวร์เป็นสิ่งผิดกฎหมายในประเทศส่วนใหญ่
- การแคร็กซอฟต์แวร์ส่วนใหญ่นั้นผิดกฎหมาย