เกม Android ช่วยให้การแฮ็ก [ปิด]


143

ดังนั้นเราจึงผ่านมาหลายครั้งแล้วตอนนี้เราปล่อยเกม (ราคาถูก) และมีคนแฮ็คมันและวางมันบนกระจก เราตั้งค่า Google Alerts สำหรับแอปทั้งหมดของเราดังนั้นเราจะได้รับแจ้งทุกวันว่าใครกำลังแฮ็ค จนถึงตอนนี้เราได้ดำเนินการให้บริการใบอนุญาตตามที่ Google ได้แนะนำเกลือของเราจะถูกสุ่มทุกครั้งที่มีการเริ่มต้นใบอนุญาตด้วยรหัสอุปกรณ์ที่ไม่ซ้ำกัน เราเรียกใช้บริการตรวจสอบหนึ่งครั้งเมื่อเริ่มต้นแอปพลิเคชันเป็นครั้งแรก จากนั้นเราจะสร้างแฮช 512 อักขระสำหรับคีย์และค่าที่เก็บไว้ซึ่งถูกเปรียบเทียบกับใน SharedPreferences จากที่นั่น

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

จากที่นี่ฉันไม่ต้องการทำให้งงงวยรหัสของเราตามที่ฉันเห็นมันเสียก่อน ฉันต้องการบางสิ่งที่แข็งกว่านี้อีกเล็กน้อยและฉันต้องการเรียนรู้วิธีการทำสิ่งนี้อย่างถูกต้อง ฉันสนใจที่จะเรียนรู้มากกว่าสร้างรายได้ ณ จุดนี้เนื่องจากมีเพียง 2% เท่านั้นที่จะมองหารุ่นที่ถูกแฮ็ก

จนถึงตอนนี้ด้วยตัวของฉันเองฉันได้พบกับตัวสร้างตัวเลขสุ่มที่วางอยู่ในพื้นที่เริ่มต้นหลายแห่งของเกม เมื่อเริ่มต้น (พูด 1 ใน 50 ครั้ง) ใบอนุญาตจะถูกตรวจสอบ ฉันรู้ว่าสิ่งนี้จะทำให้การแฮ็กยากขึ้นเพราะแครกเกอร์จะต้องกำจัดแต่ละกรณีคอมไพล์กำจัดกำจัดคอมไพล์ อย่างไรก็ตามวิธีนี้ยังสามารถถอดรหัสได้ ... ดังนั้นคุณแนะนำอะไร? อีกครั้งฉันสนใจกระบวนการรักษาความปลอดภัยนี้จริงๆดังนั้นโปรดให้ความรู้อย่าเปลี่ยนสิ่งนี้เป็นการสนทนาเกี่ยวกับการทำให้งงงวยหรือการตรวจสอบเป็นระยะ ๆ ตามการประทับเวลา

ขอบคุณ


27
ถ้าคุณไม่ได้พูดด้วยตัวเองว่าคุณสนใจที่จะเรียนรู้มากกว่าสร้างรายได้คำตอบของฉันก็คือ "มันไม่คุ้มกับอาการปวดหัว" เนื่องจากคุณสนใจที่จะปวดหัวตัวเองฉันพูดไปข้างหน้า (แต่ฉันไม่มีคำตอบสำหรับคุณเพียงแค่ทำตามคำถามนี้เหมือนคนอื่น ๆ )
Thiago Arrais

4
หากเกมเดียวกันยังคงถูกแฮ็กคุณมั่นใจหรือไม่ว่าคุณไม่มีพนักงานที่มีปัญหา ไม่ใช่สิ่งที่ดีที่สุดที่จะต้องพิจารณา แต่สามารถเกิดขึ้นได้
Phil Lello

3
แม้ว่าจะเป็นโค้ดมากกว่า 20k บรรทัด แต่ฉันจัดการกระบวนการทั้งหมดด้วยตัวเอง
BajaBob

3
@BajaBob แล้วคุณก็คือไฝ: D
Sulfkain

คำตอบ:


117

ความคิดของฉันไม่ใช่หลักฐานของแฮ็กเกอร์ แต่อาจลบความสนใจบางอย่างสำหรับการแฮ็คเกม

แบบจำลอง Freemium

1) ทำให้ 5-10 ระดับแรกฟรีเพื่อให้ผู้คนสามารถเรียนรู้เกมและสนุกไปกับมันโดยไม่ต้องจ่าย น้อยกว่าจะต้องการแฮ็กระดับแรกและเกมจะแพร่กระจายยิ่งขึ้นโดยรุ่น Freemium

ระดับแชร์แวร์ / คลัสเตอร์

2) ให้เป็นส่วนหนึ่งของระดับเกมหรือลอจิกออนไลน์ เช่น. เมื่อถึงระดับ 5 หรือ 10 หรือ 15 จากนั้นดาวน์โหลดชิ้นส่วนเล็ก ๆ สำหรับเกมและทุกครั้งที่ส่งบันทึกความคืบหน้าจากเกมและตรวจสอบความถูกต้องนี้กับค่าที่เป็นไปได้ + แฮชโค้ด อาจทำให้สามารถปิดบัญชีที่ถูกแฮ็กโดยอัตโนมัติได้

การป้องกันสิบแปดมงกุฎชิงทรัพย์

3) คุณสามารถนับ "ธงเตือนเล็ก ๆ " ที่คุณวางไว้ในเกม อย่าเพิ่งตรวจสอบ "การตรวจสอบ" ในตอนแรกไม่มีการสร้างธงเหล่านี้ในตรรกะของเกม อย่าทำให้มันทำลายการเล่นเกมเพราะไม่มีใครจะมองหามัน จากนั้นเมื่อผู้ใช้ถึงจุดจบของมอนสเตอร์ระดับแล้วให้ตรวจสอบว่ามีธงเตือนใด ๆ สิ่งเหล่านี้จะไม่ปรากฏในเกมดังนั้นผู้ใช้ที่ไม่รู้ชื่ออาจถูกเล่นเป็นเวลาหลายชั่วโมง / วันและรู้ตัวดีว่าเขา / เธอไม่สามารถจบเกมหรือเลื่อนไปสู่ระดับต่อไปเนื่องจากเกมมี "บั๊ก" สิ่งที่ผู้ใช้ไม่รู้ก็คือข้อผิดพลาดนี้เกิดขึ้นเฉพาะลูกค้าที่ถูกแฮ็กเท่านั้น

ข้อสรุป

ฉลาดกว่าแครกเกอร์ หลอกให้พวกเขาคิดว่างานเสร็จแล้ว ทำสำเนาป้องกันและรู้ว่าแคร็กเกอร์ขั้นสูงจะสามารถลบออกได้ แต่พวกเขาอาจไม่ต้องการเล่น 50 ระดับเพื่อตรวจสอบว่ารอยแตกยังทำงานได้ตลอดทาง

เมื่อพวกเขาตระหนักถึงปัญหานี้พวกเขาก็อาจเริ่มแตกได้เช่นกัน แต่ถ้าคุณแบ่งเกมออกเป็นระดับแพ็คคุณยังสามารถตรวจสอบความถูกต้องระหว่างการดาวน์โหลดแต่ละแพ็คได้ ดังนั้นเมื่อคุณได้รับข้อมูลแฮชของไคลเอ็นต์ที่ถูกแฮ็กแล้วให้ดำเนินการ exeception และทำให้เกมขัดข้องบนไคลเอ็นต์ อ๊ะเกมล้มเหลว อย่าบอกเพราะมันถูกแฮ็ก ข้อผิดพลาดของโปรแกรมสามารถเกิดขึ้นได้ :-)

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


5
ว้าวความคิดที่น่ากลัว ชื่นชมสิ่งเหล่านี้อย่างแท้จริงไม่เคยแม้แต่จะคิดทำระดับและโพสต์พวกเขาไปยังเซิร์ฟเวอร์และตรวจสอบกับพวกเขา กำลังดำเนินการ ... ความคิดที่ยอดเยี่ยม ทำให้ทุกคนอัปเดตทำให้ไม่มีเหตุผลที่จะถอดรหัส ขอบคุณที่ทำให้ฉันยุ่งอยู่พักหนึ่ง!
BajaBob

