สารบัญ:
- การทำให้รหัสสับสน
- การแก้ไขไลเซนส์ไลบรารี่
- ทำให้ใบสมัครของคุณทนต่อการงัดแงะ
- ย้ายการตรวจสอบสิทธิ์ใช้งานไปยังเซิร์ฟเวอร์ระยะไกล
ความปลอดภัยของแอพพลิเคชั่นการละเมิดลิขสิทธิ์และการป้องกันทั้งหมดเป็นหัวข้อยอดนิยมเมื่อเร็ว ๆ นี้ด้วยเหตุผลที่ดี หากไม่มีตลาดแอพพลิเคชั่นที่แข็งแกร่งการเปิดใช้งานใหม่นับแสนครั้งในแต่ละเดือนจะไม่สามารถรักษาได้และตลาดที่แข็งแกร่งนั้นเป็นไปไม่ได้หากไม่ได้รับการสนับสนุนจากนักพัฒนา เราได้เห็นแล้วว่า Android มีวิธีแก้ปัญหาในตัวเพื่อป้องกันการละเมิดลิขสิทธิ์และเราได้เห็นว่ามันง่ายแค่ไหนที่จะหลีกเลี่ยงมันได้ถ้าคุณตั้งใจและถ้าแบบแผนอยู่ในรูปแบบพื้นฐาน Google บอกเป็นนัย ๆ ว่าพวกเขามีข้อมูลเพิ่มเติมที่จะแบ่งปันเกี่ยวกับเรื่องทั้งหมดและเป็นจริงกับคำพูดของพวกเขาพวกเขาได้ทำ เรามาดูวิธีการของ Googler เพื่อให้วิธีที่ปลอดภัยและเป็นมิตรกับผู้ใช้เพื่อปกป้องแอปพลิเคชัน
บริการออกใบอนุญาต Android Market และไลบรารี่การตรวจสอบใบอนุญาตเป็นเครื่องมือที่มีประสิทธิภาพสำหรับนักพัฒนาในการพยายามหลีกเลี่ยงการละเมิดลิขสิทธิ์แอปพลิเคชัน ปัญหาดังที่ได้มีการสาธิตเมื่อเร็ว ๆ นี้คือว่ามันไม่ยากที่จะข้าม เนื่องจากผู้คนเป็นคนและหลายคนใช้เวลามากกว่าที่จะคุ้มค่าที่จะทำลายแอปพลิเคชั่น 99 เปอร์เซ็นต์จาก Market เทรเวอร์จอห์น (หนึ่งในนักพัฒนาโปรแกรมของ Android) ได้วางเคล็ดลับที่มีประโยชน์เพื่อเสริมสร้างเครื่องมือ และทำให้มาตรการต่อต้านการละเมิดลิขสิทธิ์ทำงานได้ดีขึ้น
สี่ประเด็นสำคัญคือ:
การทำให้รหัสสับสน
การทำให้งงงวยโค้ดเป็นการหลอกลวงที่นักพัฒนาซอฟต์แวร์ใช้ในการเปลี่ยนซอร์สโค้ดทำให้ฟังก์ชั่นที่รู้จักแพคเกจคลาสและตัวแปรที่ติดตามได้ยากมากโดยการให้ชื่อแทนแต่ละรายการ ใช้ฟังก์ชันจินตภาพนี้เช่น - onRedraw () แต่ละที่ที่คุณใช้ฟังก์ชั่นในซอร์สโค้ดมันอยู่ตรงนั้นง่ายต่อการอ่านและใช้ประโยชน์ รหัส obfuscator จะแทนที่ฟังก์ชั่นที่มนุษย์สามารถอ่านได้ด้วย alias ที่สร้างขึ้น - wy23 () เป็นตัวอย่างที่ดี ภาพรวมอย่างรวดเร็ว (หรือเครื่องมืออัตโนมัติ) ที่กำลังมองหาฟังก์ชั่นไม่ทำงานเนื่องจากต้องใช้การขุดอย่างจริงจังเพื่อดูว่า wy23 () หมายถึงอะไรจริงๆ มีโค้ด Java เชิงพาณิชย์ obfyousk8tors (ฮ่า!) และ Trevor แนะนำ ProGuard และวางแผนบทความในอนาคตบน Android Developers Blog เกี่ยวกับการทำงานกับ ProGuard
การแก้ไขไลเซนส์ไลบรารี่
Google แนะนำให้นักพัฒนาเปลี่ยนแหล่งที่มาของไลเซนส์ไลบรารี่ที่ให้มาให้มากที่สุดในขณะที่ยังคงฟังก์ชั่นดั้งเดิมไว้ นี่เป็นกรณีหนึ่งที่เส้นทางที่นำมาใช้นั้นไม่สำคัญตราบใดที่ถึงปลายทาง นักพัฒนาสามารถฝังฟังก์ชั่นในคำสั่ง if / then ลูปหรือแม้แต่ทำให้ไลบรารีทั้งหมดกลายเป็นบล็อคโค้ดของตัวเอง
เพื่อไปอีกขั้นผู้พัฒนาควรใช้การตรวจสอบแฮชและวิธีการเข้ารหัสอื่น ๆ เพื่อสร้างค่าคงที่ใหม่และเปลี่ยนรหัสเพื่อค้นหาค่าคงที่ใหม่แทนการใช้ค่าที่ Google ให้ไว้ในรหัสตัวอย่าง อย่าลืมลิงก์แหล่งที่มาเพื่อดูตัวอย่างที่ดีจาก Google ที่แสดงวิธีการนี้สามารถทำได้ และอย่าลืมที่จะทำให้งงงวยรหัสที่นี่ด้วย!
ทำให้ใบสมัครของคุณทนต่อการงัดแงะ
ง่าย ๆ นี้ เพื่อให้ แฮ็กเกอร์ ขโมยใบอนุญาตจากแอปพลิเคชันของคุณเขาหรือเธอจะต้องทำวิศวกรรมย้อนกลับและสร้างแอปพลิเคชันขึ้นมาใหม่ ใช้การตรวจสอบ CRC เพื่อป้องกันสิ่งนี้ Google มีเครื่องมือที่มีประโยชน์อีกอย่างสำหรับพื้นที่นี้ด้วย - ตรวจสอบว่า Android Market เป็นแหล่งติดตั้งแอปพลิเคชันของคุณและหากไม่ต้องการอย่าปล่อยให้มันทำงาน อีกครั้งมีตัวอย่างที่ดีของสิ่งนี้ที่ลิงค์แหล่งที่มา
ย้ายการตรวจสอบสิทธิ์ใช้งานไปยังเซิร์ฟเวอร์ระยะไกล
หากแอปพลิเคชันของคุณใช้องค์ประกอบออนไลน์ Google แนะนำให้คุณย้ายข้อมูล LVL และการตอบกลับจากแอปและไปยังเซิร์ฟเวอร์ของคุณ เมื่อผู้ใช้ใช้แอปเซิร์ฟเวอร์ของคุณจะตรวจสอบกับ Google และหากทุกอย่างไม่ใช่เพียวจะไม่มีการแสดงเนื้อหาใด ๆ ในขณะที่เรียบง่าย แต่ก็มีประสิทธิภาพเป็นอย่างมากในการหลีกเลี่ยงสิ่งนี้ใครบางคนจะต้องเปลี่ยนไม่เพียง แต่แอปพลิเคชั่น แต่เนื้อหาบนเซิร์ฟเวอร์ของคุณเช่นกัน โปรดจำไว้ว่าข้อมูลในเครื่องนั้นไม่เคยปลอดภัย แต่เซิร์ฟเวอร์ที่ได้รับการดูแลและรักษาความปลอดภัยเป็นถั่วที่ค่อนข้างทรุดโทรม
สุดท้ายนี้ Google จดจำเรา - ผู้ใช้ปลายทางและแนะนำให้ใช้เทคนิคเหล่านี้ในลักษณะที่โปร่งใสและใช้งานง่าย หากคุณเป็นนักพัฒนาแอปพลิเคชันที่สนใจในการป้องกันการละเมิดลิขสิทธิ์แอพของคุณ (และคุณควรเป็น!) อย่าลืมตรวจสอบลิงค์แหล่งที่มา มันทำให้ทุกอย่างดูเกินจริงและคลุมเครือและทำให้ทุกอย่างออกมาเพื่อคุณ สำหรับพวกเราที่เหลือนี่เป็นสิ่งที่เตือนใจมากกว่าว่า Goggle รักมันเป็นของ dev ได้อย่างไรและเรารู้สึกดีที่รู้ว่า G ใหญ่ทำในสิ่งที่สามารถช่วยได้