File tree Expand file tree Collapse file tree 2 files changed +20
-30
lines changed
Expand file tree Collapse file tree 2 files changed +20
-30
lines changed Original file line number Diff line number Diff line change @@ -206,12 +206,20 @@ export async function interceptAndroidFridaTarget(
206206
207207 const scriptSession = await session . createScript ( interceptionScript ) ;
208208
209+ let scriptLoaded = false ;
209210 await new Promise ( ( resolve , reject ) => {
210211 session . onMessage ( ( message ) => {
211212 if ( message . type === 'error' ) {
212213 const error = new Error ( message . description ) ;
213214 error . stack = message . stack ;
214- reject ( error ) ;
215+
216+ if ( ! scriptLoaded ) {
217+ reject ( error ) ;
218+ } else {
219+ console . warn ( 'Frida Android injection error:' , error ) ;
220+ }
221+ } else if ( message . type === 'log' ) {
222+ console . log ( `Frida Android [${ message . level } ]: ${ message . payload } ` ) ;
215223 } else {
216224 console . log ( message ) ;
217225 }
@@ -222,20 +230,7 @@ export async function interceptAndroidFridaTarget(
222230 . catch ( reject ) ;
223231 } ) ;
224232
225- // Script started successfully - now replace the message listener, and resume the app
226-
227- session . onMessage ( ( message ) => {
228- if ( message . type === 'error' ) {
229- const error = new Error ( message . description ) ;
230- error . stack = message . stack ;
231- console . warn ( 'Frida Android injection error:' , error ) ;
232- } else if ( message . type === 'log' ) {
233- console . log ( `Frida Android [${ message . level } ]: ${ message . payload } ` ) ;
234- } else {
235- console . log ( message ) ;
236- }
237- } ) ;
238-
233+ scriptLoaded = true ;
239234 await session . resume ( ) ;
240235 } catch ( e ) {
241236 // If anything goes wrong, just make sure we shut down the app again
Original file line number Diff line number Diff line change @@ -123,12 +123,20 @@ export async function interceptIosFridaTarget(
123123
124124 const scriptSession = await session . createScript ( interceptionScript ) ;
125125
126+ let scriptLoaded = false ;
126127 await new Promise ( ( resolve , reject ) => {
127128 session . onMessage ( ( message ) => {
128129 if ( message . type === 'error' ) {
129130 const error = new Error ( message . description ) ;
130131 error . stack = message . stack ;
131- reject ( error ) ;
132+
133+ if ( ! scriptLoaded ) {
134+ reject ( error ) ;
135+ } else {
136+ console . warn ( 'Frida iOS injection error:' , error ) ;
137+ }
138+ } else if ( message . type === 'log' ) {
139+ console . log ( `Frida iOS [${ message . level } ]: ${ message . payload } ` ) ;
132140 } else {
133141 console . log ( message ) ;
134142 }
@@ -139,20 +147,7 @@ export async function interceptIosFridaTarget(
139147 . catch ( reject ) ;
140148 } ) ;
141149
142- // Script started successfully - now replace the message listener, and resume the app
143-
144- session . onMessage ( ( message ) => {
145- if ( message . type === 'error' ) {
146- const error = new Error ( message . description ) ;
147- error . stack = message . stack ;
148- console . warn ( 'Frida iOS injection error:' , error ) ;
149- } else if ( message . type === 'log' ) {
150- console . log ( `Frida iOS [${ message . level } ]: ${ message . payload } ` ) ;
151- } else {
152- console . log ( message ) ;
153- }
154- } ) ;
155-
150+ scriptLoaded = true ;
156151 await session . resume ( ) ;
157152 } catch ( e ) {
158153 // If anything goes wrong, just make sure we shut down the app again
You can’t perform that action at this time.
0 commit comments