12
เฮ้อแย่มากที่คุณไม่สามารถตอบได้ +2 :) ความคิดเห็นหนึ่ง: คุณจะแสดงให้เห็นได้อย่างไรว่าปัญหาเกิดขึ้นกับเกมที่ถูกละเมิดลิขสิทธิ์? หากเกมนั้นมีรถบักกี้ / แปลก ๆ บนสำเนาละเมิดลิขสิทธิ์ผู้คนอาจคิดว่ามันเป็นข้อผิดพลาดและทำให้เกมบนฟอรัม ฉันไม่คิดว่านี่เป็นปัญหาใหญ่บน Android เนื่องจากมีฟอรัมไม่มากที่มีผู้ชมจำนวนมาก แต่ฉันสงสัยว่ามันสมเหตุสมผลที่จะมีคำชี้แจงล่วงหน้าว่า "สำเนาโจรสลัดอาจใช้งานไม่ได้"
EboMike

3
ฉันจำเกมจากปี 1978 ใน TRS80 ที่จะสุ่มขึ้นมาถ้าการป้องกันการคัดลอกถูกลบ มีการตรวจสอบความถูกต้องเพียง 1 ครั้งและการลบนั่นหมายความว่าคุณสามารถคัดลอกเกมได้อย่างอิสระ แต่ข้อผิดพลาดการเล่นเกมที่แปลกจะไม่เกิดขึ้นกับสำเนาที่ถูกต้อง ไม่มีใครคิดว่ามันเป็นความผิดของนักพัฒนา ... เรารู้ว่าเกิดอะไรขึ้น
Fixee

1
@EboMike ฉันคิดว่าส่วนที่แข็งแกร่งของความคิดของฉันสำหรับการป้องกันการคัดลอกคือ "ทำตามปกติที่สุด" อย่าแม้แต่จะให้เบาะแสกับแคร็กเกอร์ว่าแผนการป้องกันที่น่ารังเกียจอยู่ตรงไหน นี่จะทำให้พวกเขาอยากรู้อยากเห็นมากขึ้นตามล่าการป้องกัน เพียงเพื่อความสนุกของมัน จำไว้ว่าหลายคนไม่ทำเพื่อเงิน แต่เพียงเพราะพวกเขาสามารถแสดงมันออกมาได้ ดังนั้นอย่าล่อลวงพวกเขา แค่ทำตัวสบาย ๆ : o) ฉลาดกว่าพวกเขา
BerggreenDK

2
@Fixee และคนอื่น ๆ เกม Batman Arkham Asylum เมื่อไม่นานมานี้มีบางสิ่งที่คล้ายกัน: ในเกมละเมิดลิขสิทธิ์การเคลื่อนไหวที่สำคัญจะทำให้คุณมึนงงและทำให้คุณติดอยู่ในช่วงต้นเกม จากนั้นเมื่อมีคนบ่นเกี่ยวกับ "บั๊ก" บนฟอรัมผู้พัฒนาสามารถยิ้มเยาะและพูดว่า "มันไม่ใช่ข้อผิดพลาดในเกมมันเป็นบั๊กในรหัสคุณธรรมของคุณ"
Nzall

20

ฉันทำการ apk คอมไพล์และแฮ็คมาระยะหนึ่งแล้ว (ไม่ใช่ Warez แต่ mods และแฮ็กส่วนใหญ่ใช้กับแอพ google และเฟรมเวิร์กแอนดรอยด์ซึ่งเป็นไปตามนโยบายของนักพัฒนาซอฟต์แวร์ xda)

เมื่อคุณเรียนรู้ที่จะอ่าน smali มันก็เกือบจะเหมือนกับการอ่านโค้ดภาษาจาวาดั้งเดิม ดังนั้นรหัสใด ๆ ที่คุณเพิ่มเพื่อตรวจสอบคีย์สามารถพบและลบหรือแทนที่ คุณไม่จำเป็นต้องคอมไพล์ซ้ำในแต่ละครั้งเพื่อกำจัดมากกว่าหนึ่ง (การค้นหาบางอย่างทำปาฏิหาริย์เพื่อค้นหาชิ้นส่วนของรหัสที่คล้ายกัน) และแม้ว่าจำเป็นต้องมีการรวบรวม / รอบการคอมไพล์ซ้ำเพื่อค้นหามันเป็นเพียงแค่หนึ่งหรือสองนาที เพื่อ decompile: ทุกอย่างเป็นไปโดยอัตโนมัติโดย apktool และอีกมากมายโดย apkmanager

