iterator.putCallout中的context的属性和含义

对于

transform: function (iterator) {
...
  iterator.putCallout((context) => {
...

中的context,其定义是:

Stalker | Frida • A world-class dynamic instrumentation toolkit

typedef GumArm64CpuContext GumCpuContext;

struct _GumArm64CpuContext
{
  guint64 pc;
  guint64 sp;


  guint64 x[29];
  guint64 fp;
  guint64 lr;
  guint8 q[128];
};

某次调试时打印出的值是:

contextStr={"pc":"0x1041865a4","sp":"0x16bf46740","nzcv":1610612736,"x0":"0x0","x1":"0x104ba0000","x2":"0xc","x3":"0x29","x4":"0x470b","x5":"0x0","x6":"0x0","x7":"0xec0","x8":"0x0","x9":"0x3050500","x10":"0x16bf46838","x11":"0x6c245a87","x12":"0x6c245a3d","x13":"0x1041864dc","x14":"0x45","x15":"0x0","x16":"0xd5709bdf0d7a48f0","x17":"0x123209fc0","x18":"0x0","x19":"0xdf3221f55389ecc8","x20":"0x1233064b0","x21":"0x93dba5a2","x22":"0x0","x23":"0x39207beb","x24":"0x6c245a87","x25":"0x1041a6cb0","x26":"0x6c245a87","x27":"0x194d2c100","x28":"0xfffffffffffffffe","fp":"0x16bf46820","lr":"0x104186168","q0":{},"q1":{},"q2":{},"q3":{},"q4":{},"q5":{},"q6":{},"q7":{},"q8":{},"q9":{},"q10":{},"q11":{},"q12":{},"q13":{},"q14":{},"q15":{},"q16":{},"q17":{},"q18":{},"q19":{},"q20":{},"q21":{},"q22":{},"q23":{},"q24":{},"q25":{},"q26":{},"q27":{},"q28":{},"q29":{},"q30":{},"q31":{},"d0":0.5585262685374610e-308,"d1":0.0000169759663317e-308,"d2":7.9499288951273454e-275,"d3":0,"d4":0,"d5":0,"d6":0,"d7":0,"d8":0,"d9":0,"d10":0,"d11":0,"d12":0,"d13":0,"d14":0,"d15":0,"d16":-1.0855813867524649e+251,"d17":0.000002084565455e-308,"d18":3.0554698911305689e-152,"d19":0.000001322084152e-308,"d20":3.7696966457559071e-175,"d21":1.0004894955531618e+128,"d22":9.5944260775693913e+225,"d23":-6.8154492514793903e-236,"d24":-2.1930923744387854e+50,"d25":-3.1153191556287330e+141,"d26":-1.0031492505499153e+302,"d27":-3.1584786060327890e-284,"d28":-1.7036104465458726e+239,"d29":-1.1538744009003510e-197,"d30":2.4944484440662111e-259,"d31":0,"s0":1.1035169354619356e-39,"s1":1.1210387714598533e-44,"s2":3.8204714345426298e-37,"s3":0,"s4":0,"s5":0,"s6":0,"s7":0,"s8":0,"s9":0,"s10":0,"s11":0,"s12":0,"s13":0,"s14":0,"s15":0,"s16":1.5548730664783592e-21,"s17":-1.3084408235578860e+36,"s18":-8.6088756618229034e-23,"s19":-5.408784745233076e-20,"s20":4.2151578028428229e+37,"s21":18362722504671230,"s22":3.372155249992253e+28,"s23":-7.6784630118876258e-30,"s24":-3715189.5,"s25":2.6426119211413095e+23,"s26":-3.5724724140742379e-23,"s27":-1.6239861190373424e-18,"s28":-205533200,"s29":-0.008124308660626411,"s30":-5.6424941355004989e-36,"s31":0}

格式化后:

{
    "pc": "0x1041865a4",
    "sp": "0x16bf46740",
    "nzcv": 1610612736,
    "x0": "0x0",
    "x1": "0x104ba0000",
    "x2": "0xc",
    "x3": "0x29",
    "x4": "0x470b",
    "x5": "0x0",
    "x6": "0x0",
    "x7": "0xec0",
    "x8": "0x0",
    "x9": "0x3050500",
    "x10": "0x16bf46838",
    "x11": "0x6c245a87",
    "x12": "0x6c245a3d",
    "x13": "0x1041864dc",
    "x14": "0x45",
    "x15": "0x0",
    "x16": "0xd5709bdf0d7a48f0",
    "x17": "0x123209fc0",
    "x18": "0x0",
    "x19": "0xdf3221f55389ecc8",
    "x20": "0x1233064b0",
    "x21": "0x93dba5a2",
    "x22": "0x0",
    "x23": "0x39207beb",
    "x24": "0x6c245a87",
    "x25": "0x1041a6cb0",
    "x26": "0x6c245a87",
    "x27": "0x194d2c100",
    "x28": "0xfffffffffffffffe",
    "fp": "0x16bf46820",
    "lr": "0x104186168",
    "q0": {},
    "q1": {},
    "q2": {},
    "q3": {},
    "q4": {},
    "q5": {},
    "q6": {},
    "q7": {},
    "q8": {},
    "q9": {},
    "q10": {},
    "q11": {},
    "q12": {},
    "q13": {},
    "q14": {},
    "q15": {},
    "q16": {},
    "q17": {},
    "q18": {},
    "q19": {},
    "q20": {},
    "q21": {},
    "q22": {},
    "q23": {},
    "q24": {},
    "q25": {},
    "q26": {},
    "q27": {},
    "q28": {},
    "q29": {},
    "q30": {},
    "q31": {},
    "d0": 0.5585262685374610e-308,
    "d1": 0.0000169759663317e-308,
    "d2": 7.9499288951273454e-275,
    "d3": 0,
    "d4": 0,
    "d5": 0,
    "d6": 0,
    "d7": 0,
    "d8": 0,
    "d9": 0,
    "d10": 0,
    "d11": 0,
    "d12": 0,
    "d13": 0,
    "d14": 0,
    "d15": 0,
    "d16": -1.0855813867524649e+251,
    "d17": 0.000002084565455e-308,
    "d18": 3.0554698911305689e-152,
    "d19": 0.000001322084152e-308,
    "d20": 3.7696966457559071e-175,
    "d21": 1.0004894955531618e+128,
    "d22": 9.5944260775693913e+225,
    "d23": -6.8154492514793903e-236,
    "d24": -2.1930923744387854e+50,
    "d25": -3.1153191556287330e+141,
    "d26": -1.0031492505499153e+302,
    "d27": -3.1584786060327890e-284,
    "d28": -1.7036104465458726e+239,
    "d29": -1.1538744009003510e-197,
    "d30": 2.4944484440662111e-259,
    "d31": 0,
    "s0": 1.1035169354619356e-39,
    "s1": 1.1210387714598533e-44,
    "s2": 3.8204714345426298e-37,
    "s3": 0,
    "s4": 0,
    "s5": 0,
    "s6": 0,
    "s7": 0,
    "s8": 0,
    "s9": 0,
    "s10": 0,
    "s11": 0,
    "s12": 0,
    "s13": 0,
    "s14": 0,
    "s15": 0,
    "s16": 1.5548730664783592e-21,
    "s17": -1.3084408235578860e+36,
    "s18": -8.6088756618229034e-23,
    "s19": -5.408784745233076e-20,
    "s20": 4.2151578028428229e+37,
    "s21": 18362722504671230,
    "s22": 3.372155249992253e+28,
    "s23": -7.6784630118876258e-30,
    "s24": -3715189.5,
    "s25": 2.6426119211413095e+23,
    "s26": -3.5724724140742379e-23,
    "s27": -1.6239861190373424e-18,
    "s28": -205533200,
    "s29": -0.008124308660626411,
    "s30": -5.6424941355004989e-36,
    "s31": 0
}

-》其中可以看到:各个寄存器的值

-》实现了调试的目的:查看寄存器等方面的值

results matching ""

    No results matching ""