@zhangslob wrote:
在Mac上使用IDA PRO7.0分析,IPA从PP助手上下载的越狱应用。
搜索关键方法,一步步看。遇到关键代码看不懂,想问问
url 是 “/cdn/user/getUserInfo”,body是如何产生的
id __cdecl -[FXUserHttpDAO getUserInfoWithUserId:succeed:fail:](FXUserHttpDAO *self, SEL a2, signed __int64 a3, id a4, id a5) { id v5; // x20 signed __int64 v6; // x22 __int64 v7; // x24 __int64 v8; // x19 __int64 v9; // x1 __int64 v10; // x21 __int64 v11; // x0 __int64 v12; // x20 __int64 v13; // x1 __int64 v14; // x0 __int64 v15; // x21 __int64 v16; // x1 __int64 v17; // x1 __int64 v18; // x19 id result; // x0 void **v20; // [xsp+0h] [xbp-B0h] __int64 v21; // [xsp+8h] [xbp-A8h] __int64 (__fastcall *v22)(); // [xsp+10h] [xbp-A0h] void *v23; // [xsp+18h] [xbp-98h] __int64 v24; // [xsp+20h] [xbp-90h] void **v25; // [xsp+28h] [xbp-88h] __int64 v26; // [xsp+30h] [xbp-80h] __int64 (__fastcall *v27)(); // [xsp+38h] [xbp-78h] void *v28; // [xsp+40h] [xbp-70h] __int64 v29; // [xsp+48h] [xbp-68h] __int64 v30; // [xsp+50h] [xbp-60h] const __CFString *v31; // [xsp+58h] [xbp-58h] __int64 v32; // [xsp+60h] [xbp-50h] __int64 v33; // [xsp+68h] [xbp-48h] v5 = a5; v6 = a3; v7 = __stack_chk_guard; v8 = objc_retain(a4, a2); v10 = objc_retain(v5, v9); v31 = CFSTR("userId"); objc_msgSend(&OBJC_CLASS___NSNumber, "numberWithInteger:", v6); v32 = objc_retainAutoreleasedReturnValue(); objc_msgSend(&OBJC_CLASS___NSDictionary, "dictionaryWithObjects:forKeys:count:", &v32, &v31, 1LL); v11 = objc_retainAutoreleasedReturnValue(); +[FXRequestInfo requestInfoWithPath:method:body:]( &OBJC_CLASS___FXRequestInfo, "requestInfoWithPath:method:body:", CFSTR("/cdn/user/getUserInfo"), 0LL, v11); v12 = objc_retainAutoreleasedReturnValue(); objc_release(); objc_release(); v25 = _NSConcreteStackBlock; v26 = - -3254779904LL; v27 = sub_100415074; v28 = &unk_1016016D0; v14 = objc_retain(v10, v13); v15 = v14; v29 = v14; v30 = v8; v20 = _NSConcreteStackBlock; v21 = - -3254779904LL; v22 = sub_1004153F0; v23 = &unk_101601700; objc_retain(v8, v16); v24 = v15; objc_retain(v15, v17); +[BaseHttpDAO requestWithInfo:completeHandler:failHandler:]( &OBJC_CLASS___BaseHttpDAO, "requestWithInfo:completeHandler:failHandler:", v12, &v25, &v20, _NSConcreteStackBlock, - -3254779904LL, sub_1004153F0, &unk_101601700, v15, _NSConcreteStackBlock, - -3254779904LL, sub_100415074, &unk_1016016D0, v29, v8); v18 = objc_retainAutoreleasedReturnValue(); objc_release(); objc_release(); objc_release(); objc_release(); objc_release(); result = (id)objc_release(); if ( v7 == v33 ) result = (id)objc_autoreleaseReturnValue(v18); return result; }
Posts: 12
Participants: 2