能力值:
( LV2,RANK:10 )
|
-
-
12 楼
JAVA这边的代码。感觉是可以直接无视的。在播放。停止。录象。等都会通过一个核心的CALL。没有注册 。只有播放五分钟。。对ARM汇编不清楚。也不知道哪里传全局变量什么的。。返回值什么的也不大确定。应该是R0。但好像又不完全是....
doplay的
.text:00029674 MOVS R0, R7
.text:00029676 ADD R1, SP, #0x2C
.text:00029678 MOVS R2, #1
.text:0002967A BL sub_28764
dostop的
.text:000297FC MOVS R0, R7
.text:000297FE ADD R1, SP, #0x34
.text:00029800 MOVS R2, #1
.text:00029802 BL sub_28764
主要执行的函数
.text:00028764 ; =============== S U B R O U T I N E =======================================
.text:00028764
.text:00028764
.text:00028764 sub_28764 ; CODE XREF: Java_com_soso_rabbitguy_TouchelperBin_init+Ap
.text:00028764 ; .text:00029278p ...
.text:00028764
.text:00028764 var_60 = -0x60
.text:00028764 stat_loc = -0x58
.text:00028764 th = -0x54
.text:00028764 var_50 = -0x50
.text:00028764 fd = -0x48
.text:00028764 var_44 = -0x44
.text:00028764 arg = -0x40
.text:00028764 var_3C = -0x3C
.text:00028764 attr = -0x38
.text:00028764
.text:00028764 PUSH {R4-R7,LR}
.text:00028766 MOV R7, R9
.text:00028768 MOV R6, R8
.text:0002876A PUSH {R6,R7}
.text:0002876C LDR R3, =0x74697865
.text:0002876E SUB SP, SP, #0x44
.text:00028770 MOV R9, R0
.text:00028772 STR R3, [SP,#0x60+var_50]
.text:00028774 ADD R5, SP, #0x60+var_50
.text:00028776 MOVS R3, #0xA
.text:00028778 ADD R0, SP, #0x60+fd ; pipedes
.text:0002877A MOVS R7, R1
.text:0002877C MOV R8, R2
.text:0002877E STRH R3, [R5,#4]
.text:00028780 BLX pipe
.text:00028784 SUBS R6, R0, #0
.text:00028786 BEQ loc_2879A
.text:00028788 BLX __errno
.text:0002878C LDR R4, [R0]
.text:0002878E
.text:0002878E loc_2878E ; CODE XREF: sub_28764+90j
.text:0002878E ADD SP, SP, #0x44
.text:00028790 MOVS R0, R4
.text:00028792 POP {R2,R3}
.text:00028794 MOV R8, R2
.text:00028796 MOV R9, R3
.text:00028798 POP {R4-R7,PC}
.text:0002879A ; ---------------------------------------------------------------------------
.text:0002879A
.text:0002879A loc_2879A ; CODE XREF: sub_28764+22j
.text:0002879A BLX fork
.text:0002879E SUBS R4, R0, #0
.text:000287A0 BLT loc_287E2
.text:000287A2 LDR R0, [SP,#0x60+fd] ; fd
.text:000287A4 BEQ loc_2884C
.text:000287A6 BLX close
.text:000287AA MOV R3, R8
.text:000287AC CMP R3, #0
.text:000287AE BNE loc_287F6
.text:000287B0
.text:000287B0 loc_287B0 ; CODE XREF: sub_28764+B4j
.text:000287B0 MOVS R0, R7 ; s
.text:000287B2 BLX strlen
.text:000287B6 MOVS R1, R7 ; buf
.text:000287B8 MOVS R2, R0 ; n
.text:000287BA LDR R0, [SP,#0x60+var_44] ; fd
.text:000287BC BLX write
.text:000287C0 LDR R0, [SP,#0x60+var_44] ; fd
.text:000287C2 MOVS R1, R5 ; buf
.text:000287C4 MOVS R2, #5 ; n
.text:000287C6 BLX write
.text:000287CA
.text:000287CA loc_287CA ; CODE XREF: sub_28764+7Cj
.text:000287CA MOVS R0, R4 ; pid
.text:000287CC ADD R1, SP, #0x60+stat_loc ; stat_loc
.text:000287CE MOVS R2, #0 ; options
.text:000287D0 BLX waitpid
.text:000287D4 CMP R0, #0
.text:000287D6 BGE loc_2881A
.text:000287D8 BLX __errno
.text:000287DC LDR R3, [R0]
.text:000287DE CMP R3, #4
.text:000287E0 BEQ loc_287CA
.text:000287E2
.text:000287E2 loc_287E2 ; CODE XREF: sub_28764+3Cj
.text:000287E2 BLX __errno
.text:000287E6 LDR R4, [R0]
.text:000287E8
.text:000287E8 loc_287E8 ; CODE XREF: sub_28764+C6j
.text:000287E8 ; sub_28764+D4j
.text:000287E8 LDR R0, [SP,#0x60+fd] ; fd
.text:000287EA BLX close
.text:000287EE LDR R0, [SP,#0x60+var_44] ; fd
.text:000287F0 BLX close
.text:000287F4 B loc_2878E
.text:000287F6 ; ---------------------------------------------------------------------------
.text:000287F6
.text:000287F6 loc_287F6 ; CODE XREF: sub_28764+4Aj
.text:000287F6 MOV R3, R9
.text:000287F8 ADD R0, SP, #0x60+attr ; attr
.text:000287FA STR R3, [SP,#0x60+arg]
.text:000287FC STR R6, [SP,#0x60+var_3C]
.text:000287FE BLX pthread_attr_init
.text:00028802 ADD R0, SP, #0x60+attr ; attr
.text:00028804 MOVS R1, #0 ; detachstate
.text:00028806 BLX pthread_attr_setdetachstate
.text:0002880A LDR R2, =(sub_28D5C+1 - 0x28814)
.text:0002880C ADD R0, SP, #0x60+th ; newthread
.text:0002880E ADD R1, SP, #0x60+attr ; attr
.text:00028810 ADD R2, PC ; start_routine
.text:00028812 ADD R3, SP, #0x60+arg ; arg
.text:00028814 BLX pthread_create
.text:00028818 B loc_287B0
.text:0002881A ; ---------------------------------------------------------------------------
.text:0002881A
.text:0002881A loc_2881A ; CODE XREF: sub_28764+72j
.text:0002881A LDR R4, [SP,#0x60+stat_loc]
.text:0002881C MOVS R3, #0x7F
.text:0002881E TST R3, R4
.text:00028820 BNE loc_2883A
.text:00028822 LSLS R4, R4, #0x10
.text:00028824 LSRS R4, R4, #0x18
.text:00028826
.text:00028826 loc_28826 ; CODE XREF: sub_28764+E6j
.text:00028826 MOV R3, R8
.text:00028828 CMP R3, #0
.text:0002882A BEQ loc_287E8
.text:0002882C MOVS R3, #1
.text:0002882E LDR R0, [SP,#0x60+th] ; th
.text:00028830 MOVS R1, #0 ; thread_return
.text:00028832 STR R3, [SP,#0x60+var_3C]
.text:00028834 BLX pthread_join
.text:00028838 B loc_287E8
.text:0002883A ; ---------------------------------------------------------------------------
.text:0002883A
.text:0002883A loc_2883A ; CODE XREF: sub_28764+BCj
.text:0002883A ADDS R4, #1
.text:0002883C ANDS R3, R4
.text:0002883E LSRS R4, R3, #0x1F
.text:00028840 MOVS R1, #0
.text:00028842 MOVS R2, #1
.text:00028844 CMP R2, R3
.text:00028846 ADCS R4, R1
.text:00028848 SUBS R4, #2
.text:0002884A B loc_28826
.text:0002884C ; ---------------------------------------------------------------------------
.text:0002884C
.text:0002884C loc_2884C ; CODE XREF: sub_28764+40j
.text:0002884C MOVS R1, #0 ; fd2
.text:0002884E BLX dup2
.text:00028852 LDR R0, [SP,#0x60+fd] ; fd
.text:00028854 BLX close
.text:00028858 LDR R0, [SP,#0x60+var_44] ; fd
.text:0002885A BLX close
.text:0002885E LDR R0, =(aSystemBinSh - 0x2886A)
.text:00028860 LDR R1, =(aSh - 0x2886C)
.text:00028862 LDR R2, =(aC - 0x2886E)
.text:00028864 LDR R3, =(aSu - 0x28870)
.text:00028866 ADD R0, PC ; "/system/bin/sh"
.text:00028868 ADD R1, PC ; "sh"
.text:0002886A ADD R2, PC ; "-c"
.text:0002886C ADD R3, PC ; "su"
.text:0002886E STR R4, [SP,#0x60+var_60]
.text:00028870 BLX execl
.text:00028874 MOVS R0, #0x7F ; status
.text:00028876 BLX exit
.text:00028876 ; End of function sub_28764
创建线程使用到的函数
5C ; =============== S U B R O U T I N E =======================================
.text:00028D5C
.text:00028D5C
.text:00028D5C sub_28D5C ; DATA XREF: sub_28764+ACo
.text:00028D5C ; .text:off_28880o
.text:00028D5C
.text:00028D5C timeout = -0x4D8
.text:00028D5C var_4D4 = -0x4D4
.text:00028D5C fd = -0x4CC
.text:00028D5C var_4C8 = -0x4C8
.text:00028D5C var_4C4 = -0x4C4
.text:00028D5C var_4C0 = -0x4C0
.text:00028D5C var_4BC = -0x4BC
.text:00028D5C var_4B8 = -0x4B8
.text:00028D5C var_4B4 = -0x4B4
.text:00028D5C var_4B0 = -0x4B0
.text:00028D5C s = -0x4AC
.text:00028D5C buf = -0x42C
.text:00028D5C var_DC = -0xDC
.text:00028D5C var_14 = -0x14
.text:00028D5C
.text:00028D5C PUSH {R4-R7,LR}
.text:00028D5E MOV R7, R11
.text:00028D60 MOV R6, R10
.text:00028D62 MOV R5, R9
.text:00028D64 MOV R4, R8
.text:00028D66 PUSH {R4-R7}
.text:00028D68 LDR R4, =0xFFFFFB4C
.text:00028D6A LDR R6, =(_GLOBAL_OFFSET_TABLE_ - 0x28D76)
.text:00028D6C LDR R3, =(__stack_chk_guard_ptr - 0xBADC8)
.text:00028D6E ADD SP, R4 ; timeout
.text:00028D70 STR R0, [SP,#0x4D8+var_4C8]
.text:00028D72 ADD R6, PC
.text:00028D74 LDR R3, [R6,R3]
.text:00028D76 ADD R1, SP, #0x4D8+var_DC
.text:00028D78 ADDS R1, #0xB0
.text:00028D7A STR R3, [SP,#0x4D8+var_4BC]
.text:00028D7C LDR R3, [R3]
.text:00028D7E MOVS R2, #0
.text:00028D80 STR R3, [R1]
.text:00028D82 MOVS R3, #0
.text:00028D84 STR R3, [SP,#0x4D8+var_4B8]
.text:00028D86 LDR R3, =(unk_BBDF8 - 0x28D8E)
.text:00028D88 ADD R1, SP, #0x4D8+var_4B8
.text:00028D8A ADD R3, PC
.text:00028D8C LDR R0, [R3]
.text:00028D8E LDR R3, [R0]
.text:00028D90 LDR R3, [R3,#0x10]
.text:00028D92 BLX R3
.text:00028D94 LDR R3, [SP,#0x4D8+var_4B8]
.text:00028D96 CMP R3, #0
.text:00028D98 BEQ loc_28E6A
.text:00028D9A LDR R4, =(aDataDataCom_so - 0x28DA0)
.text:00028D9C ADD R4, PC ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028D9E MOVS R0, R4 ; name
.text:00028DA0 BLX unlink
.text:00028DA4 MOVS R0, R4 ; path
.text:00028DA6 LDR R1, =0x11A4 ; mode
.text:00028DA8 MOVS R2, #0 ; dev
.text:00028DAA BLX mknod
.text:00028DAE CMP R0, #0
.text:00028DB0 BNE loc_28E58
.text:00028DB2 MOVS R1, #0x80
.text:00028DB4 MOVS R0, R4 ; file
.text:00028DB6 LSLS R1, R1, #4
.text:00028DB8 BLX open
.text:00028DBC STR R0, [SP,#0x4D8+fd]
.text:00028DBE CMP R0, #0
.text:00028DC0 BGE loc_28DC4
.text:00028DC2 B loc_28F4C
.text:00028DC4 ; ---------------------------------------------------------------------------
.text:00028DC4
.text:00028DC4 loc_28DC4 ; CODE XREF: sub_28D5C+64j
.text:00028DC4 MOVS R2, #0x1F
.text:00028DC6 ANDS R2, R0
.text:00028DC8 ASRS R3, R0, #5
.text:00028DCA MOVS R1, #1
.text:00028DCC LSLS R1, R2
.text:00028DCE LSLS R3, R3, #2
.text:00028DD0 ADD R2, SP, #0x4D8+s
.text:00028DD2 STR R1, [SP,#0x4D8+var_4C4]
.text:00028DD4 MOV R10, R2
.text:00028DD6 STR R3, [SP,#0x4D8+var_4C0]
.text:00028DD8
.text:00028DD8 loc_28DD8 ; CODE XREF: sub_28D5C+B6j
.text:00028DD8 ; sub_28D5C+EAj ...
.text:00028DD8 LDR R3, [SP,#0x4D8+var_4C8]
.text:00028DDA LDR R4, [R3,#4]
.text:00028DDC CMP R4, #0
.text:00028DDE BEQ loc_28DE2
.text:00028DE0 B loc_28EC0
.text:00028DE2 ; ---------------------------------------------------------------------------
.text:00028DE2
.text:00028DE2 loc_28DE2 ; CODE XREF: sub_28D5C+82j
.text:00028DE2 ; sub_28D5C+162j
.text:00028DE2 MOVS R1, #0 ; c
.text:00028DE4 MOVS R2, #0x80 ; n
.text:00028DE6 MOV R0, R10 ; s
.text:00028DE8 BLX memset
.text:00028DEC LDR R2, [SP,#0x4D8+var_4C4]
.text:00028DEE LDR R3, [SP,#0x4D8+var_4C0]
.text:00028DF0 LDR R0, [SP,#0x4D8+fd]
.text:00028DF2 MOV R1, R10 ; readfds
.text:00028DF4 STR R2, [R3,R1]
.text:00028DF6 ADD R3, SP, #0x4D8+var_4B4
.text:00028DF8 MOVS R2, #1
.text:00028DFA STR R2, [SP,#0x4D8+var_4B4]
.text:00028DFC STR R3, [SP,#0x4D8+timeout] ; timeout
.text:00028DFE ADDS R0, #1 ; nfds
.text:00028E00 MOVS R3, #0 ; exceptfds
.text:00028E02 MOVS R2, #0 ; writefds
.text:00028E04 STR R4, [SP,#0x4D8+var_4B0]
.text:00028E06 BLX select
.text:00028E0A ADDS R3, R0, #1
.text:00028E0C BNE loc_28E10
.text:00028E0E B loc_28F26
.text:00028E10 ; ---------------------------------------------------------------------------
.text:00028E10
.text:00028E10 loc_28E10 ; CODE XREF: sub_28D5C+B0j
.text:00028E10 CMP R0, #0
.text:00028E12 BEQ loc_28DD8
.text:00028E14 MOVS R2, #0x80
.text:00028E16 LDR R0, [SP,#0x4D8+fd] ; fd
.text:00028E18 ADD R1, SP, #0x4D8+buf ; buf
.text:00028E1A LSLS R2, R2, #3
.text:00028E1C BLX read
.text:00028E20 SUBS R7, R0, #0
.text:00028E22 BGE loc_28E26
.text:00028E24 B loc_28F34
.text:00028E26 ; ---------------------------------------------------------------------------
.text:00028E26
.text:00028E26 loc_28E26 ; CODE XREF: sub_28D5C+C6j
.text:00028E26 BEQ loc_28EC0
.text:00028E28 LDR R1, [SP,#0x4D8+var_4B8]
.text:00028E2A LDR R3, [SP,#0x4D8+var_4C8]
.text:00028E2C MOVS R5, #0
.text:00028E2E MOV R8, R1
.text:00028E30 LDR R2, [R3]
.text:00028E32 LDR R1, =0x7365726E
.text:00028E34 MOV R3, R8
.text:00028E36 MOV R11, R2
.text:00028E38 MOV R8, R7
.text:00028E3A MOV R9, R1
.text:00028E3C ADDS R7, R3, #0
.text:00028E3E
.text:00028E3E loc_28E3E ; CODE XREF: sub_28D5C+158j
.text:00028E3E ADD R2, SP, #0x4D8+buf
.text:00028E40 ADDS R4, R2, R5
.text:00028E42 LDR R3, [R4]
.text:00028E44 CMP R3, R9
.text:00028E46 BNE loc_28DD8
.text:00028E48 LDR R0, [R4,#4]
.text:00028E4A SUBS R0, #0x64
.text:00028E4C CMP R0, #3
.text:00028E4E BHI loc_28EAC
.text:00028E50 BL __gnu_thumb1_case_uqi
.text:00028E54 ADCS R0, R2
.text:00028E56 LDRH R4, [R3,R0]
.text:00028E58
.text:00028E58 loc_28E58 ; CODE XREF: sub_28D5C+54j
.text:00028E58 BLX __errno
.text:00028E5C LDR R3, [R0]
.text:00028E5E
.text:00028E5E loc_28E5E ; CODE XREF: sub_28D5C+1FEj
.text:00028E5E LDR R3, =(unk_BBDF8 - 0x28E64)
.text:00028E60 ADD R3, PC
.text:00028E62 LDR R0, [R3]
.text:00028E64 LDR R3, [R0]
.text:00028E66 LDR R3, [R3,#0x14]
.text:00028E68 BLX R3
.text:00028E6A
.text:00028E6A loc_28E6A ; CODE XREF: sub_28D5C+3Cj
.text:00028E6A ; sub_28D5C+178j
.text:00028E6A ADD R1, SP, #0x4D8+var_DC
.text:00028E6C ADDS R1, #0xB0
.text:00028E6E LDR R2, [R1]
.text:00028E70 LDR R1, [SP,#0x4D8+var_4BC]
.text:00028E72 MOVS R0, #0
.text:00028E74 LDR R3, [R1]
.text:00028E76 CMP R2, R3
.text:00028E78 BEQ loc_28E7C
.text:00028E7A B loc_28F5C
.text:00028E7C ; ---------------------------------------------------------------------------
.text:00028E7C
.text:00028E7C loc_28E7C ; CODE XREF: sub_28D5C+11Cj
.text:00028E7C LDR R3, =0x4B4
.text:00028E7E ADD SP, R3
.text:00028E80 POP {R2-R5}
.text:00028E82 MOV R8, R2
.text:00028E84 MOV R9, R3
.text:00028E86 MOV R10, R4
.text:00028E88 MOV R11, R5
.text:00028E8A POP {R4-R7,PC}
.text:00028E8C ; ---------------------------------------------------------------------------
.text:00028E8C MOVS R1, R4
.text:00028E8E ADDS R1, #0xC
.text:00028E90 MOVS R0, R7
.text:00028E92 BL _Z12char2jstringP7_JNIEnvPKc ; char2jstring(_JNIEnv *,char const*)
.text:00028E96 LDR R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028E98 LDR R3, [R6,R3]
.text:00028E9A LDR R1, [R3]
.text:00028E9C LDR R3, =(mid_doNotifyVoiceJNI_ptr - 0xBADC8)
.text:00028E9E
.text:00028E9E loc_28E9E ; CODE XREF: sub_28D5C+1AAj
.text:00028E9E LDR R3, [R6,R3]
.text:00028EA0 LDR R2, [R3]
.text:00028EA2 STR R0, [SP,#0x14+var_14]
.text:00028EA4 MOV R3, R11
.text:00028EA6 MOVS R0, R7
.text:00028EA8 BL _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028EAC
.text:00028EAC loc_28EAC ; CODE XREF: sub_28D5C+F2j
.text:00028EAC ; sub_28D5C+196j ...
.text:00028EAC LDR R3, [R4,#8]
.text:00028EAE ADDS R3, #0xC
.text:00028EB0 ADDS R5, R5, R3
.text:00028EB2 CMP R8, R5
.text:00028EB4 BHI loc_28E3E
.text:00028EB6 LDR R3, [SP,#0x4D8+var_4C8]
.text:00028EB8 LDR R4, [R3,#4]
.text:00028EBA CMP R4, #0
.text:00028EBC BNE loc_28EC0
.text:00028EBE B loc_28DE2
.text:00028EC0 ; ---------------------------------------------------------------------------
.text:00028EC0
.text:00028EC0 loc_28EC0 ; CODE XREF: sub_28D5C+84j
.text:00028EC0 ; sub_28D5C:loc_28E26j ...
.text:00028EC0 LDR R0, =(aDataDataCom_so - 0x28EC6)
.text:00028EC2 ADD R0, PC ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028EC4 BLX unlink
.text:00028EC8 LDR R3, =(unk_BBDF8 - 0x28ECE)
.text:00028ECA ADD R3, PC
.text:00028ECC LDR R0, [R3]
.text:00028ECE LDR R3, [R0]
.text:00028ED0 LDR R3, [R3,#0x14]
.text:00028ED2 BLX R3
.text:00028ED4 B loc_28E6A
.text:00028ED6 ; ---------------------------------------------------------------------------
.text:00028ED6 LDR R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028ED8 MOVS R0, R7
.text:00028EDA LDR R3, [R6,R3]
.text:00028EDC LDR R1, [R3]
.text:00028EDE LDR R3, =(mid_doNotifyVibrateJNI_ptr - 0xBADC8)
.text:00028EE0 LDR R3, [R6,R3]
.text:00028EE2 LDR R2, [R3]
.text:00028EE4 LDR R3, [R4,#0xC]
.text:00028EE6 STR R3, [SP,#0x4D8+timeout]
.text:00028EE8 ASRS R3, R3, #0x1F
.text:00028EEA STR R3, [SP,#0x4D8+var_4D4]
.text:00028EEC MOV R3, R11
.text:00028EEE BL _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028EF2 B loc_28EAC
.text:00028EF4 ; ---------------------------------------------------------------------------
.text:00028EF4 MOVS R1, R4
.text:00028EF6 ADDS R1, #0xC
.text:00028EF8 MOVS R0, R7
.text:00028EFA BL _Z12char2jstringP7_JNIEnvPKc ; char2jstring(_JNIEnv *,char const*)
.text:00028EFE LDR R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028F00 LDR R3, [R6,R3]
.text:00028F02 LDR R1, [R3]
.text:00028F04 LDR R3, =0xFFFFFCB4
.text:00028F06 B loc_28E9E
.text:00028F08 ; ---------------------------------------------------------------------------
.text:00028F08 LDR R3, =(cls_toucherlpService_ptr - 0xBADC8)
.text:00028F0A LDR R3, [R6,R3]
.text:00028F0C LDR R1, [R3]
.text:00028F0E LDR R3, =(mid_doAirplaneModeJNI_ptr - 0xBADC8)
.text:00028F10 LDR R3, [R6,R3]
.text:00028F12 LDR R2, [R3]
.text:00028F14 LDR R3, [R4,#0xC]
.text:00028F16 SUBS R0, R3, #1
.text:00028F18 SBCS R3, R0
.text:00028F1A STR R3, [SP,#0x4D8+timeout]
.text:00028F1C MOVS R0, R7
.text:00028F1E MOV R3, R11
.text:00028F20 BL _ZN7_JNIEnv20CallStaticVoidMethodEP7_jclassP10_jmethodIDz ; _JNIEnv::CallStaticVoidMethod(_jclass *,_jmethodID *,...)
.text:00028F24 B loc_28EAC
.text:00028F26 ; ---------------------------------------------------------------------------
.text:00028F26
.text:00028F26 loc_28F26 ; CODE XREF: sub_28D5C+B2j
.text:00028F26 BLX __errno
.text:00028F2A LDR R3, [R0]
.text:00028F2C CMP R3, #4
.text:00028F2E BNE loc_28F32
.text:00028F30 B loc_28DD8
.text:00028F32 ; ---------------------------------------------------------------------------
.text:00028F32
.text:00028F32 loc_28F32 ; CODE XREF: sub_28D5C+1D2j
.text:00028F32 B loc_28F52
.text:00028F34 ; ---------------------------------------------------------------------------
.text:00028F34
.text:00028F34 loc_28F34 ; CODE XREF: sub_28D5C+C8j
.text:00028F34 BLX __errno
.text:00028F38 LDR R3, [R0]
.text:00028F3A CMP R3, #4
.text:00028F3C BNE loc_28F40
.text:00028F3E B loc_28DD8
.text:00028F40 ; ---------------------------------------------------------------------------
.text:00028F40
.text:00028F40 loc_28F40 ; CODE XREF: sub_28D5C+1E0j
.text:00028F40 BLX __errno
.text:00028F44 LDR R3, [R0]
.text:00028F46 CMP R3, #0xB
.text:00028F48 BNE loc_28F4C
.text:00028F4A B loc_28DD8
.text:00028F4C ; ---------------------------------------------------------------------------
.text:00028F4C
.text:00028F4C loc_28F4C ; CODE XREF: sub_28D5C+66j
.text:00028F4C ; sub_28D5C+1ECj
.text:00028F4C BLX __errno
.text:00028F50 LDR R3, [R0]
.text:00028F52
.text:00028F52 loc_28F52 ; CODE XREF: sub_28D5C:loc_28F32j
.text:00028F52 LDR R0, =(aDataDataCom_so - 0x28F58)
.text:00028F54 ADD R0, PC ; "/data/data/com.soso.rabbitguy/fifo"
.text:00028F56 BLX unlink
.text:00028F5A B loc_28E5E
.text:00028F5C ; ---------------------------------------------------------------------------
.text:00028F5C
.text:00028F5C loc_28F5C ; CODE XREF: sub_28D5C+11Ej
.text:00028F5C BLX __stack_chk_fail
.text:00028F5C ; End of function sub_28D5C
.text:00028F5C
.text:00028F5C ; ---------------------------------------------------------------------------
|