คำถามติดแท็ก disassembly

8
จะแยกไฟล์ APK หรือ DEX บนแพลตฟอร์ม Android ได้อย่างไร? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เป็นไปได้หรือไม่ที่จะแตกไฟล์ APK หรือไฟล์ DEX บนแพลตฟอร์ม Android? มีเครื่องมือใดที่สามารถแยกไฟล์ APK ได้หรือไม่?


7
จะถอดฟังก์ชั่นเดียวโดยใช้ objdump ได้อย่างไร?
ฉันได้ติดตั้งไบนารีไว้ในระบบของฉันและต้องการดูการแยกชิ้นส่วนของฟังก์ชันที่กำหนด ควรใช้objdumpแต่วิธีแก้ปัญหาอื่น ๆ ก็ยอมรับได้เช่นกัน จากคำถามนี้ฉันได้เรียนรู้ว่าฉันอาจสามารถแยกส่วนของโค้ดออกได้หากฉันรู้เฉพาะที่อยู่ขอบเขตเท่านั้น จากคำตอบนี้ฉันได้เรียนรู้วิธีเปลี่ยนสัญลักษณ์การดีบักแบบแยกกลับเป็นไฟล์เดียว แต่ถึงแม้จะใช้งานกับไฟล์เดียวนั้นและแม้กระทั่งการแยกส่วนรหัสทั้งหมด (เช่นไม่มีที่อยู่เริ่มต้นหรือหยุด แต่เป็น-dพารามิเตอร์ธรรมดาถึงobjdump) ฉันก็ยังไม่เห็นสัญลักษณ์นั้นเลย ซึ่งสมเหตุสมผลตราบเท่าที่ฟังก์ชันที่เป็นปัญหาเป็นแบบคงที่ดังนั้นจึงไม่ถูกส่งออก อย่างไรก็ตามvalgrindจะรายงานชื่อฟังก์ชันดังนั้นจึงต้องจัดเก็บไว้ที่ใดที่หนึ่ง เมื่อดูรายละเอียดของส่วนการดีบักฉันพบชื่อนั้นที่กล่าวถึงใน.debug_strส่วนนี้ แต่ฉันไม่รู้จักเครื่องมือที่สามารถเปลี่ยนเป็นช่วงที่อยู่ได้

4
เหตุใด C คอมไพเลอร์จึงปรับสวิตช์ให้เหมาะสมและหากต่างกัน
ฉันกำลังทำงานในโครงการส่วนบุคคลเมื่อเร็ว ๆ นี้เมื่อฉันเจอปัญหาแปลก ๆ ในวงที่แน่นมากฉันมีจำนวนเต็มที่มีค่าระหว่าง 0 ถึง 15 ฉันต้องได้รับ -1 สำหรับค่า 0, 1, 8, และ 9 และ 1 สำหรับค่า 4, 5, 12, และ 13 ฉันหันไปใช้ godbolt เพื่อตรวจสอบตัวเลือกสองสามตัวและรู้สึกประหลาดใจที่ดูเหมือนว่าคอมไพเลอร์ไม่สามารถปรับคำสั่งสวิตช์ให้เหมาะสมเช่นเดียวกับโซ่ถ้า ลิงก์อยู่ที่นี่: https://godbolt.org/z/WYVBFl รหัสคือ: const int lookup[16] = {-1, -1, 0, 0, 1, 1, 0, 0, -1, -1, 0, 0, 1, 1, 0, 0}; …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.