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
}
-》其中可以看到:各个寄存器的值
-》实现了调试的目的:查看寄存器等方面的值