首页
社区
课程
招聘
未解决 [求助] 关于frida 参数打印的问题 50.00雪花
发表于: 2021-12-8 13:46 3067

未解决 [求助] 关于frida 参数打印的问题 50.00雪花

2021-12-8 13:46
3067
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
SecurityLib::signString(&v44, v16, &v43, &v42);
 
int __fastcall SecurityLib::signString(int a1, int a2, unsigned __int8 *a3, unsigned __int8 *a4)
{
  int v4; // r8
  int v5; // r8
  unsigned __int8 *v6; // r6
  unsigned __int8 *v7; // r5
  unsigned int v8; // r0
  unsigned int v9; // r0
  const char *v10; // r1
  const char *v11; // r1
  int v12; // r1
  int v14; // [sp+0h] [bp-58h]
  int v15; // [sp+44h] [bp-14h]
  int v16; // [sp+48h] [bp-10h]
 
  v16 = v4;
  v5 = a1;
  v6 = a4;
  v7 = a3;
  CkRsa::CkRsa(&v14);
  v8 = *v7;
  if ( v8 << 31 )
    v9 = *(v7 + 1);
  else
    v9 = v8 >> 1;
  if ( v9 )
  {
    if ( *v6 << 31 )
      v10 = *(v6 + 2);
    else
      v10 = (v6 + 1);
    CkRsa::ImportPrivateKey(&v14, v10);
    CkRsa::put_EncodingMode(&v14, "hex");
    CkMultiByteBase::put_Utf8(&v14, 1);
    CkRsa::put_Charset(&v14, "utf-8");
    CkRsa::put_LittleEndian(&v14, 0);
    if ( *v7 << 31 )
      v11 = *(v7 + 2);
    else
      v11 = (v7 + 1);
    v12 = CkRsa::signStringENC(&v14, v11, "sha-1");
    if ( v12 )
      std::__ndk1::basic_string<char,std::__ndk1::char_traits<char>,std::__ndk1::allocator<char>>::basic_string<decltype(nullptr)>(
        v5,
        v12);//v12 是const char *
    else
      std::__ndk1::basic_string<char,std::__ndk1::char_traits<char>,std::__ndk1::allocator<char>>::basic_string<decltype(nullptr)>(
        v5,
        "01");
  }
  else
  {
    std::__ndk1::basic_string<char,std::__ndk1::char_traits<char>,std::__ndk1::allocator<char>>::basic_string<decltype(nullptr)>(
      v5,
      "01");
  }
  CkRsa::~CkRsa(&v14);
  return _stack_chk_guard - v15;
}

v12 = CkRsa::signStringENC(&v14, v11, "sha-1");

 

v12是const char * 我能打印出来 后面经过basic_string方法 我就打不出来了

 

我就想打印 SecurityLib::signString v44参数
看起来是C++的 string
目前用readStdString没打印出来,hexdump 也没打出什么关键东西

1
2
3
4
5
6
7
function readStdString(str){
    var isTiny = (str.readU8 & 1) === 0;
    if (isTiny){
        return str.add(1).readUtf8String();
    }
    return str.add(2 * Process.pointerSize).readPointer().readUtf8String();
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//