-
-
[求助]ida f5失效
-
发表于: 2015-7-12 16:11 5527
-
int __usercall mono_image_open_from_data_with_name<R0>(int, char *haystack)
.text:00196E28 EXPORT mono_image_open_from_data_with_name
.text:00196E28 mono_image_open_from_data_with_name ; CODE XREF: sub_1398D4+170p
.text:00196E28 ; mono_image_open_from_data_full+3Cp
.text:00196E28
.text:00196E28 var_24C = -0x24C
.text:00196E28 var_248 = -0x248
.text:00196E28 var_244 = -0x244
.text:00196E28 var_240 = -0x240
.text:00196E28 s = -0x23C
.text:00196E28 var_220 = -0x220
.text:00196E28 dest = -0x138
.text:00196E28 var_11C = -0x11C
.text:00196E28 ptr = -0x34
.text:00196E28 var_30 = -0x30
.text:00196E28 var_2C = -0x2C
.text:00196E28 n = -0x28
.text:00196E28 stream = -0x24
.text:00196E28 src = -0x20
.text:00196E28 var_1C = -0x1C
.text:00196E28 var_18 = -0x18
.text:00196E28 var_14 = -0x14
.text:00196E28 var_10 = -0x10
.text:00196E28 var_C = -0xC
.text:00196E28 var_8 = -8
.text:00196E28 arg_0 = 4
.text:00196E28 haystack = 8
.text:00196E28
.text:00196E28 STMFD SP!, {R11,LR}
.text:00196E2C ADD R11, SP, #4
.text:00196E30 SUB SP, SP, #0x248
.text:00196E34 STR R0, [R11,#var_240]
.text:00196E38 STR R1, [R11,#var_244]
.text:00196E3C STR R2, [R11,#var_248]
.text:00196E40 STR R3, [R11,#var_24C]
.text:00196E44 LDR R3, =(aDataDataCom_ne - 0x196E50)
.text:00196E48 ADD R3, PC, R3 ; "/data/data/com.netease.sq"
.text:00196E4C SUB R12, R11, #-dest
.text:00196E50 MOV LR, R3
.text:00196E54 LDMIA LR!, {R0-R3} ; "/data/data/com.netease.sq"
.text:00196E58 STMIA R12!, {R0-R3}
.text:00196E5C LDMIA LR, {R0-R2}
.text:00196E60 STMIA R12!, {R0,R1}
.text:00196E64 STRH R2, [R12]
.text:00196E68 SUB R3, R11, #-var_11C
.text:00196E6C SUB R3, R3, #2
.text:00196E70 MOV R2, #0xEA ; n
.text:00196E74 MOV R0, R3 ; s
.text:00196E78 MOV R1, #0 ; c
.text:00196E7C BL memset
.text:00196E80 LDR R3, =(aDataDataCom_ne - 0x196E8C)
.text:00196E84 ADD R3, PC, R3 ; "/data/data/com.netease.sq"
.text:00196E88 SUB R12, R11, #-s
.text:00196E8C MOV LR, R3
.text:00196E90 LDMIA LR!, {R0-R3} ; "/data/data/com.netease.sq"
.text:00196E94 STMIA R12!, {R0-R3}
.text:00196E98 LDMIA LR, {R0-R2}
.text:00196E9C STMIA R12!, {R0,R1}
.text:00196EA0 STRH R2, [R12]
.text:00196EA4 SUB R3, R11, #-var_220
.text:00196EA8 SUB R3, R3, #2
.text:00196EAC MOV R2, #0xEA ; n
.text:00196EB0 MOV R0, R3 ; s
.text:00196EB4 MOV R1, #0 ; c
.text:00196EB8 BL memset
.text:00196EBC LDR R3, [R11,#var_240]
.text:00196EC0 CMP R3, #0
.text:00196EC4 BEQ loc_196ED4
.text:00196EC8 LDR R3, [R11,#var_244]
.text:00196ECC CMP R3, #0
.text:00196ED0 BNE loc_196EF4
.text:00196ED4
.text:00196ED4 loc_196ED4 ; CODE XREF: mono_image_open_from_data_with_name+9Cj
.text:00196ED4 LDR R3, [R11,#var_24C]
.text:00196ED8 CMP R3, #0
.text:00196EDC BEQ loc_196EEC
.text:00196EE0 LDR R3, [R11,#var_24C]
.text:00196EE4 MOV R2, #3
.text:00196EE8 STR R2, [R3]
.text:00196EEC
.text:00196EEC loc_196EEC ; CODE XREF: mono_image_open_from_data_with_name+B4j
.text:00196EEC MOV R3, #0
.text:00196EF0 B loc_1974BC
.text:00196EF4 ; ---------------------------------------------------------------------------
.text:00196EF4
.text:00196EF4 loc_196EF4 ; CODE XREF: mono_image_open_from_data_with_name+A8j
.text:00196EF4 LDR R3, [R11,#haystack]
.text:00196EF8 CMP R3, #0
.text:00196EFC BEQ loc_197328
.text:00196F00 LDR R0, [R11,#haystack] ; haystack
.text:00196F04 LDR R3, =(aAssemblyCsharp - 0x196F10)
.text:00196F08 ADD R3, PC, R3 ; "Assembly-CSharp.dll"
.text:00196F0C MOV R1, R3 ; needle
.text:00196F10 BL strstr
.text:00196F14 MOV R3, R0
.text:00196F18 CMP R3, #0
.text:00196F1C BEQ loc_197328
.text:00196F20 LDR R3, =(dword_3B4DD4 - 0x196F2C)
.text:00196F24 ADD R3, PC, R3 ; dword_3B4DD4
.text:00196F28 LDR R3, [R3]
.text:00196F2C MOV R0, R3
.text:00196F30 LDR R3, =(aUnityengine_0 - 0x196F3C)
.text:00196F34 ADD R3, PC, R3 ; "UnityEngine"
.text:00196F38 MOV R1, R3
.text:00196F3C LDR R3, =(aApplication - 0x196F48)
.text:00196F40 ADD R3, PC, R3 ; "Application"
.text:00196F44 MOV R2, R3
.text:00196F48 BL mono_class_from_name
.text:00196F4C STR R0, [R11,#var_14]
.text:00196F50 LDR R0, [R11,#var_14]
.text:00196F54 LDR R3, =(aTemporarycache - 0x196F60)
.text:00196F58 ADD R3, PC, R3 ; "temporaryCachePath"
.text:00196F5C MOV R1, R3
.text:00196F60 BL mono_class_get_property_from_name
.text:00196F64 STR R0, [R11,#var_18]
.text:00196F68 LDR R0, [R11,#var_18]
.text:00196F6C MOV R1, #0
.text:00196F70 MOV R2, #0
.text:00196F74 MOV R3, #0
.text:00196F78 BL mono_property_get_value
.text:00196F7C STR R0, [R11,#var_1C]
.text:00196F80 LDR R0, [R11,#var_1C]
.text:00196F84 BL mono_string_to_utf8
.text:00196F88 STR R0, [R11,#src]
.text:00196F8C SUB R3, R11, #-dest
.text:00196F90 MOV R0, R3 ; dest
.text:00196F94 LDR R1, [R11,#src] ; src
.text:00196F98 BL strcpy
.text:00196F9C SUB R3, R11, #-s
.text:00196FA0 MOV R0, R3 ; dest
.text:00196FA4 LDR R1, [R11,#src] ; src
.text:00196FA8 BL strcpy
.text:00196FAC LDR R0, [R11,#src]
.text:00196FB0 BL g_free
.text:00196FB4 SUB R3, R11, #-dest
.text:00196FB8 MOV R0, R3 ; s
.text:00196FBC BL strlen
.text:00196FC0 MOV R3, R0
.text:00196FC4 SUB R2, R11, #-dest
.text:00196FC8 ADD R2, R2, R3
.text:00196FCC LDR R3, =(aCacheM000_byte - 0x196FD8)
.text:00196FD0 ADD R3, PC, R3 ; "/cache/M000.bytes.tmp"
.text:00196FD4 MOV LR, R2
.text:00196FD8 MOV R12, R3
.text:00196FDC LDMIA R12!, {R0-R3} ; "/cache/M000.bytes.tmp"
.text:00196FE0 STR R0, [LR]
.text:00196FE4 STR R1, [LR,#4]
.text:00196FE8 STR R2, [LR,#8]
.text:00196FEC STR R3, [LR,#0xC]
.text:00196FF0 LDR R0, [R12]
.text:00196FF4 STR R0, [LR,#0x10]
.text:00196FF8 LDRH R3, [R12,#4]
.text:00196FFC STRH R3, [LR,#0x14]
.text:00197000 SUB R3, R11, #-s
.text:00197004 MOV R0, R3 ; s
.text:00197008 BL strlen
.text:0019700C MOV R3, R0
.text:00197010 SUB R2, R11, #-s
.text:00197014 ADD R2, R2, R3
.text:00197018 LDR R3, =(aCacheM000_by_0 - 0x197024)
.text:0019701C ADD R3, PC, R3 ; "/cache/M000.bytes"
.text:00197020 MOV LR, R2
.text:00197024 MOV R12, R3
.text:00197028 LDMIA R12!, {R0-R3} ; "/cache/M000.bytes"
.text:0019702C STR R0, [LR]
.text:00197030 STR R1, [LR,#4]
.text:00197034 STR R2, [LR,#8]
.text:00197038 STR R3, [LR,#0xC]
.text:0019703C LDRH R3, [R12]
.text:00197040 STRH R3, [LR,#0x10]
.text:00197044 SUB R3, R11, #-dest
.text:00197048 MOV R0, R3 ; filename
.text:0019704C LDR R3, =(aRb - 0x197058)
.text:00197050 ADD R3, PC, R3 ; "rb"
.text:00197054 MOV R1, R3 ; modes
.text:00197058 BL fopen
.text:0019705C STR R0, [R11,#stream]
.text:00197060 LDR R3, [R11,#stream]
.text:00197064 CMP R3, #0
.text:00197068 BEQ loc_197094
.text:0019706C SUB R3, R11, #-s
.text:00197070 MOV R0, R3
.text:00197074 NOP
.text:00197078 LDR R0, [R11,#stream] ; stream
.text:0019707C BL fclose
.text:00197080 SUB R2, R11, #-dest
.text:00197084 SUB R3, R11, #-s
.text:00197088 MOV R0, R2 ; old
.text:0019708C MOV R1, R3 ; new
.text:00197090 BL rename
.text:00197094
.text:00197094 loc_197094 ; CODE XREF: mono_image_open_from_data_with_name+240j
.text:00197094 SUB R3, R11, #-s
.text:00197098 MOV R0, R3 ; filename
.text:0019709C LDR R3, =(aRb - 0x1970A8)
.text:001970A0 ADD R3, PC, R3 ; "rb"
.text:001970A4 MOV R1, R3 ; modes
.text:001970A8 BL fopen
.text:001970AC STR R0, [R11,#stream]
.text:001970B0 LDR R3, [R11,#stream]
.text:001970B4 CMP R3, #0
.text:001970B8 BNE loc_1970E4
.text:001970BC LDR R3, [R11,#var_244]
.text:001970C0 SUB R3, R3, #0xC
.text:001970C4 STR R3, [R11,#var_244]
.text:001970C8 LDR R3, [R11,#var_240]
.text:001970CC ADD R3, R3, #0xC
.text:001970D0 MOV R0, R3
.text:001970D4 LDR R1, [R11,#var_244]
.text:001970D8 BL mono_image_encrypt
.text:001970DC STR R0, [R11,#var_240]
.text:001970E0 B loc_197328
.text:001970E4 ; ---------------------------------------------------------------------------
.text:001970E4
.text:001970E4 loc_1970E4 ; CODE XREF: mono_image_open_from_data_with_name+290j
.text:001970E4 LDR R0, [R11,#stream] ; stream
.text:001970E8 MOV R1, #0 ; off
.text:001970EC MOV R2, #2 ; whence
.text:001970F0 BL fseek
.text:001970F4 LDR R0, [R11,#stream] ; stream
.text:001970F8 BL ftell
.text:001970FC STR R0, [R11,#n]
.text:00197100 LDR R0, [R11,#stream] ; stream
.text:00197104 MOV R1, #0 ; off
.text:00197108 MOV R2, #0 ; whence
.text:0019710C BL fseek
.text:00197110 LDR R3, [R11,#n]
.text:00197114 CMP R3, #0
.text:00197118 BGE loc_19712C
.text:0019711C LDR R0, [R11,#stream] ; stream
.text:00197120 BL fclose
.text:00197124 MOV R3, #0
.text:00197128 B loc_1974BC
.text:0019712C ; ---------------------------------------------------------------------------
.text:0019712C
.text:0019712C loc_19712C ; CODE XREF: mono_image_open_from_data_with_name+2F0j
.text:0019712C MOV R3, #0
.text:00197130 STR R3, [R11,#ptr]
.text:00197134 MOV R3, #0
.text:00197138 STR R3, [R11,#var_C]
.text:0019713C B loc_197224
.text:00197140 ; ---------------------------------------------------------------------------
.text:00197140
.text:00197140 loc_197140 ; CODE XREF: mono_image_open_from_data_with_name+404j
.text:00197140 SUB R3, R11, #-ptr
.text:00197144 MOV R0, R3 ; ptr
.text:00197148 MOV R1, #1 ; size
.text:0019714C MOV R2, #4 ; n
.text:00197150 LDR R3, [R11,#stream] ; stream
.text:00197154 BL fread
.text:00197158 LDR R3, [R11,#var_10]
.text:0019715C CMN R3, #1
.text:00197160 BEQ loc_197200
.text:00197164 LDR R3, [R11,#var_C]
.text:00197168 MOV R3, R3,LSL#2
.text:0019716C LDR R2, [R11,#var_240]
.text:00197170 ADD R3, R2, R3
.text:00197174 LDRB R3, [R3]
.text:00197178 STR R3, [R11,#var_10]
.text:0019717C LDR R3, [R11,#var_C]
.text:00197180 MOV R3, R3,LSL#2
.text:00197184 ADD R3, R3, #1
.text:00197188 LDR R2, [R11,#var_240]
.text:0019718C ADD R3, R2, R3
.text:00197190 LDRB R3, [R3]
.text:00197194 MOV R3, R3,LSL#8
.text:00197198 UXTH R3, R3
.text:0019719C LDR R2, [R11,#var_10]
.text:001971A0 ORR R3, R2, R3
.text:001971A4 STR R3, [R11,#var_10]
.text:001971A8 LDR R3, [R11,#var_C]
.text:001971AC MOV R3, R3,LSL#2
.text:001971B0 ADD R3, R3, #2
.text:001971B4 LDR R2, [R11,#var_240]
.text:001971B8 ADD R3, R2, R3
.text:001971BC LDRB R3, [R3]
.text:001971C0 MOV R3, R3,LSL#16
.text:001971C4 AND R3, R3, #0xFF0000
.text:001971C8 LDR R2, [R11,#var_10]
.text:001971CC ORR R3, R2, R3
.text:001971D0 STR R3, [R11,#var_10]
.text:001971D4 LDR R3, [R11,#var_C]
.text:001971D8 MOV R3, R3,LSL#2
.text:001971DC ADD R3, R3, #3
.text:001971E0 LDR R2, [R11,#var_240]
.text:001971E4 ADD R3, R2, R3
.text:001971E8 LDRB R3, [R3]
.text:001971EC MOV R3, R3,LSL#24
.text:001971F0 MOV R2, R3
.text:001971F4 LDR R3, [R11,#var_10]
.text:001971F8 ORR R3, R2, R3
.text:001971FC STR R3, [R11,#var_10]
.text:00197200
.text:00197200 loc_197200 ; CODE XREF: mono_image_open_from_data_with_name+338j
.text:00197200 LDR R2, [R11,#ptr]
.text:00197204 LDR R3, [R11,#var_10]
.text:00197208 CMP R2, R3
.text:0019720C BEQ loc_197218
.text:00197210 MOV R3, #0xFFFFFFFF
.text:00197214 STR R3, [R11,#var_10]
.text:00197218
.text:00197218 loc_197218 ; CODE XREF: mono_image_open_from_data_with_name+3E4j
.text:00197218 LDR R3, [R11,#var_C]
.text:0019721C ADD R3, R3, #1
.text:00197220 STR R3, [R11,#var_C]
.text:00197224
.text:00197224 loc_197224 ; CODE XREF: mono_image_open_from_data_with_name+314j
.text:00197224 LDR R3, [R11,#var_C]
.text:00197228 CMP R3, #2
.text:0019722C BLE loc_197140
.text:00197230 LDR R2, [R11,#ptr]
.text:00197234 LDR R3, [R11,#var_10]
.text:00197238 CMP R2, R3
.text:0019723C BLE loc_1972F8
.text:00197240 LDR R3, [R11,#n]
.text:00197244 SUB R3, R3, #0xC
.text:00197248 STR R3, [R11,#n]
.text:0019724C LDR R3, [R11,#n]
.text:00197250 MOV R0, R3
.text:00197254 BL sub_2AD650
.text:00197258 STR R0, [R11,#var_8]
.text:0019725C LDR R3, [R11,#var_8]
.text:00197260 CMP R3, #0
.text:00197264 BNE loc_197288
.text:00197268 LDR R3, [R11,#var_24C]
.text:0019726C CMP R3, #0
.text:00197270 BEQ loc_197280
.text:00197274 LDR R3, [R11,#var_24C]
.text:00197278 MOV R2, #1
.text:0019727C STR R2, [R3]
.text:00197280
.text:00197280 loc_197280 ; CODE XREF: mono_image_open_from_data_with_name+448j
.text:00197280 MOV R3, #0
.text:00197284 B loc_1974BC
.text:00197288 ; ---------------------------------------------------------------------------
.text:00197288
.text:00197288 loc_197288 ; CODE XREF: mono_image_open_from_data_with_name+43Cj
.text:00197288 LDR R3, [R11,#n]
.text:0019728C LDR R0, [R11,#var_8] ; ptr
.text:00197290 MOV R1, #1 ; size
.text:00197294 MOV R2, R3 ; n
.text:00197298 LDR R3, [R11,#stream] ; stream
.text:0019729C BL fread
.text:001972A0 MOV R3, R0
.text:001972A4 STR R3, [R11,#var_C]
.text:001972A8 LDR R0, [R11,#stream] ; stream
.text:001972AC BL fclose
.text:001972B0 LDR R2, [R11,#var_C]
.text:001972B4 LDR R3, [R11,#n]
.text:001972B8 CMP R2, R3
.text:001972BC BEQ loc_1972D8
.text:001972C0 LDR R3, [R11,#var_C]
.text:001972C4 LDR R0, [R11,#var_8]
.text:001972C8 MOV R1, R3
.text:001972CC BL sub_2AD5F4
.text:001972D0 MOV R3, #0
.text:001972D4 B loc_1974BC
.text:001972D8 ; ---------------------------------------------------------------------------
.text:001972D8
.text:001972D8 loc_1972D8 ; CODE XREF: mono_image_open_from_data_with_name+494j
.text:001972D8 LDR R3, [R11,#n]
.text:001972DC STR R3, [R11,#var_244]
.text:001972E0 LDR R3, [R11,#n]
.text:001972E4 LDR R0, [R11,#var_8]
.text:001972E8 MOV R1, R3
.text:001972EC BL mono_image_encrypt
.text:001972F0 STR R0, [R11,#var_8]
.text:001972F4 B loc_197384
.text:001972F8 ; ---------------------------------------------------------------------------
.text:001972F8
.text:001972F8 loc_1972F8 ; CODE XREF: mono_image_open_from_data_with_name+414j
.text:001972F8 LDR R0, [R11,#stream] ; stream
.text:001972FC BL fclose
.text:00197300 LDR R3, [R11,#var_244]
.text:00197304 SUB R3, R3, #0xC
.text:00197308 STR R3, [R11,#var_244]
.text:0019730C LDR R3, [R11,#var_240]
.text:00197310 ADD R3, R3, #0xC
.text:00197314 MOV R0, R3
.text:00197318 LDR R1, [R11,#var_244]
.text:0019731C BL mono_image_encrypt
.text:00197320 STR R0, [R11,#var_240]
.text:00197324 NOP
.text:00197328
.text:00197328 loc_197328 ; CODE XREF: mono_image_open_from_data_with_name+D4j
.text:00197328 ; mono_image_open_from_data_with_name+F4j ...
.text:00197328 LDR R3, [R11,#var_240]
.text:0019732C STR R3, [R11,#var_8]
.text:00197330 LDR R3, [R11,#var_248]
.text:00197334 CMP R3, #0
.text:00197338 BEQ loc_197384
.text:0019733C LDR R0, [R11,#var_244]
.text:00197340 BL sub_2AD650
.text:00197344 STR R0, [R11,#var_8]
.text:00197348 LDR R3, [R11,#var_8]
.text:0019734C CMP R3, #0
.text:00197350 BNE loc_197374
.text:00197354 LDR R3, [R11,#var_24C]
.text:00197358 CMP R3, #0
.text:0019735C BEQ loc_19736C
.text:00197360 LDR R3, [R11,#var_24C]
.text:00197364 MOV R2, #1
.text:00197368 STR R2, [R3]
.text:0019736C
.text:0019736C loc_19736C ; CODE XREF: mono_image_open_from_data_with_name+534j
.text:0019736C MOV R3, #0
.text:00197370 B loc_1974BC
.text:00197374 ; ---------------------------------------------------------------------------
.text:00197374
.text:00197374 loc_197374 ; CODE XREF: mono_image_open_from_data_with_name+528j
.text:00197374 LDR R0, [R11,#var_8] ; dest
.text:00197378 LDR R1, [R11,#var_240] ; src
.text:0019737C LDR R2, [R11,#var_244] ; n
.text:00197380 BL memcpy
.text:00197384
.text:00197384 loc_197384 ; CODE XREF: mono_image_open_from_data_with_name+4CCj
.text:00197384 ; mono_image_open_from_data_with_name+510j
.text:00197384 MOV R0, #0x368
.text:00197388 BL sub_2AD69C
.text:0019738C STR R0, [R11,#var_2C]
.text:00197390 LDR R3, [R11,#var_2C]
.text:00197394 LDR R2, [R11,#var_8]
.text:00197398 STR R2, [R3,#8]
.text:0019739C LDR R3, [R11,#var_2C]
.text:001973A0 LDR R2, [R11,#var_244]
.text:001973A4 STR R2, [R3,#0xC]
.text:001973A8 LDR R3, [R11,#var_248]
.text:001973AC UXTB R3, R3
.text:001973B0 AND R3, R3, #1
.text:001973B4 UXTB R1, R3
.text:001973B8 LDR R2, [R11,#var_2C]
.text:001973BC LDRB R3, [R2,#0x10]
.text:001973C0 BFI R3, R1, #1, #1
.text:001973C4 STRB R3, [R2,#0x10]
.text:001973C8 LDR R3, [R11,#haystack]
.text:001973CC CMP R3, #0
.text:001973D0 BNE loc_1973F0
.text:001973D4 LDR R3, =(aDataP - 0x1973E0)
.text:001973D8 ADD R3, PC, R3 ; "data-%p"
.text:001973DC MOV R0, R3
.text:001973E0 LDR R1, [R11,#var_8]
.text:001973E4 BL sub_2ADFD8
.text:001973E8 MOV R3, R0
.text:001973EC B loc_1973FC
.text:001973F0 ; ---------------------------------------------------------------------------
.text:001973F0
.text:001973F0 loc_1973F0 ; CODE XREF: mono_image_open_from_data_with_name+5A8j
.text:001973F0 LDR R0, [R11,#haystack]
.text:001973F4 BL sub_2AD74C
.text:001973F8 MOV R3, R0
.text:001973FC
.text:001973FC loc_1973FC ; CODE XREF: mono_image_open_from_data_with_name+5C4j
.text:001973FC LDR R2, [R11,#var_2C]
.text:00197400 STR R3, [R2,#0x14]
.text:00197404 MOV R0, #0x18C
.text:00197408 BL sub_2AD69C
.text:0019740C STR R0, [R11,#var_30]
.text:00197410 LDR R3, [R11,#var_2C]
.text:00197414 LDR R2, [R11,#var_30]
.text:00197418 STR R2, [R3,#0x2C]
.text:0019741C LDR R3, [R11,#arg_0]
.text:00197420 UXTB R3, R3
.text:00197424 AND R3, R3, #1
.text:00197428 UXTB R1, R3
.text:0019742C LDR R2, [R11,#var_2C]
.text:00197430 LDRB R3, [R2,#0x10]
.text:00197434 BFI R3, R1, #3, #1
.text:00197438 STRB R3, [R2,#0x10]
.text:0019743C LDR R3, [R11,#var_2C]
.text:00197440 MOV R2, #1
.text:00197444 STR R2, [R3]
.text:00197448 LDR R0, [R11,#var_2C]
.text:0019744C LDR R1, [R11,#var_24C]
.text:00197450 MOV R2, #1
.text:00197454 MOV R3, #1
.text:00197458 BL sub_196274
.text:0019745C STR R0, [R11,#var_2C]
.text:00197460 LDR R3, [R11,#var_2C]
.text:00197464 CMP R3, #0
.text:00197468 BNE loc_197474
.text:0019746C MOV R3, #0
.text:00197470 B loc_1974BC
.text:00197474 ; ---------------------------------------------------------------------------
.text:00197474
.text:00197474 loc_197474 ; CODE XREF: mono_image_open_from_data_with_name+640j
.text:00197474 LDR R3, [R11,#haystack]
.text:00197478 CMP R3, #0
.text:0019747C BEQ loc_1974B0
.text:00197480 LDR R0, [R11,#haystack] ; haystack
.text:00197484 LDR R3, =(aUnityengine_dl - 0x197490)
.text:00197488 ADD R3, PC, R3 ; "UnityEngine.dll"
.text:0019748C MOV R1, R3 ; needle
.text:00197490 BL strstr
.text:00197494 MOV R3, R0
.text:00197498 CMP R3, #0
.text:0019749C BEQ loc_1974B0
.text:001974A0 LDR R3, =(dword_3B4DD4 - 0x1974AC)
.text:001974A4 ADD R3, PC, R3 ; dword_3B4DD4
.text:001974A8 LDR R2, [R11,#var_2C]
.text:001974AC STR R2, [R3]
.text:001974B0
.text:001974B0 loc_1974B0 ; CODE XREF: mono_image_open_from_data_with_name+654j
.text:001974B0 ; mono_image_open_from_data_with_name+674j
.text:001974B0 LDR R0, [R11,#var_2C]
.text:001974B4 BL sub_196A60
.text:001974B8 MOV R3, R0
.text:001974BC
.text:001974BC loc_1974BC ; CODE XREF: mono_image_open_from_data_with_name+C8j
.text:001974BC ; mono_image_open_from_data_with_name+300j ...
.text:001974BC MOV R0, R3
.text:001974C0 SUB SP, R11, #4
.text:001974C4 LDMFD SP!, {R11,PC}
求大神帮看下 是什么导致的f5失效
.text:00196E28 EXPORT mono_image_open_from_data_with_name
.text:00196E28 mono_image_open_from_data_with_name ; CODE XREF: sub_1398D4+170p
.text:00196E28 ; mono_image_open_from_data_full+3Cp
.text:00196E28
.text:00196E28 var_24C = -0x24C
.text:00196E28 var_248 = -0x248
.text:00196E28 var_244 = -0x244
.text:00196E28 var_240 = -0x240
.text:00196E28 s = -0x23C
.text:00196E28 var_220 = -0x220
.text:00196E28 dest = -0x138
.text:00196E28 var_11C = -0x11C
.text:00196E28 ptr = -0x34
.text:00196E28 var_30 = -0x30
.text:00196E28 var_2C = -0x2C
.text:00196E28 n = -0x28
.text:00196E28 stream = -0x24
.text:00196E28 src = -0x20
.text:00196E28 var_1C = -0x1C
.text:00196E28 var_18 = -0x18
.text:00196E28 var_14 = -0x14
.text:00196E28 var_10 = -0x10
.text:00196E28 var_C = -0xC
.text:00196E28 var_8 = -8
.text:00196E28 arg_0 = 4
.text:00196E28 haystack = 8
.text:00196E28
.text:00196E28 STMFD SP!, {R11,LR}
.text:00196E2C ADD R11, SP, #4
.text:00196E30 SUB SP, SP, #0x248
.text:00196E34 STR R0, [R11,#var_240]
.text:00196E38 STR R1, [R11,#var_244]
.text:00196E3C STR R2, [R11,#var_248]
.text:00196E40 STR R3, [R11,#var_24C]
.text:00196E44 LDR R3, =(aDataDataCom_ne - 0x196E50)
.text:00196E48 ADD R3, PC, R3 ; "/data/data/com.netease.sq"
.text:00196E4C SUB R12, R11, #-dest
.text:00196E50 MOV LR, R3
.text:00196E54 LDMIA LR!, {R0-R3} ; "/data/data/com.netease.sq"
.text:00196E58 STMIA R12!, {R0-R3}
.text:00196E5C LDMIA LR, {R0-R2}
.text:00196E60 STMIA R12!, {R0,R1}
.text:00196E64 STRH R2, [R12]
.text:00196E68 SUB R3, R11, #-var_11C
.text:00196E6C SUB R3, R3, #2
.text:00196E70 MOV R2, #0xEA ; n
.text:00196E74 MOV R0, R3 ; s
.text:00196E78 MOV R1, #0 ; c
.text:00196E7C BL memset
.text:00196E80 LDR R3, =(aDataDataCom_ne - 0x196E8C)
.text:00196E84 ADD R3, PC, R3 ; "/data/data/com.netease.sq"
.text:00196E88 SUB R12, R11, #-s
.text:00196E8C MOV LR, R3
.text:00196E90 LDMIA LR!, {R0-R3} ; "/data/data/com.netease.sq"
.text:00196E94 STMIA R12!, {R0-R3}
.text:00196E98 LDMIA LR, {R0-R2}
.text:00196E9C STMIA R12!, {R0,R1}
.text:00196EA0 STRH R2, [R12]
.text:00196EA4 SUB R3, R11, #-var_220
.text:00196EA8 SUB R3, R3, #2
.text:00196EAC MOV R2, #0xEA ; n
.text:00196EB0 MOV R0, R3 ; s
.text:00196EB4 MOV R1, #0 ; c
.text:00196EB8 BL memset
.text:00196EBC LDR R3, [R11,#var_240]
.text:00196EC0 CMP R3, #0
.text:00196EC4 BEQ loc_196ED4
.text:00196EC8 LDR R3, [R11,#var_244]
.text:00196ECC CMP R3, #0
.text:00196ED0 BNE loc_196EF4
.text:00196ED4
.text:00196ED4 loc_196ED4 ; CODE XREF: mono_image_open_from_data_with_name+9Cj
.text:00196ED4 LDR R3, [R11,#var_24C]
.text:00196ED8 CMP R3, #0
.text:00196EDC BEQ loc_196EEC
.text:00196EE0 LDR R3, [R11,#var_24C]
.text:00196EE4 MOV R2, #3
.text:00196EE8 STR R2, [R3]
.text:00196EEC
.text:00196EEC loc_196EEC ; CODE XREF: mono_image_open_from_data_with_name+B4j
.text:00196EEC MOV R3, #0
.text:00196EF0 B loc_1974BC
.text:00196EF4 ; ---------------------------------------------------------------------------
.text:00196EF4
.text:00196EF4 loc_196EF4 ; CODE XREF: mono_image_open_from_data_with_name+A8j
.text:00196EF4 LDR R3, [R11,#haystack]
.text:00196EF8 CMP R3, #0
.text:00196EFC BEQ loc_197328
.text:00196F00 LDR R0, [R11,#haystack] ; haystack
.text:00196F04 LDR R3, =(aAssemblyCsharp - 0x196F10)
.text:00196F08 ADD R3, PC, R3 ; "Assembly-CSharp.dll"
.text:00196F0C MOV R1, R3 ; needle
.text:00196F10 BL strstr
.text:00196F14 MOV R3, R0
.text:00196F18 CMP R3, #0
.text:00196F1C BEQ loc_197328
.text:00196F20 LDR R3, =(dword_3B4DD4 - 0x196F2C)
.text:00196F24 ADD R3, PC, R3 ; dword_3B4DD4
.text:00196F28 LDR R3, [R3]
.text:00196F2C MOV R0, R3
.text:00196F30 LDR R3, =(aUnityengine_0 - 0x196F3C)
.text:00196F34 ADD R3, PC, R3 ; "UnityEngine"
.text:00196F38 MOV R1, R3
.text:00196F3C LDR R3, =(aApplication - 0x196F48)
.text:00196F40 ADD R3, PC, R3 ; "Application"
.text:00196F44 MOV R2, R3
.text:00196F48 BL mono_class_from_name
.text:00196F4C STR R0, [R11,#var_14]
.text:00196F50 LDR R0, [R11,#var_14]
.text:00196F54 LDR R3, =(aTemporarycache - 0x196F60)
.text:00196F58 ADD R3, PC, R3 ; "temporaryCachePath"
.text:00196F5C MOV R1, R3
.text:00196F60 BL mono_class_get_property_from_name
.text:00196F64 STR R0, [R11,#var_18]
.text:00196F68 LDR R0, [R11,#var_18]
.text:00196F6C MOV R1, #0
.text:00196F70 MOV R2, #0
.text:00196F74 MOV R3, #0
.text:00196F78 BL mono_property_get_value
.text:00196F7C STR R0, [R11,#var_1C]
.text:00196F80 LDR R0, [R11,#var_1C]
.text:00196F84 BL mono_string_to_utf8
.text:00196F88 STR R0, [R11,#src]
.text:00196F8C SUB R3, R11, #-dest
.text:00196F90 MOV R0, R3 ; dest
.text:00196F94 LDR R1, [R11,#src] ; src
.text:00196F98 BL strcpy
.text:00196F9C SUB R3, R11, #-s
.text:00196FA0 MOV R0, R3 ; dest
.text:00196FA4 LDR R1, [R11,#src] ; src
.text:00196FA8 BL strcpy
.text:00196FAC LDR R0, [R11,#src]
.text:00196FB0 BL g_free
.text:00196FB4 SUB R3, R11, #-dest
.text:00196FB8 MOV R0, R3 ; s
.text:00196FBC BL strlen
.text:00196FC0 MOV R3, R0
.text:00196FC4 SUB R2, R11, #-dest
.text:00196FC8 ADD R2, R2, R3
.text:00196FCC LDR R3, =(aCacheM000_byte - 0x196FD8)
.text:00196FD0 ADD R3, PC, R3 ; "/cache/M000.bytes.tmp"
.text:00196FD4 MOV LR, R2
.text:00196FD8 MOV R12, R3
.text:00196FDC LDMIA R12!, {R0-R3} ; "/cache/M000.bytes.tmp"
.text:00196FE0 STR R0, [LR]
.text:00196FE4 STR R1, [LR,#4]
.text:00196FE8 STR R2, [LR,#8]
.text:00196FEC STR R3, [LR,#0xC]
.text:00196FF0 LDR R0, [R12]
.text:00196FF4 STR R0, [LR,#0x10]
.text:00196FF8 LDRH R3, [R12,#4]
.text:00196FFC STRH R3, [LR,#0x14]
.text:00197000 SUB R3, R11, #-s
.text:00197004 MOV R0, R3 ; s
.text:00197008 BL strlen
.text:0019700C MOV R3, R0
.text:00197010 SUB R2, R11, #-s
.text:00197014 ADD R2, R2, R3
.text:00197018 LDR R3, =(aCacheM000_by_0 - 0x197024)
.text:0019701C ADD R3, PC, R3 ; "/cache/M000.bytes"
.text:00197020 MOV LR, R2
.text:00197024 MOV R12, R3
.text:00197028 LDMIA R12!, {R0-R3} ; "/cache/M000.bytes"
.text:0019702C STR R0, [LR]
.text:00197030 STR R1, [LR,#4]
.text:00197034 STR R2, [LR,#8]
.text:00197038 STR R3, [LR,#0xC]
.text:0019703C LDRH R3, [R12]
.text:00197040 STRH R3, [LR,#0x10]
.text:00197044 SUB R3, R11, #-dest
.text:00197048 MOV R0, R3 ; filename
.text:0019704C LDR R3, =(aRb - 0x197058)
.text:00197050 ADD R3, PC, R3 ; "rb"
.text:00197054 MOV R1, R3 ; modes
.text:00197058 BL fopen
.text:0019705C STR R0, [R11,#stream]
.text:00197060 LDR R3, [R11,#stream]
.text:00197064 CMP R3, #0
.text:00197068 BEQ loc_197094
.text:0019706C SUB R3, R11, #-s
.text:00197070 MOV R0, R3
.text:00197074 NOP
.text:00197078 LDR R0, [R11,#stream] ; stream
.text:0019707C BL fclose
.text:00197080 SUB R2, R11, #-dest
.text:00197084 SUB R3, R11, #-s
.text:00197088 MOV R0, R2 ; old
.text:0019708C MOV R1, R3 ; new
.text:00197090 BL rename
.text:00197094
.text:00197094 loc_197094 ; CODE XREF: mono_image_open_from_data_with_name+240j
.text:00197094 SUB R3, R11, #-s
.text:00197098 MOV R0, R3 ; filename
.text:0019709C LDR R3, =(aRb - 0x1970A8)
.text:001970A0 ADD R3, PC, R3 ; "rb"
.text:001970A4 MOV R1, R3 ; modes
.text:001970A8 BL fopen
.text:001970AC STR R0, [R11,#stream]
.text:001970B0 LDR R3, [R11,#stream]
.text:001970B4 CMP R3, #0
.text:001970B8 BNE loc_1970E4
.text:001970BC LDR R3, [R11,#var_244]
.text:001970C0 SUB R3, R3, #0xC
.text:001970C4 STR R3, [R11,#var_244]
.text:001970C8 LDR R3, [R11,#var_240]
.text:001970CC ADD R3, R3, #0xC
.text:001970D0 MOV R0, R3
.text:001970D4 LDR R1, [R11,#var_244]
.text:001970D8 BL mono_image_encrypt
.text:001970DC STR R0, [R11,#var_240]
.text:001970E0 B loc_197328
.text:001970E4 ; ---------------------------------------------------------------------------
.text:001970E4
.text:001970E4 loc_1970E4 ; CODE XREF: mono_image_open_from_data_with_name+290j
.text:001970E4 LDR R0, [R11,#stream] ; stream
.text:001970E8 MOV R1, #0 ; off
.text:001970EC MOV R2, #2 ; whence
.text:001970F0 BL fseek
.text:001970F4 LDR R0, [R11,#stream] ; stream
.text:001970F8 BL ftell
.text:001970FC STR R0, [R11,#n]
.text:00197100 LDR R0, [R11,#stream] ; stream
.text:00197104 MOV R1, #0 ; off
.text:00197108 MOV R2, #0 ; whence
.text:0019710C BL fseek
.text:00197110 LDR R3, [R11,#n]
.text:00197114 CMP R3, #0
.text:00197118 BGE loc_19712C
.text:0019711C LDR R0, [R11,#stream] ; stream
.text:00197120 BL fclose
.text:00197124 MOV R3, #0
.text:00197128 B loc_1974BC
.text:0019712C ; ---------------------------------------------------------------------------
.text:0019712C
.text:0019712C loc_19712C ; CODE XREF: mono_image_open_from_data_with_name+2F0j
.text:0019712C MOV R3, #0
.text:00197130 STR R3, [R11,#ptr]
.text:00197134 MOV R3, #0
.text:00197138 STR R3, [R11,#var_C]
.text:0019713C B loc_197224
.text:00197140 ; ---------------------------------------------------------------------------
.text:00197140
.text:00197140 loc_197140 ; CODE XREF: mono_image_open_from_data_with_name+404j
.text:00197140 SUB R3, R11, #-ptr
.text:00197144 MOV R0, R3 ; ptr
.text:00197148 MOV R1, #1 ; size
.text:0019714C MOV R2, #4 ; n
.text:00197150 LDR R3, [R11,#stream] ; stream
.text:00197154 BL fread
.text:00197158 LDR R3, [R11,#var_10]
.text:0019715C CMN R3, #1
.text:00197160 BEQ loc_197200
.text:00197164 LDR R3, [R11,#var_C]
.text:00197168 MOV R3, R3,LSL#2
.text:0019716C LDR R2, [R11,#var_240]
.text:00197170 ADD R3, R2, R3
.text:00197174 LDRB R3, [R3]
.text:00197178 STR R3, [R11,#var_10]
.text:0019717C LDR R3, [R11,#var_C]
.text:00197180 MOV R3, R3,LSL#2
.text:00197184 ADD R3, R3, #1
.text:00197188 LDR R2, [R11,#var_240]
.text:0019718C ADD R3, R2, R3
.text:00197190 LDRB R3, [R3]
.text:00197194 MOV R3, R3,LSL#8
.text:00197198 UXTH R3, R3
.text:0019719C LDR R2, [R11,#var_10]
.text:001971A0 ORR R3, R2, R3
.text:001971A4 STR R3, [R11,#var_10]
.text:001971A8 LDR R3, [R11,#var_C]
.text:001971AC MOV R3, R3,LSL#2
.text:001971B0 ADD R3, R3, #2
.text:001971B4 LDR R2, [R11,#var_240]
.text:001971B8 ADD R3, R2, R3
.text:001971BC LDRB R3, [R3]
.text:001971C0 MOV R3, R3,LSL#16
.text:001971C4 AND R3, R3, #0xFF0000
.text:001971C8 LDR R2, [R11,#var_10]
.text:001971CC ORR R3, R2, R3
.text:001971D0 STR R3, [R11,#var_10]
.text:001971D4 LDR R3, [R11,#var_C]
.text:001971D8 MOV R3, R3,LSL#2
.text:001971DC ADD R3, R3, #3
.text:001971E0 LDR R2, [R11,#var_240]
.text:001971E4 ADD R3, R2, R3
.text:001971E8 LDRB R3, [R3]
.text:001971EC MOV R3, R3,LSL#24
.text:001971F0 MOV R2, R3
.text:001971F4 LDR R3, [R11,#var_10]
.text:001971F8 ORR R3, R2, R3
.text:001971FC STR R3, [R11,#var_10]
.text:00197200
.text:00197200 loc_197200 ; CODE XREF: mono_image_open_from_data_with_name+338j
.text:00197200 LDR R2, [R11,#ptr]
.text:00197204 LDR R3, [R11,#var_10]
.text:00197208 CMP R2, R3
.text:0019720C BEQ loc_197218
.text:00197210 MOV R3, #0xFFFFFFFF
.text:00197214 STR R3, [R11,#var_10]
.text:00197218
.text:00197218 loc_197218 ; CODE XREF: mono_image_open_from_data_with_name+3E4j
.text:00197218 LDR R3, [R11,#var_C]
.text:0019721C ADD R3, R3, #1
.text:00197220 STR R3, [R11,#var_C]
.text:00197224
.text:00197224 loc_197224 ; CODE XREF: mono_image_open_from_data_with_name+314j
.text:00197224 LDR R3, [R11,#var_C]
.text:00197228 CMP R3, #2
.text:0019722C BLE loc_197140
.text:00197230 LDR R2, [R11,#ptr]
.text:00197234 LDR R3, [R11,#var_10]
.text:00197238 CMP R2, R3
.text:0019723C BLE loc_1972F8
.text:00197240 LDR R3, [R11,#n]
.text:00197244 SUB R3, R3, #0xC
.text:00197248 STR R3, [R11,#n]
.text:0019724C LDR R3, [R11,#n]
.text:00197250 MOV R0, R3
.text:00197254 BL sub_2AD650
.text:00197258 STR R0, [R11,#var_8]
.text:0019725C LDR R3, [R11,#var_8]
.text:00197260 CMP R3, #0
.text:00197264 BNE loc_197288
.text:00197268 LDR R3, [R11,#var_24C]
.text:0019726C CMP R3, #0
.text:00197270 BEQ loc_197280
.text:00197274 LDR R3, [R11,#var_24C]
.text:00197278 MOV R2, #1
.text:0019727C STR R2, [R3]
.text:00197280
.text:00197280 loc_197280 ; CODE XREF: mono_image_open_from_data_with_name+448j
.text:00197280 MOV R3, #0
.text:00197284 B loc_1974BC
.text:00197288 ; ---------------------------------------------------------------------------
.text:00197288
.text:00197288 loc_197288 ; CODE XREF: mono_image_open_from_data_with_name+43Cj
.text:00197288 LDR R3, [R11,#n]
.text:0019728C LDR R0, [R11,#var_8] ; ptr
.text:00197290 MOV R1, #1 ; size
.text:00197294 MOV R2, R3 ; n
.text:00197298 LDR R3, [R11,#stream] ; stream
.text:0019729C BL fread
.text:001972A0 MOV R3, R0
.text:001972A4 STR R3, [R11,#var_C]
.text:001972A8 LDR R0, [R11,#stream] ; stream
.text:001972AC BL fclose
.text:001972B0 LDR R2, [R11,#var_C]
.text:001972B4 LDR R3, [R11,#n]
.text:001972B8 CMP R2, R3
.text:001972BC BEQ loc_1972D8
.text:001972C0 LDR R3, [R11,#var_C]
.text:001972C4 LDR R0, [R11,#var_8]
.text:001972C8 MOV R1, R3
.text:001972CC BL sub_2AD5F4
.text:001972D0 MOV R3, #0
.text:001972D4 B loc_1974BC
.text:001972D8 ; ---------------------------------------------------------------------------
.text:001972D8
.text:001972D8 loc_1972D8 ; CODE XREF: mono_image_open_from_data_with_name+494j
.text:001972D8 LDR R3, [R11,#n]
.text:001972DC STR R3, [R11,#var_244]
.text:001972E0 LDR R3, [R11,#n]
.text:001972E4 LDR R0, [R11,#var_8]
.text:001972E8 MOV R1, R3
.text:001972EC BL mono_image_encrypt
.text:001972F0 STR R0, [R11,#var_8]
.text:001972F4 B loc_197384
.text:001972F8 ; ---------------------------------------------------------------------------
.text:001972F8
.text:001972F8 loc_1972F8 ; CODE XREF: mono_image_open_from_data_with_name+414j
.text:001972F8 LDR R0, [R11,#stream] ; stream
.text:001972FC BL fclose
.text:00197300 LDR R3, [R11,#var_244]
.text:00197304 SUB R3, R3, #0xC
.text:00197308 STR R3, [R11,#var_244]
.text:0019730C LDR R3, [R11,#var_240]
.text:00197310 ADD R3, R3, #0xC
.text:00197314 MOV R0, R3
.text:00197318 LDR R1, [R11,#var_244]
.text:0019731C BL mono_image_encrypt
.text:00197320 STR R0, [R11,#var_240]
.text:00197324 NOP
.text:00197328
.text:00197328 loc_197328 ; CODE XREF: mono_image_open_from_data_with_name+D4j
.text:00197328 ; mono_image_open_from_data_with_name+F4j ...
.text:00197328 LDR R3, [R11,#var_240]
.text:0019732C STR R3, [R11,#var_8]
.text:00197330 LDR R3, [R11,#var_248]
.text:00197334 CMP R3, #0
.text:00197338 BEQ loc_197384
.text:0019733C LDR R0, [R11,#var_244]
.text:00197340 BL sub_2AD650
.text:00197344 STR R0, [R11,#var_8]
.text:00197348 LDR R3, [R11,#var_8]
.text:0019734C CMP R3, #0
.text:00197350 BNE loc_197374
.text:00197354 LDR R3, [R11,#var_24C]
.text:00197358 CMP R3, #0
.text:0019735C BEQ loc_19736C
.text:00197360 LDR R3, [R11,#var_24C]
.text:00197364 MOV R2, #1
.text:00197368 STR R2, [R3]
.text:0019736C
.text:0019736C loc_19736C ; CODE XREF: mono_image_open_from_data_with_name+534j
.text:0019736C MOV R3, #0
.text:00197370 B loc_1974BC
.text:00197374 ; ---------------------------------------------------------------------------
.text:00197374
.text:00197374 loc_197374 ; CODE XREF: mono_image_open_from_data_with_name+528j
.text:00197374 LDR R0, [R11,#var_8] ; dest
.text:00197378 LDR R1, [R11,#var_240] ; src
.text:0019737C LDR R2, [R11,#var_244] ; n
.text:00197380 BL memcpy
.text:00197384
.text:00197384 loc_197384 ; CODE XREF: mono_image_open_from_data_with_name+4CCj
.text:00197384 ; mono_image_open_from_data_with_name+510j
.text:00197384 MOV R0, #0x368
.text:00197388 BL sub_2AD69C
.text:0019738C STR R0, [R11,#var_2C]
.text:00197390 LDR R3, [R11,#var_2C]
.text:00197394 LDR R2, [R11,#var_8]
.text:00197398 STR R2, [R3,#8]
.text:0019739C LDR R3, [R11,#var_2C]
.text:001973A0 LDR R2, [R11,#var_244]
.text:001973A4 STR R2, [R3,#0xC]
.text:001973A8 LDR R3, [R11,#var_248]
.text:001973AC UXTB R3, R3
.text:001973B0 AND R3, R3, #1
.text:001973B4 UXTB R1, R3
.text:001973B8 LDR R2, [R11,#var_2C]
.text:001973BC LDRB R3, [R2,#0x10]
.text:001973C0 BFI R3, R1, #1, #1
.text:001973C4 STRB R3, [R2,#0x10]
.text:001973C8 LDR R3, [R11,#haystack]
.text:001973CC CMP R3, #0
.text:001973D0 BNE loc_1973F0
.text:001973D4 LDR R3, =(aDataP - 0x1973E0)
.text:001973D8 ADD R3, PC, R3 ; "data-%p"
.text:001973DC MOV R0, R3
.text:001973E0 LDR R1, [R11,#var_8]
.text:001973E4 BL sub_2ADFD8
.text:001973E8 MOV R3, R0
.text:001973EC B loc_1973FC
.text:001973F0 ; ---------------------------------------------------------------------------
.text:001973F0
.text:001973F0 loc_1973F0 ; CODE XREF: mono_image_open_from_data_with_name+5A8j
.text:001973F0 LDR R0, [R11,#haystack]
.text:001973F4 BL sub_2AD74C
.text:001973F8 MOV R3, R0
.text:001973FC
.text:001973FC loc_1973FC ; CODE XREF: mono_image_open_from_data_with_name+5C4j
.text:001973FC LDR R2, [R11,#var_2C]
.text:00197400 STR R3, [R2,#0x14]
.text:00197404 MOV R0, #0x18C
.text:00197408 BL sub_2AD69C
.text:0019740C STR R0, [R11,#var_30]
.text:00197410 LDR R3, [R11,#var_2C]
.text:00197414 LDR R2, [R11,#var_30]
.text:00197418 STR R2, [R3,#0x2C]
.text:0019741C LDR R3, [R11,#arg_0]
.text:00197420 UXTB R3, R3
.text:00197424 AND R3, R3, #1
.text:00197428 UXTB R1, R3
.text:0019742C LDR R2, [R11,#var_2C]
.text:00197430 LDRB R3, [R2,#0x10]
.text:00197434 BFI R3, R1, #3, #1
.text:00197438 STRB R3, [R2,#0x10]
.text:0019743C LDR R3, [R11,#var_2C]
.text:00197440 MOV R2, #1
.text:00197444 STR R2, [R3]
.text:00197448 LDR R0, [R11,#var_2C]
.text:0019744C LDR R1, [R11,#var_24C]
.text:00197450 MOV R2, #1
.text:00197454 MOV R3, #1
.text:00197458 BL sub_196274
.text:0019745C STR R0, [R11,#var_2C]
.text:00197460 LDR R3, [R11,#var_2C]
.text:00197464 CMP R3, #0
.text:00197468 BNE loc_197474
.text:0019746C MOV R3, #0
.text:00197470 B loc_1974BC
.text:00197474 ; ---------------------------------------------------------------------------
.text:00197474
.text:00197474 loc_197474 ; CODE XREF: mono_image_open_from_data_with_name+640j
.text:00197474 LDR R3, [R11,#haystack]
.text:00197478 CMP R3, #0
.text:0019747C BEQ loc_1974B0
.text:00197480 LDR R0, [R11,#haystack] ; haystack
.text:00197484 LDR R3, =(aUnityengine_dl - 0x197490)
.text:00197488 ADD R3, PC, R3 ; "UnityEngine.dll"
.text:0019748C MOV R1, R3 ; needle
.text:00197490 BL strstr
.text:00197494 MOV R3, R0
.text:00197498 CMP R3, #0
.text:0019749C BEQ loc_1974B0
.text:001974A0 LDR R3, =(dword_3B4DD4 - 0x1974AC)
.text:001974A4 ADD R3, PC, R3 ; dword_3B4DD4
.text:001974A8 LDR R2, [R11,#var_2C]
.text:001974AC STR R2, [R3]
.text:001974B0
.text:001974B0 loc_1974B0 ; CODE XREF: mono_image_open_from_data_with_name+654j
.text:001974B0 ; mono_image_open_from_data_with_name+674j
.text:001974B0 LDR R0, [R11,#var_2C]
.text:001974B4 BL sub_196A60
.text:001974B8 MOV R3, R0
.text:001974BC
.text:001974BC loc_1974BC ; CODE XREF: mono_image_open_from_data_with_name+C8j
.text:001974BC ; mono_image_open_from_data_with_name+300j ...
.text:001974BC MOV R0, R3
.text:001974C0 SUB SP, R11, #4
.text:001974C4 LDMFD SP!, {R11,PC}
求大神帮看下 是什么导致的f5失效
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: