Date: | Tue, 22 Aug 2017 13:24:26 +0200 |
---|---|
From: | Thomas Dullien <thomasdullien@xxxxxxxxxx> |
Subject: | Re: [DynInst_API:] where to find the code for handling switch() statements? |
Hey there, I am back at work on this :-). A few questions: Â- Your fork is a fork of Dyninst 9 ? Â- Are there any things I need to be aware of when building it? The particular scenario I am dealing with right now is the following construct (x86_64 disassembly of Visual Studio compiled code). .text:000000014004D970         mov   [rsp+arg_8], edx .text:000000014004D974         mov   [rsp+arg_0], rcx .text:000000014004D979         push  Ârdi .text:000000014004D97A         sub   rsp, 220h .text:000000014004D981         mov   rdi, rsp .text:000000014004D984         mov   ecx, 88h .text:000000014004D989         mov   eax, 0CCCCCCCCh .text:000000014004D98E         rep stosd .text:000000014004D990         mov   rcx, [rsp+228h+arg_0] .text:000000014004D998         mov   rax, cs:__security_cookie .text:000000014004D99F         xor   rax, rsp .text:000000014004D9A2         mov   [rsp+228h+var_18], rax .text:000000014004D9AA         mov   eax, [rsp+228h+arg_8] .text:000000014004D9B1         mov   [rsp+228h+var_80], eax .text:000000014004D9B8         mov   eax, [rsp+228h+var_80] .text:000000014004D9BF         dec   eax .text:000000014004D9C1         mov   [rsp+228h+var_80], eax .text:000000014004D9C8         cmp   [rsp+228h+var_80], 5 ; switch 6 cases .text:000000014004D9D0         ja   Âloc_14004EA48  ; jumptable 000000014004D9EF default case .text:000000014004D9D6         movsxd Ârax, [rsp+228h+var_80] .text:000000014004D9DE         lea   rcx, cs:140000000h .text:000000014004D9E5         mov   eax, ds:(off_14004EA70 - 140000000h)[rcx+rax*4] .text:000000014004D9EC         add   rax, rcx .text:000000014004D9EF         jmp   rax       ; switch jump .text:000000014004D9F1 ; --------------------------------------------------------------------------- Cheers, Thomas On Tue, Jun 13, 2017 at 4:35 PM, Thomas Dullien <thomasdullien@xxxxxxxxxx> wrote:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [DynInst_API:] [dyninst/dyninst], sashanicolas |
---|---|
Next by Date: | Re: [DynInst_API:] where to find the code for handling switch() statements?, Thomas Dullien |
Previous by Thread: | Re: [DynInst_API:] where to find the code for handling switch() statements?, Thomas Dullien |
Next by Thread: | Re: [DynInst_API:] where to find the code for handling switch() statements?, Thomas Dullien |
Indexes: | [Date] [Thread] |