แยกแอปพลิเคชัน apk ออนไลน์ วิธีง่ายๆในการปรับเปลี่ยนแอปพลิเคชัน Android อุปกรณ์ APK-packages และใบเสร็จรับเงิน
เพื่อแก้ไขแอปพลิเคชัน APK ก่อนอื่นพวกเขาจำเป็นต้องถูก decompiled และเรียบเรียงแล้ว! ทำอย่างไรและเรียนรู้อะไรได้บ้างในบทเรียนนี้
2. คัดลอกแอปพลิเคชันที่เสร็จแล้วไปยังโฟลเดอร์ด้วย Sign Android ที่ไม่ได้แพ็ค
3. ดึงแอปพลิเคชันไปยังไฟล์ Sign_APK.bat หลังจากนั้นแอปพลิเคชันจะได้รับการลงนาม
ไม่ว่าในกรณีใดเราหรือผู้พัฒนาแอปพลิเคชันนี้จะต้องรับผิดชอบต่อความสูญเสียทางตรงทางอ้อมพิเศษหรือทางอ้อมอื่น ๆ ที่เป็นผลมาจากการใช้แอปพลิเคชันนี้หรือจากแพ็กเกจแอปพลิเคชัน ดาวน์โหลดอยู่เสมอ รุ่นล่าสุด. การรันคำสั่งก่อนหน้านี้ควรแยกซอร์สโค้ดทั้งหมดในโฟลเดอร์ซอร์สโค้ดบนเดสก์ท็อป
ดึงทรัพยากรออกจาก APK
- คุณลืมใส่ที่อยู่อีเมลของคุณ
- ที่อยู่อีเมลนี้ไม่ปรากฏ
- คุณมีอักขระเกินขีด จำกัด สูงสุด
- ป้อนที่อยู่อีเมล บริษัท ของคุณ
แอปพลิเคชันที่เซ็นชื่อเสร็จแล้วจะถูกเรียก apk_signed.apk
แอปพลิเคชันนี้ได้รับการลงนามแล้ว!
ทำงานกับระบบ APK
ในการแก้ไขแอปพลิเคชันระบบคุณต้องฟีดไฟล์ระบบ APKTOOL ก่อน กรอบงาน -res.apk ซึ่งตั้งอยู่ในพาร์ติชันระบบ Android:
อุปกรณ์ APK-packages และใบเสร็จรับเงิน
ตัวอย่างเช่นบริการเว็บหรือส่วนขยายเบราว์เซอร์ วิศวกรรมย้อนกลับมีอยู่ทั่วไป วิศวกรรมย้อนกลับคือสิ่งที่บังคับให้แฮ็กเกอร์พัฒนาช่องโหว่ไวรัสและโทรจันสำหรับระบบต่างๆ ดังนั้นสิ่งที่เกี่ยวกับการแยกแอปพลิเคชันที่มีอยู่ มีเครื่องมือจำนวนมากที่อนุญาตให้คุณถอดรหัสไฟล์ไบนารีของแอปพลิเคชันไปยังซอร์สโค้ดซึ่งในกรณีส่วนใหญ่สามารถอ่านและเข้าใจได้ด้วยความพยายาม วิธีที่ 2
ขั้นตอนที่ 5 - เปิดหน้าต่างเทอร์มินัล
เพียงแค่พยายามที่จะเป็นธรรมกับผู้เขียนแอปพลิเคชันที่คุณใช้และอาจจะรัก ขั้นตอนเกือบเหมือนกันยกเว้นว่าคุณต้องทำอีกหนึ่งอย่าง ตอนนี้เรามีทุกอย่างที่เราต้องการเปิดหน้าต่างเทอร์มินัลแล้วเตรียมพร้อมรวบรวมและถอดรหัส
เพื่อที่จะเลี้ยง Apktool ไฟล์ที่กำหนด จำเป็นให้ป้อนคำสั่ง:
apktool ถ้า framework -res.apkโปรดทราบว่าคำสั่งจะต้องป้อนให้สัมพันธ์กับพา ธ ตำแหน่งนั่นคือหากไฟล์นั้น กรอบงาน -res.apk อยู่ในโฟลเดอร์ C: \\ primer คำสั่งจะมีลักษณะภาพรวมต่อไปนี้:
apktool ถ้า C: \\ primer \\ framework -res.apkนอกจากนี้เพื่อให้สามารถแก้ไขไฟล์ระบบเฟิร์มแวร์จะต้องได้รับการแก้ไข Deodex ก่อน
เพิ่มเทอร์มินัลปัจจุบันเป็นสถานะ superuser โดยการพิมพ์ โปรดทราบว่าเมื่อเชื่อมโยงไปยังโฟลเดอร์คุณไม่จำเป็นต้องใช้เครื่องหมายคำพูด อย่าลืมดาวน์โหลดไฟล์เหล่านี้และติดตั้งก่อนที่จะทำตามขั้นตอนต่อไปนี้ สิ่งที่เราต้องการในตอนนี้คือเครื่องมือสำหรับการถอดรหัสขวด คำแนะนำการติดตั้งล่าสุดสำหรับเครื่องมือนี้สามารถพบได้
หลังจาก decompilation มันจะมีลักษณะดังนี้ โปรดทราบว่านี่เป็นจุดเริ่มต้นที่เหมาะในการแยกแอปพลิเคชันจุดเริ่มต้นคือคลาสที่คุณเปลี่ยนก่อนเพื่อทำความเข้าใจกับตรรกะของทุกสิ่ง ซอฟต์แวร์. ในระยะสั้นไฟล์นี้มีตรรกะนั่นคือสิ่งที่เราสนใจ
ตอนนี้สิ่งนี้จะง่ายขึ้น! (อย่าใช้บรรทัดคำสั่ง)
10 เมษายน 2558
ติดต่อกับ
เพื่อนร่วมชั้นเรียน
บางครั้งสถานการณ์ที่เกิดขึ้นเมื่อคุณต้องการดึงซอร์สโค้ดของโปรแกรม (ถอดรหัสมัน) เปลี่ยนทรัพยากรในไฟล์ APK (เพิ่มเปลี่ยนรูปภาพ) จดจำวิธีที่อินเทอร์เฟซถูกนำไปใช้ในไฟล์ XML และซอร์สโค้ดดั้งเดิมเป็นสิ่งชั่วร้าย ไม่ได้อยู่ในมือ และที่นี่ decompilers และ unpackers ทรัพยากรจะมาช่วยเหลือคุณ เมื่อใช้งานเราจะทำการวิเคราะห์แอปพลิเคชันของเรา
ใครต้องการมัน
จากมุมมองของเราสิ่งนี้ไม่สำคัญเครื่องมือที่เราจะใช้สามารถตรวจจับและเพิ่มลงในไพพ์ไลน์ decompilation บางครั้งแอปพลิเคชันจะต้องรันโค้ดของตัวเองมันอาจเป็นคลังภาพ, เอ็นจิ้นเกมหรืออย่างอื่น
ภายในโฟลเดอร์นี้คุณมักจะพบ ตัวอย่างนี้จะพิมพ์ผลลัพธ์ สิ่งนี้จะแสดงแพ็กเกจทั้งหมดบนสมาร์ทโฟนของคุณทันทีที่คุณพบเนมสเปซของแพ็กเกจที่คุณต้องการเปลี่ยนเรามาดูกันว่าเส้นทางแบบฟิสิคัลคืออะไร ดึงออกจากอุปกรณ์
โปรแกรมที่จำเป็น
ดาวน์โหลดและติดตั้งซอฟต์แวร์ต่อไปนี้ (ดูลิงค์ที่ด้านล่างของบทความ):
- apktool
- dex2jar
- jD-GUI
- ผู้จัดเก็บ (เช่น 7z)
ชวา - ภาษาการเขียนโปรแกรมซึ่งเป็นแพลตฟอร์มที่จำเป็นในการเรียกใช้ไฟล์ JAR
Apktool - โปรแกรมสำหรับดึงทรัพยากรออกจากแอปพลิเคชัน (เช่น: แปลงไบนารี XML เป็นรูปแบบข้อความ) และถอดแยกชิ้นส่วน (แปลเป็นรูปแบบที่รู้จักกันในชื่อ smali) เนื้อหาของไฟล์ dex (ไฟล์เรียกทำงานที่มีรหัสสำหรับ เครื่องเสมือน Delvik)
ตอนนี้เราจะเริ่มต้นด้วยการทดสอบเพื่อทำความเข้าใจว่าแอปพลิเคชันทำอะไรที่รันไทม์ การดำเนินการนี้จะสลับจากโหมดการดักแบบแฝงเป็นโหมดพรอกซี จากนี้ไปให้ดำเนินการต่อในแอปพลิเคชั่นตรวจสอบทราฟฟิกและหลังจากนั้นสักครู่คุณควรมีแนวคิดที่สมบูรณ์มากขึ้นหรือน้อยลงเกี่ยวกับโปรโตคอลที่ใช้และเพื่อวัตถุประสงค์อะไร
ในกรณีส่วนใหญ่นี่คือทั้งหมดที่คุณจะต้องเปลี่ยนบางสิ่งบางอย่าง มีเครื่องมือต่าง ๆ ที่คุณสามารถใช้เพื่อจุดประสงค์นี้มาดูที่ได้รับความนิยมมากที่สุด ใกล้วิธีการทั่วไปคุณมักจะพบสิ่งนี้
Dex2jar - ชุดยูทิลิตี้ที่คุณสามารถแปลงเนื้อหาของไฟล์ DEX เป็นไฟล์ JAR
JD-GUI - ตัวถอดรหัสที่พยายาม "ดึง" ซอร์สโค้ด JAVA จากไฟล์ที่มีนามสกุล. class
Archiver - การใช้มันคุณสามารถแยกไฟล์จากไฟล์ APK ไฟล์ XML ทั้งหมดจะอยู่ในรูปแบบไบนารีและโค้ดโปรแกรมเองจะอยู่ในไฟล์ DEX
ซึ่งจะบอกคุณว่าห้องสมุดในตัววิธีการใช้งาน เมื่อการวิเคราะห์แบบสแตติกไม่เพียงพออาจเป็นเพราะแอปพลิเคชันสับสนหรือรหัสฐานมีขนาดใหญ่เกินไปและซับซ้อนเกินกว่าที่จะแยกรูทีนที่คุณสนใจได้อย่างรวดเร็วคุณจำเป็นต้องดำเนินการแบบไดนามิก
การวิเคราะห์แบบไดนามิกนั้นหมายความว่าคุณจะเรียกใช้แอปพลิเคชันและติดตามการใช้งานโดยใช้เครื่องมือกลยุทธ์และวิธีการต่าง ๆ sandbox เป็นกลยุทธ์ของการวิเคราะห์แบบไดนามิกของกล่องดำซึ่งหมายความว่าคุณจะไม่ตรวจสอบรหัสแอปพลิเคชันอย่างแข็งขัน แต่คุณจะเรียกใช้แอปพลิเคชันในคอนเทนเนอร์บางประเภทที่จะบันทึกการกระทำที่เกี่ยวข้องมากที่สุดสำหรับคุณ
การแตกเนื้อหาจากไฟล์ APK ด้วยวิธีนี้จะมีประโยชน์หากคุณต้องการดูไฟล์กราฟิกพวกเขาจะไม่ถูกบีบอัดและไม่ได้เข้ารหัส
ดึงทรัพยากรออกจาก APK
- ดาวน์โหลด apktools
- ดาวน์โหลด wrapper เพื่อเรียกใช้ apktools (windows, linux)
- สำหรับความเข้ากันได้กับโปรแกรมเสริมให้เปลี่ยนชื่อไฟล์ apktool_X.X.X.jar เป็น apktool.jar
- ในโฟลเดอร์ apktool.jar คัดลอกไฟล์ APK ที่คุณต้องการแยกทรัพยากรหรือคัดลอก apktool ไปยังโฟลเดอร์โปรแกรมบนดิสก์
- ที่ บรรทัดคำสั่ง windows เราพิมพ์: apktool.bat d
- ผลลัพธ์ของโปรแกรมจะเป็นโฟลเดอร์ที่มีชื่อไฟล์ APK และไฟล์ทั้งหมดที่ถูกแตกออกมา
หากแซนด์บ็อกซ์ไม่เพียงพอและคุณต้องเข้าใจพฤติกรรมของแอพพลิเคชั่นอย่างลึกซึ้งยิ่งขึ้นคุณต้องทำการดีบัก การดีบักแอปพลิเคชันหากคุณไม่ทราบหมายถึงการเข้าร่วมกระบวนการทำงานโดยใช้ซอฟต์แวร์ดีบั๊กเกอร์การวางเบรกพอยต์ที่จะช่วยให้คุณหยุดการทำงานและตรวจสอบสถานะหน่วยความจำและป้อนบรรทัดของรหัสตามลำดับ
หลังจากอัปเดตรายการแล้วให้สร้างแอปพลิเคชันขึ้นมาใหม่ และติดตั้งใหม่บนอุปกรณ์ ตอนนี้คุณสามารถดีบักแอปพลิเคชันต่อไปได้ ^ _ ^ เครื่องมือแบบไดนามิกหมายความว่าคุณต้องการเปลี่ยนพฤติกรรมของแอปพลิเคชั่นที่รันไทม์และคุณเพิ่ม“ เอเจนต์” บางชนิดลงในแอปพลิเคชันซึ่งจะถูกใช้สำหรับชุดเครื่องมือในท้ายที่สุด