00007FF61CE9FB85 | 48:8B40 08 | mov rax, qword ptr ds:[rax+8] |
00007FF61CE9FB89 | FF10 | call qword ptr ds:[rax] | [rax]:sub_7FF61D113900
00007FF61CE9FB8B | 48:8B0D 76D84705 | mov rcx, qword ptr ds:[7FF62231D408] | [0x00007FF62231D408]
00007FF61CE9FB92 | 48:8B01 | mov rax, qword ptr ds:[rcx] | [[0x00007FF62231D408]+0]
00007FF61CE9FB95 | FF10 | call qword ptr ds:[rax] call [[[0x00007FF62231D408]+0]+0]
00007FF61CE9FB97 | 48:8B0D 72D84705 | mov rcx, qword ptr ds:[7FF62231D410] |
00007FF61CE9FB9E | 48:85C9 | test rcx, rcx |
00007FF61CE9FBA1 | 74 05 | je gacrunner.7FF61CE9FBA8 |
7FF62231D408 //是二叉树基址
//[[[0x00007FF62231D408]+0]+0]=00007FF61D113900 核心代码
00007FF61D113900 | 48:897424 18 | mov qword ptr ss:[rsp+18], rsi |
00007FF61D113905 | 57 | push rdi |
00007FF61D113906 | 48:83EC 20 | sub rsp, 20 |
00007FF61D11390A | 33F6 | xor esi, esi |
00007FF61D11390C | 48:8BF9 | mov rdi, rcx | 找rcx来源 [7FF62231D408]
00007FF61D11390F | 48:89B1 C8020000 | mov qword ptr ds:[rcx+2C8], rsi |
00007FF61D113916 | 66:89B1 D0020000 | mov word ptr ds:[rcx+2D0], si |
00007FF61D11391D | 40:38B1 D0010000 | cmp byte ptr ds:[rcx+1D0], sil |
00007FF61D113924 | 0F84 89020000 | je gacrunner.7FF61D113BB3 |
00007FF61D11392A | 48:8B49 28 | mov rcx, qword ptr ds:[rcx+28] | [rcx+28]:"€1$拥\x01"
00007FF61D11392E | E8 DD8EFEFF | call <gacrunner.sub_7FF61D0FC810> |
00007FF61D113933 | 84C0 | test al, al |
00007FF61D113935 | 0F84 78020000 | je gacrunner.7FF61D113BB3 |
00007FF61D11393B | 48:8B57 28 | mov rdx, qword ptr ds:[rdi+28] 根结点? [[7FF62231D408]+28]
00007FF61D11393F | 48:8BCF | mov rcx, rdi |
00007FF61D113942 | 48:895C24 38 | mov qword ptr ss:[rsp+38], rbx |
00007FF61D113947 | E8 F487FFFF | call <gacrunner.0x00007FF61D10C140_递归遍历>
[[7FF62231D408]+28] //二叉树根
[[rdi+28]+1A8] //左子树 结点
[[rdi+28]+1B0] //右子树 结点
内详,回复可见
|