#03 79c4a8b0 400f82ec /system/lib/libc.so
79c4a8b4 ffffffdf
79c4a8b8 400d2263 /system/lib/libc.so (__sseek)
79c4a8bc 400c0d2b /system/lib/libc.so (__smakebuf+38)
79c4a8c0 00000400
79c4a8c4 00000000
79c4a8c8 40103c28
79c4a8cc 79c4add0 [stack:14328]
79c4a8d0 78223d68 [anon:libc_malloc]
79c4a8d4 400cd848 /system/lib/libc.so (__pthread_clone)
#04 79c4a8d8 5ad5da7b /dev/ashmem/dalvik-heap (deleted)
79c4a8dc 400bea15 /system/lib/libc.so
#05 79c4a8e0 400ebcf0 /system/lib/libc.so
79c4a8e4 79c4a8f4 [stack:14328]
79c4a8e8 00000000
79c4a8ec 400bdeff /system/lib/libc.so (__stack_chk_fail+10)
79c4a8f0 400ebcf0 /system/lib/libc.so
79c4a8f4 5a65da7b /dev/ashmem/dalvik-heap (deleted)
79c4a8f8 00000000
79c4a8fc 000037f8
#06 79c4a900 000037f8
79c4a904 75820ac1 /data/app-lib/com.auto.android.leak.sample-2/libleaker_1.so
#07 79c4a908 00000000
79c4a90c 00000000
79c4a910 00000000
79c4a914 79c4a938 [stack:14328]
发生__stack_chk_fail错误时,logcat输出
F libc : stack corruption detected
栈溢出线程的原始线程栈(未发生栈溢出时线程栈)会失效,然后会申请一个新的较小的线程栈取代原始线程栈。
79c4a8e4存储的79c4a8f4就是金丝雀的存储地址。
79c4a8f4存储的5a65da7b就是被覆盖的金丝雀。
79c4a8d8存储的5ad5da7b就是原始金丝雀。
结论:d5被修改成了65