ต้องบอกว่าข้อเสนอแนะของฉันคือการใช้ตารางการให้คะแนนออนไลน์บางอย่างหรือคล้ายกันและเมื่อผู้ใช้ดูตารางคะแนนออนไลน์คุณสามารถตรวจสอบรหัสแฮชที่คุณใช้งานและเปรียบเทียบกับบัญชี gmail ที่เกี่ยวข้อง ด้วยวิธีนี้คุณสามารถรายงานการแฮ็กไปที่ google และส่งข้อความที่น่ารังเกียจให้กับผู้ใช้ warez อธิบายว่าทำไมมันผิดกฎหมาย

แน่นอนว่าการแฮ็คใหม่อาจถูกนำมาใช้เพื่อกำจัดตารางการให้คะแนน แต่นั่นจะลดความน่าสนใจของ warez

โชคดี.


ปรับปรุง

หลังจากค้นคว้าเพื่อตอบคำถามนี้: การฉีดโค้ดลงใน APK (จริงๆเกี่ยวกับกลไก Amazon DRM) ฉันสามารถบอกได้นิดหน่อยว่า Amazon ปกป้องแอพอย่างไร: มีวิธีการตรวจสอบความถูกต้องในการติดตั้งทุกที่ (คุณสามารถดูตัวอย่างได้ ว่าพวกเขาทำได้อย่างไรในคำตอบของฉันสำหรับคำถามนั้น) วิธีนี้จะทำให้ความพยายามในการแฮ็กแอปไม่ยากมาก แต่น่าเบื่ออย่างยิ่ง ฉันเชื่อว่าเป็นจุดแข็ง: แฮกเกอร์ไม่ต้องการใช้เวลามากในการทำงานซ้ำ ๆ มากมาย: มันไม่ท้าทายและน่าเบื่อ. ข้อบกพร่องหลักที่ฉันเห็นในแนวทางนี้คือความเป็นไปได้ที่จะแฮ็กแอป Amazon เองเพื่อให้ได้คำตอบที่ถูกต้องเสมอ แต่ถ้าคุณผสมเช็คแฮชปัจจุบันกับเช็คออนไลน์บางประเภทที่กระจัดกระจายไปตามวิธีการของคุณฉันเชื่อว่าโอกาสที่จะถูกแฮ็กอาจลดลงอย่างมาก


3
ฉันควรพูดถึงว่าผู้คนจำนวนมากมีปัญหากับแอพ "พูดโทรศัพท์บ้าน" โดยส่วนตัวแล้วมันโง่ - โทรศัพท์ Android 'โทรศัพท์บ้าน' ในหลาย ๆ ครั้งบ่อยครั้งมันไม่สำคัญจริงๆและปัญหาของการตรวจสอบการตรวจสอบใบอนุญาตแบบไม่ระบุชื่อคืออะไร ยังคงต้องการที่จะโยนออก - บางคนโยนเหม็นใหญ่เกี่ยวกับ "การพูดโทรศัพท์บ้าน" โดยเฉพาะอย่างยิ่งเมื่อมันไม่ได้เปิดเผย
EboMike

3
เป็นที่เข้าใจกันดีว่าผู้คนอาจมีปัญหาหากแอป 'โทรศัพท์บ้าน' และไม่แจ้งให้ผู้ใช้ทราบ แต่ตารางคะแนนทางเว็บจะช่วยแก้ปัญหานี้ได้เนื่องจากผู้ใช้ที่เชื่อมต่อด้วยความเต็มใจ
Aleadam

จริง แต่เมื่อคุณใช้การเชื่อมต่อซึ่งควรจะ "อัพโหลดโดยไม่ระบุชื่อ" และส่งแฮชของบัญชี gmail นั่นเป็นปัญหาที่แตกต่างออกไป อีกครั้ง: ไม่ให้ฉัน ฉันคิดว่ามันสมเหตุสมผลอย่างสมบูรณ์และฉันถูกล่อลวงให้ใช้รูปแบบนี้ในแอพของฉันเอง คนที่บ่นจะอยู่ในกลุ่มน้อย (และมีแนวโน้มมากที่จะซื้อแอพโดยไม่คำนึงถึง)
EboMike

