나는 angr - 문서의 과제 중 하나 (https://github.com/angr/angr-doc/blob/2d45c9e6d9f91e83988719aa19940aec2cfd8747/examples/ekopartyctf2015_rev100/solve.py)에서 일하고 있어요하지만 내 방식에 나는이 상황이 이해 : 내가 필요angr 메모리 맵
mov rdx, [rbp+var_150];
mov rdx, [rdx];
mov rdx, [rdx+8];
movsx esi, byte ptr [rdx]
는 ESI와 같은 상징적 인 설정을 (ESI 것 값을 포함해야 함).
것은 나는이 같은 시도했다 :하지만 는 또한, 나는 BitVector 값 (BVV) 각 포인터를 설정하려고했습니다 작동하지 않습니다
#mov rdx, [rbp+var_150]
p1 = init_state.memory.load(init_state.regs.rbp-0x150, 8, endness=p.arch.memory_endness)
#mov rdx, [rdx]
p2 = init_state.memory.load(p1, 8, endness=p.arch.memory_endness)
#mov rdx, [rdx+8]
p3 = init_state.memory.load(p2+8, 8, endness=p.arch.memory_endness)
#movsx esi, byte ptr [rdx]
r1 = init_state.memory.load(p3, 8, endness=p.arch.memory_endness)
을, 그러나 그것은 작동하지 않았다 어느 한 쪽.
무엇이 잘못 되었나요?
무엇 정확하게 "작동하지 않습니다"에 의해 의미합니까? – Robert