WrBug / dumpDex

💯一款Android脱壳工具,需要xposed支持, 易开发已集成该项目。
https://github.com/WrBug/DeveloperHelper
MIT License
3k stars 613 forks source link

crash on Pie device #73

Open wjj1928 opened 4 years ago

wjj1928 commented 4 years ago

When run devep build with Pie device. below crash happen:

05-18 09:02:37.552 8586 8586 F DEBUG : ABI: 'arm64' 05-18 09:02:37.552 8586 8586 F DEBUG : pid: 8509, tid: 8509, name: dofddf.nofo4kof >>> com.dofddf.nofo4kof <<< 05-18 09:02:37.553 8586 8586 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xb2959388 05-18 09:02:37.553 8586 8586 F DEBUG : x0 000000742fb41dc0 x1 0000000000000000 x2 0000000000000000 x3 0000000000000000 05-18 09:02:37.553 8586 8586 F DEBUG : x4 0000007fe6e85d70 x5 00000000b2959388 x6 0000000000000000 x7 0000000000800000 05-18 09:02:37.553 8586 8586 F DEBUG : x8 bdbe6906b1712eac x9 bdbe6906b1712eac x10 000000742fa0d878 x11 0000000000000001 05-18 09:02:37.553 8586 8586 F DEBUG : x12 000000742fa0d888 x13 0000000000000028 x14 ffffffffffffffff x15 0000473eef213840 05-18 09:02:37.553 8586 8586 F DEBUG : x16 00000074b1ff1be0 x17 00000074b1f841f0 x18 0000000000000001 x19 0000000000000000 05-18 09:02:37.553 8586 8586 F DEBUG : x20 0000000000000000 x21 0000007415dda000 x22 0000007fe6e85d70 x23 0000007fe6e85d70 05-18 09:02:37.553 8586 8586 F DEBUG : x24 00000074b552f5e0 x25 000000741751e810 x26 00000000b2959388 x27 0000000000000000 05-18 09:02:37.553 8586 8586 F DEBUG : x28 000000000070ea04 x29 0000007fe6e85b60 05-18 09:02:37.553 8586 8586 F DEBUG : sp 0000007fe6e85ac0 lr 00000074b17ab9d4 pc 00000074b17ab9d4 05-18 09:02:37.566 8586 8586 F DEBUG : 05-18 09:02:37.566 8586 8586 F DEBUG : backtrace: 05-18 09:02:37.566 8586 8586 F DEBUG : #00 pc 00000000000159d4 /system/lib64/libdexfile.so (offset 0x13000) (art::DexFileLoader::OpenCommon(unsigned char const, unsigned long, unsigned char const, unsigned long, std::1::basic_string<char, std::__1::char_traits, std::1::allocator> const&, unsigned int, art::OatDexFile const, bool, bool, std::1::basic_string<char, std::__1::char_traits, std::1::allocator>, std::1::unique_ptr<art::DexFileContainer, std::__1::default_delete>, art::De 05-18 09:02:37.566 8586 8586 F DEBUG : #01 pc 000000000000836c /data/local/tmp/libnativeDump.so 05-18 09:02:37.566 8586 8586 F DEBUG : #02 pc 00000000001831d0 /system/lib64/libart.so (offset 0xfa000) (art::ArtDexFileLoader::OpenCommon(unsigned char const, unsigned long, unsigned char const, unsigned long, std::1::basic_string<char, std::1::char_traits, std::1::allocator> const&, unsigned int, art::OatDexFile const*, bool, bool, std::1::basic_string<char, std::1::char_traits, std::1::allocator>*, std::1::unique_ptr<art::DexFileContainer, std::1::default_delete>, art::Dex 05-18 09:02:37.566 8586 8586 F DEBUG : #03 pc 00000000001830d8 /system/lib64/libart.so (offset 0xfa000) (art::ArtDexFileLoader::Open(unsigned char const*, unsigned long, std::__1::basic_string<char, std::1::char_traits, std::1::allocator> const&, unsigned int, art::OatDexFile const*, bool, bool, std::1::basic_string<char, std::__1::char_traits, std::__1::allocator>*) const+332) 05-18 09:02:37.566 8586 8586 F DEBUG : #04 pc 000000000008d5d4

The code as below: static void (new_arm64_open_memory)(uint8_t base, size_t size, void location, uint32_t location_checksum, void mem_map, void oat_dex_file, void error_msg) { if (size > DEX_MIN_LEN) { save_dex_file(base, size); } return (*old_arm64_open_memory)(base, size, location, location_checksum, mem_map, oat_dex_file, error_msg); }

crashed in old_arm64_open_memory api call.