ทำไมคุณถึงคอมไพล์เฟรมเวิร์กแทนที่จะดาวน์โหลดซอร์สโค้ด?
Phil Lello

1
@Phil คุณไม่ได้รับการเข้าถึงซอร์สโค้ดสำหรับ touchwiz หรือสัมผัส FWs ดังนั้นหากคุณต้องการดัดแปลงโทรศัพท์เฉพาะบางครั้งวิธีที่ง่ายที่สุดคือการถอดรหัสมันและเปลี่ยน smalis
Aleadam

20

นำมาจากทางออกของฉันจากโพสต์นี้หลีกเลี่ยง apk ที่แคร็ก

ใช้ไลเซนส์ไลบรารีของคุณเอง

ฉันขอแนะนำให้คุณตรวจสอบสิ่งนี้จากการบันทึก YouTube ของ Google I / O 2011:

การหลบเลี่ยง Pirates และ Stamp แวมไพร์

แก้ไข:

หมายเหตุการนำเสนอจากEvading Pirates และ Stopping Vampires

ประเด็นสำคัญพื้นฐานบางประการ


ลิงค์ด้านบนดูเหมือนจะไม่ได้ไปที่หน้าลิงค์เสมอไป ... ดูเหมือนว่าจะใช้งานได้บางครั้งเท่านั้นและขึ้นอยู่กับระบบปฏิบัติการและเบราว์เซอร์ ดังนั้นโปรดสังเกตจุดสิ้นสุด#%3ar.page.15ใน URL หากคุณไม่ได้รับการเปลี่ยนเส้นทางไปยังหน้านั้นโดยอัตโนมัติโปรดดูที่ลิงก์เพื่อดูว่าคุณควรจะดูที่ใด / หน้าใด
TryTryAgain

1
ดี! ฉันเห็นว่าพวกเขาเชื่อใน Freemium และซ่อน "ข้อผิดพลาด" บางอย่างในเกม (เพียงแค่ใช้เทคนิคใบอนุญาต) ฉันต้องการโซลูชันข้ามแพลตฟอร์มแทนเซิร์ฟเวอร์สิทธิ์การใช้งาน Android เท่านั้น แต่น่าสนใจเช่นกัน
BerggreenDK

BTW ตลก, คำตอบนี้มันมี 15 นิ้วหัวแม่มือขึ้นเหมืองได้ข้าม 90 แล้วและไม่ได้พิจารณาคำตอบที่ถูก :-)
BerggreenDK

8

ฉันรู้ว่าคุณไม่ได้ยุ่งเหยิง แต่ฉันต้องตอบโต้สิ่งนี้:

จากที่นี่ฉันไม่ต้องการทำให้งงงวยรหัสของเราตามที่ฉันเห็นมันเสียก่อน ฉันต้องการบางสิ่งที่แข็งกว่านี้อีกเล็กน้อยและฉันต้องการเรียนรู้วิธีการทำสิ่งนี้อย่างถูกต้อง

ProGuard มีความน่าเชื่อถือมากในประสบการณ์ของฉันและสิ่งนี้ถึงแม้ว่าฉันจะใช้คุณสมบัติขั้นสูงไม่กี่อย่างเช่น AIDL และโค้ดเนทีฟบางตัวที่เรียกใช้วิธีการจาวา ProGuard นั้นมีความน่าเชื่อถือสูงและยังเพิ่มประสิทธิภาพแอปของคุณ

ความปลอดภัยที่กำหนดเอง / เทคนิคการเข้ารหัสลับเป็นสิ่งที่ดี แต่ไม่มีการทำให้งงงวยเหมือนการขว้างก้อนหินลงไปในน้ำในความเห็นที่ต่ำต้อยของฉัน

ฉันใช้ ProGuard ในการผลิตมาหลายเดือนและใช้งานได้อย่างไม่มีที่ติ

