FILE *(*old_fopen)(const char *path, const char *mode);
FILE *my_fopen(const char *path, const char *mode)
{
// 这里什么都不干
return old_fopen(path, mode);
}
void Initialize()
{
MSHookFunction(&fopen, &my_fopen, (void **)&old_fopen);
}
0x3a043694 <fopen+0>: bx pc
0x3a043696 <fopen+2>: nop (mov r8, r8)
0x3a043698 <fopen+4>: blx 0x3a4480d8
0x3a04369c <fopen+8>: ldr r1, [r1, #120]
0x3a04369e <fopen+10>: lsls r1, r1, #0
0x3a0436a0 <fopen+12>: mov r8, r0
0x3a0436a2 <fopen+14>: mov r0, r1
0x3a0436a4 <fopen+16>: mov r1, r2
0x3a0436a6 <fopen+18>: blx 0x3a0969ac <dyld_stub___sflags>
0x3a0436aa <fopen+22>: mov r5, r0
0x3a0436ac <fopen+24>: movs r6, #0
0x3a0436ae <fopen+26>: cmp r5, #0
0x3a0436b0 <fopen+28>: beq.n 0x3a04374e <fopen+186>
0x3a0436b2 <fopen+30>: movs r0, #1
0x3a0436b4 <fopen+32>: blx 0x3a09698c <dyld_stub___sfp>
0x3a043694 <fopen+0>: push {r4, r5, r6, r7, lr}
0x3a043696 <fopen+2>: add r7, sp, #12
0x3a043698 <fopen+4>: str.w r8, [sp, #-4]!
0x3a04369c <fopen+8>: sub sp, #4
0x3a04369e <fopen+10>: mov r2, sp
0x3a0436a0 <fopen+12>: mov r8, r0
0x3a0436a2 <fopen+14>: mov r0, r1
0x3a0436a4 <fopen+16>: mov r1, r2
0x3a0436a6 <fopen+18>: blx 0x3a0969ac <dyld_stub___sflags>
0x3a0436aa <fopen+22>: mov r5, r0
0x3a0436ac <fopen+24>: movs r6, #0
0x3a0436ae <fopen+26>: cmp r5, #0
0x3a0436b0 <fopen+28>: beq.n 0x3a04374e <fopen+186>
0x3a0436b2 <fopen+30>: movs r0, #1
0x3a0436b4 <fopen+32>: blx 0x3a09698c <dyld_stub___sfp>
0x3a043694 <fopen+0>: bx pc
0x3a043698 <fopen+4>: blx 0x3a4480d8
0x3a4480d8: andeq r0, r0, r4
0x3a4480dc: bcc 0x3b592594
0x3a4480e0: subcc r8, r7, r10, asr #1
0x3a4480e4: subcc r3, r9, r7, lsl #14
0x3a4480e8: andeq r0, r0, r2
0x3a043694 <fopen+0>: bx pc
0x0002c000 <_mh_execute_header+0>: ldr pc, [pc, #-4] ; 0x2c004 <_mh_execute_header+4>
0x0002c004 <_mh_execute_header+4>: andeq r3, r8, r9, lsl #31
0x0002c000 <_mh_execute_header+0>: ldr pc, [pc, #-4] ; 0x2c004 <_mh_execute_header+4>
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课