Android aosp10,AOSP Android10 hook dlsym

1 最近的堆栈

#0 pc 0001332c /data/app/com.xx.xx.xx-Y3Pcp5VnIrzHXx1MbVmxwg==/lib/arm/libinjectCamera.so (CodeBuffer::Emit32(int)+28) (BuildId: 4e2ef33d7d3943a9215af15ff3194064fdab415f)

#1 pc 00012967 /data/app/com.xx.xx.xx-Y3Pcp5VnIrzHXx1MbVmxwg==/lib/arm/libinjectCamera.so (generate_thumb_trampoline(unsigned int, unsigned int)+70) (BuildId: 4e2ef33d7d3943a9215af15ff3194064fdab415f)

我从IDA里面把响应代码抠出来了,你看下是不是想要这个东西

2 请搜索如下关键字

CodeBuffer::Emit32(int)+28 搜索 "crash_28"

generate_thumb_trampoline(unsigned int, unsigned int)+70 搜索 "crash_70"

.text:00012920 ; _DWORD __fastcall generate_thumb_trampoline(void *, unsigned int)

.text:00012920 EXPORT _Z25generate_thumb_trampolinejj

.text:00012920 _Z25generate_thumb_trampolinejj ; CODE XREF: generate_thumb_trampoline(uint,uint)+8↑j

.text:00012920 ; DATA XREF: LOAD:00000F40↑o ...

.text:00012920

.text:00012920 var_44 = -0x44

.text:00012920 var_3C = -0x3C

.text:00012920 var_38 = -0x38

.text:00012920 var_34 = -0x34

.text:00012920 var_28 = -0x28

.text:00012920 var_24 = -0x24

.text:00012920 var_20 = -0x20

.text:00012920 var_1C = -0x1C

.text:00012920 var_18 = -0x18

.text:00012920 var_C = -0xC

.text:00012920

.text:00012920 ; __unwind { // j___gxx_personality_v0

.text:00012920 B0 B5 PUSH {R4,R5,R7,LR}

.text:00012922 02 AF ADD R7, SP, #8

.text:00012924 90 B0 SUB SP, SP, #0x40

.text:00012926 0C 46 MOV R4, R1

.text:00012928 01 46 MOV R1, R0 ; void *

.text:0001292A 1D 48 LDR R0, =(__stack_chk_guard_ptr - 0x12930)

.text:0001292C 78 44 ADD R0, PC ; __stack_chk_guard_ptr

.text:0001292E 05 68 LDR R5, [R0] ; __stack_chk_guard

.text:00012930 28 68 LDR R0, [R5]

.text:00012932 0F 90 STR R0, [SP,#0x48+var_C]

.text:00012934 0B A8 ADD R0, SP, #0x48+var_1C ; this

.text:00012936 F9 F7 66 E9 BLX j__ZN2zz3arm19ThumbTurboAssemblerC2EPv ; zz::arm::ThumbTurboAssembler::ThumbTurboAssembler(void *)

.text:0001293A 1A 49 LDR R1, =(_ZTVN2zz3arm8RegisterE_ptr - 0x12946)

.text:0001293C 00 23 MOVS R3, #0

.text:0001293E 0F 22 MOVS R2, #0xF

.text:00012940 04 93 STR R3, [SP,#0x48+var_38]

.text:00012942 79 44 ADD R1, PC ; _ZTVN2zz3arm8RegisterE_ptr

.text:00012944 09 68 LDR R1, [R1] ; `vtable for'zz::arm::Register

.text:00012946 08 31 ADDS R1, #8

.text:00012948 09 91 STR R1, [SP,#0x48+var_24]

.text:0001294A 0A 92 STR R2, [SP,#0x48+var_20]

.text:0001294C CD E9 01 12 STRD.W R1, R2, [SP,#4]

.text:00012950 4F F0 C0 72 MOV.W R2, #0x1800000

.text:00012954 08 92 STR R2, [SP,#0x48+var_28]

.text:00012956 05 93 STR R3, [SP,#0x48+var_34]

.text:00012958 03 91 STR R1, [SP,#0x48+var_3C]

.text:0001295A 09 A9 ADD R1, SP, #0x48+var_24

.text:0001295C 01 AA ADD R2, SP, #0x48+var_44

.text:0001295E F9 F7 58 E9 BLX j__ZN2zz3arm14ThumbAssembler6t2_ldrENS0_8RegisterERKNS0_10MemOperandE ; zz::arm::ThumbAssembler::t2_ldr(zz::arm::Register,zz::arm::MemOperand const&)

.text:00012962 0C 98 LDR R0, [SP,#0x48+var_18] ; this

.text:00012964 21 46 MOV R1, R4 ; int

.text:00012966 F9 F7 5A E9 BLX j__ZN10CodeBuffer6Emit32Ei ; CodeBuffer::Emit32(int) ---> (crash_70)

.text:0001296A 0B A8 ADD R0, SP, #0x48+var_1C ; this

.text:00013310 EXPORT _ZN10CodeBuffer6Emit32Ei

.text:00013310 _ZN10CodeBuffer6Emit32Ei ; CODE XREF: CodeBuffer::Emit32(int)+8↑j

.text:00013310 ; DATA XREF: LOAD:00000F60↑o ...

.text:00013310 ; __unwind {

.text:00013310 B0 B5 PUSH {R4,R5,R7,LR}

.text:00013312 02 AF ADD R7, SP, #8

.text:00013314 05 46 MOV R5, R0

.text:00013316 00 68 LDR R0, [R0]

.text:00013318 0C 46 MOV R4, R1

.text:0001331A C1 69 LDR R1, [R0,#0x1C]

.text:0001331C 28 46 MOV R0, R5

.text:0001331E 88 47 BLX R1

.text:00013320 01 1D ADDS R1, R0, #4

.text:00013322 28 68 LDR R0, [R5]

.text:00013324 42 69 LDR R2, [R0,#0x14]

.text:00013326 28 46 MOV R0, R5

.text:00013328 90 47 BLX R2

.text:0001332A A8 68 LDR R0, [R5,#8]

.text:0001332C 10 C0 STMIA R0!, {R4} -----> (crash_28)

.text:0001332E A8 60 STR R0, [R5,#8]

.text:00013330 B0 BD POP {R4,R5,R7,PC}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值