หากคุณกำลังเรียนรู้ให้อ่านคู่มือ ProGuard อย่างรอบคอบทดลองใช้และตรวจสอบบันทึกผลลัพธ์


อะไรก็ตามที่สามารถอ่านได้สามารถ decompiled มันเป็นเพียงเรื่องของพลังงานซีพียูและความดื้อรั้น การทำให้งงยังคงทำให้โค้ดทำงานได้ในขณะที่ decompiling / deobfuscating โค้ดแครกเกอร์ยังสามารถเปรียบเทียบเวอร์ชันที่รันกับต้นฉบับได้ อาจทำให้แครกเกอร์ล่าช้าหรือหยุดแครกเกอร์ที่มีประสบการณ์น้อยลง แต่ก็ไม่ได้ปลอดภัยเลย
BerggreenDK

4

โอกาสที่มีโปรแกรมเมอร์มากขึ้นแล้วคุณ (ใช้กับโปรแกรมเมอร์ทั้งหมด) คือ 100% และหากเป็นเช่นนั้นคุณจะไม่สามารถแก้ไขการแฮ็กได้ แต่คุณสามารถใช้เวลาและความพยายามอย่างหนักเพื่อล้มละลาย

หากคุณต้องการสร้างรายได้อย่างจริงจังคุณต้องทำการวิจัยเกี่ยวกับกลุ่มผู้ใช้เป้าหมายและพฤติกรรมศาสตร์ คุณต้องทำให้ผู้ใช้เล่นที่นำเงินใหม่มาและนั่นก็คือ

นอกจากนี้คุณเข้าใจผิด แฮกเกอร์เป็นสมาชิกส่วนใหญ่ที่ใช้งานอยู่ในฐานผู้ใช้ของคุณพฤติกรรมของคุณในแบบที่คุณไม่ได้ต้องการ

ยกตัวอย่างเช่นเล่นเกม Zynga บน Facebook คุณคิดว่าคุณถูกแฮ็กหรือไม่? - แน่นอนและมีผู้เล่นมากกว่า 100,000 คนเล่นเพราะคุณสามารถใช้บอทซึ่งทำให้ทุกอย่างเป็นไปโดยอัตโนมัติ

การมีบอตเน็ตฐานผู้ใช้ขนาดใหญ่ที่ใช้งานจริงของคนทำให้นักเล่นเกมประเภท Archiver ต้องการเล่นเกม - และถ้าการเล่นของคุณดูดีแล้ว Avarage Joe ก็ต้องการเล่นเช่นกัน ถ้า Avarage Joe เล่นแล้วเพื่อนของเขาอาจต้องการที่จะเล่นและคุณอาจจะไม่สนใจอะไรอื่นจากนั้นก็ควรเป็นเพื่อนที่ดีกว่าของเขา / เธอฆ่าเวลาหรือมีบางอย่างที่จะพูดคุยเกี่ยวกับ เพื่อน ๆ ของ Avarage Joe มักจะเต็มใจจ่ายให้ดีขึ้นแล้ว Joe แต่เจ้าต้องการที่จะลงทุนในสิ่งที่ทำให้พวกเขาสามารถดีขึ้นได้

นอกจากนี้หากมูลค่าที่แท้จริงคือการเล่นเกมฟรีผู้ใช้ที่ใช้เวอร์ชั่นแฮ็คฟรีจะไม่จ่ายเงินให้ แต่เจ้าคือ Avarage Joes และเพื่อนของพวกเขา ดังนั้นนี่คือโฆษณาที่ถูกที่สุดที่คุณสามารถมีได้ หากคุณต้องการสร้างรายได้จากฐานผู้ใช้ขนาดใหญ่ของคุณเพียงแค่สร้างเกมเวอร์ชั่นใหม่ที่มีการเปลี่ยนแปลงระดับและกราฟิกเล็กน้อย



2

เป็นคำถามที่น่าสนใจและน่ารำคาญ :-) เป็นการออกกำลังกายคุณอาจลองปล่อยแอพผ่านทาง Amazon พวกเขามีกลไก DRM ของตัวเอง ฉันสงสัยว่ามันทำงานได้ดีกว่า ProGuard หรือไม่


