Quantcast
Channel: 睿论坛 - 最新话题
Viewing all articles
Browse latest Browse all 5731

Oc代码求助

$
0
0

@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

Read full topic


Viewing all articles
Browse latest Browse all 5731

Trending Articles