1
ณ วันนี้แอพ Lucky Patcher ได้แตก Amazon DRM เช่นกัน! นอกเหนือจาก ProGuard แล้วโซลูชันอื่นอาจเป็น DexGuard แต่ DexGuard มีค่าใช้จ่ายไม่กี่ร้อยยูโรในการซื้อ แต่ก็ไม่สามารถมั่นใจได้ว่าแม้มันจะสามารถป้องกันรหัสของคุณจากการถูกละเมิดลิขสิทธิ์ ...
ChuongPham

2

หนึ่งในองค์ประกอบสำคัญในความคิดของฉันคือการกระจายรหัสดังนั้นมันไม่ได้อยู่ในที่เดียว หากคุณมีฟังก์ชั่นที่ชื่อว่า LicenseChecker.checkLicense () ซึ่งดึงข้อมูลใบอนุญาตและตรวจสอบคุณจะมั่นใจได้ว่ามันจะถูกปิดใช้งานทันที

ข้อดีอย่างหนึ่งที่คุณมีคือแครกเกอร์ไม่สามารถมองเห็นความคิดเห็นของรหัสของคุณ (และถ้าคุณทำให้งงงวยชื่อวิธีการ / ตัวแปร) ดังนั้นมากับสิ่งที่แปลก ใน onCreate () ของหนึ่งกิจกรรมคุณจะได้รับรหัสสิทธิ์ใช้งาน ใน onResume () คุณจะได้รับค่าอื่นเพื่อตรวจสอบ อาจสร้างเธรดและตรวจสอบบางอย่างที่นั่น จากนั้นบางส่วนของโค้ดที่ไม่เกี่ยวข้อง (อาจเป็นตัวควบคุมผู้เล่น) อาจหยิบค่าและเปรียบเทียบและเก็บผลลัพธ์ไว้ที่ใดที่หนึ่ง จากนั้นอีกสามชิ้นส่วนของรหัสที่ไม่เกี่ยวข้องอื่น ๆ ทั้งหมดจะตรวจสอบค่านั้นอย่างอิสระและปิดการใช้งานแอปพลิเคชันของคุณหากไม่ตรงกัน

ตอนนี้ฉันควรบอกล่วงหน้าว่าสิ่งนี้อาจทำให้เกิดอาการปวดหัวสำหรับตัวคุณเอง - รหัสที่ชัดเจนรกและน่ารังเกียจนั้นยากที่จะทำการดีบักและมีแนวโน้มที่จะทำให้เกิดข้อผิดพลาด กรณีที่เลวร้ายที่สุดคุณสร้างผลบวกปลอมในแอปพลิเคชันที่ซื้ออย่างถูกกฎหมาย

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

คุณจะไม่สามารถหยุดการละเมิดลิขสิทธิ์ได้ ทางออกที่ดีที่สุดของคุณคือชะลอการแพร่กระจายสำเนาที่ละเมิดลิขสิทธิ์จนกว่าโฆษณาเริ่มต้นเกี่ยวกับแอปของคุณจะสงบลง


1

ก่อนอื่นฉันไม่คิดว่าตัวเองเป็นมืออาชีพในสาขาความปลอดภัยของ SW แต่:

ฉันคิดว่าสิ่งสำคัญคือการอนุญาตให้แอปพลิเคชันขึ้นอยู่กับบางส่วนในการตรวจสอบลายเซ็น อย่าปล่อยให้มันมีผลทันที แต่ให้ตั้งค่าสถานะบางอย่างหรือเปลี่ยนค่าบางอย่าง ในภายหลังให้ใช้ธงเหล่านั้นตรวจสอบพวกเขาปล่อยให้ขาด / ไม่ถูกต้องของพวกเขาทำให้เกิดข้อยกเว้นบางชนิดซึ่งจะยุติการสมัคร ตราบใดที่การตรวจสอบลายเซ็นมีความเกี่ยวข้องในขณะนี้เท่านั้นมันเป็นเรื่องง่ายที่จะข้ามเพื่อลบบรรทัดเมื่อสัมผัสพื้นที่เพิ่มเติมในรหัสใบสมัครของคุณกลายเป็นยาก (หรือง่ายกว่า ... ) เพื่อแฮ็ค เช่นเดียวกับที่ฉันเห็นการตรวจสอบทั้งหมดไม่ควรเรียกรูทีนเดียวกันสำหรับการอนุมัติเพราะจะทำให้ง่ายต่อการค้นหากลไกการป้องกันและยุติมัน

แน่นอนว่าการลงโทษในกรณีที่ผิดกฎหมาย SW อาจแตกต่างกันคุณอาจต้องการแอปพลิเคชันที่ผิดพลาดเมื่อใช้อย่างผิดกฎหมาย แต่คุณอาจต้องการให้มันทำงานต่อไปและส่งข้อความที่ขอให้ผู้ใช้ซื้อสำเนาถูกกฎหมาย ของแอปพลิเคชัน

หากนี่เป็นเพียงสิ่งที่คุณไม่ต้องการฟังฉันขอโทษสำหรับเวลาของคุณ :)


7
การทำให้แอปของคุณทำงานล้มเหลวเมื่อคุณตรวจพบว่ามีการละเมิดลิขสิทธิ์อาจย้อนกลับมาเว้นแต่คุณจะระบุไว้อย่างชัดเจนว่าเป็นสาเหตุที่ทำให้เกิดการขัดข้อง ฉันจำได้ว่าได้อ่านเกี่ยวกับผู้พัฒนาเกมบางคนที่ทำให้เกมพังหลังจากช่วงเวลาสุ่มถ้าไม่ผ่านการตรวจสอบการละเมิดลิขสิทธิ์ แน่นอนผู้คนมากมายถูกละเมิดลิขสิทธิ์ แต่ไม่ทราบว่าเกิดปัญหาเพราะพวกเขาใช้งานเวอร์ชันละเมิดลิขสิทธิ์ สิ่งนี้ส่งผลให้เกิดแรงกดดันมากมายสำหรับนักพัฒนาและอาจกระทบยอดขายของพวกเขา
Mitch Lindgren

3
@Mitch - ฉันเห็นด้วย ฉันให้เป็นความเป็นไปได้เพียงอย่างเดียว แต่กลยุทธ์ทางเทคนิค "ดีที่สุด" อาจจะไม่ใช่กลยุทธ์ "ธุรกิจ" ที่ดีที่สุด
MByD

0

ผู้ใช้ Android จะยอมรับความเจ็บปวดจากบ้านโทรศัพท์คงที่ แอพ Android ที่ปลอดภัยเพียงอย่างเดียวคือแอพ Android ที่เชื่อมต่ออยู่ตลอดเวลา

นี่คือส่วนใหญ่เนื่องจาก Google ปฏิเสธที่จะล็อคการติดตั้งเหมือนที่ Apple มี บน IOS คุณต้องเจลเบรคโทรศัพท์ บน Android คุณสามารถโหลด APK ใด ๆ ในสต็อกติดตั้งจากโรงงาน

เก็บเนื้อหาส่วนใหญ่ / ทั้งหมดของคุณไว้บนเซิร์ฟเวอร์ ส่งมอบเป็นชิ้น ๆ ตรวจสอบใบอนุญาต / เซสชันในการโทรแต่ละครั้ง


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

นี่เป็นหนึ่งในแนวคิดจากคำตอบของฉันในปี 2011 ... ทำไมต้องโพสต์อีกครั้ง
BerggreenDK

0

มันจะยากอย่างไม่น่าเชื่อที่จะยับยั้งพฤติกรรมการตกไข่แบบนี้ สิ่งใดก็ตามที่จัดการกับฝั่งไคลเอ็นต์นั้นสามารถแฮ็คได้โดยใช้การถอดรหัสและการดัดแปลง APK การแก้ไขหน่วยความจำด้วยซอฟต์แวร์เช่นGame Guardian และอื่น ๆ

วิธีเดียวที่ฉันสามารถดูว่าการเดินทางรอบบางส่วนจะทำเกมออนไลน์แทน หรือมีฟังก์ชั่นบางอย่างที่จัดการออนไลน์ หรือหากการเข้ารหัสต่อต้านการงัดแงะเช่น denuvo สามารถใช้ได้สำหรับ Android / iOS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.