Closed nikhilh-20 closed 3 years ago
Does it only crash when exiting IDA? The stack trace is not helpful in this case. What we can do is adding an option in the config so it can save debug info to a file and you can send that so we can figure out what is going on.
That's what I've observed so far. I tried the following steps to see if it crashes
test eax, eax
Enable ponce tracing
Symbolic -> Symbolize eax register
This did not crash Ponce. Snippets like the following were seen in the console:
...
...
[+] Triton asking IDA for already syncronized register: edx. IDA returns value: 0x50 (P)
[+] Triton at 0x701019 : test edx, edx (Thread id: 3260)
[+] Triton asking IDA for already syncronized register: zf. IDA returns value: 0x0
[+] Triton at 0x70101b : je 0x70103c (Thread id: 3260)
[+] Triton asking IDA for already syncronized register: ebp. IDA returns value: 0xaffa4c ()
[+] Triton asking IDA for already syncronized memory address: 0xaffa48 Size: 4. Value: 0xaffc5f ()
...
...
Is there an existing option to save the debug info to a file? I see there are two options for verbosity, Show Ponce debug info
and Show EXTRA Ponce debug info
but there's no option to save it to a user-defined file. It seems to print to IDA's console. Below is what prints to the console when I startup IDA and choose Show EXTRA Ponce debug info
[i] Config file Ponce.cfg not found
limitTime: 60
limitInstructionsTracingMode: 10000
use_symbolic_engine: symbolic engine enabled
showDebugInfo: true
showExtraDebugInfo: true
CONCRETIZE_UNDEFINED_REGISTERS: false
CONSTANT_FOLDING: false
SYMBOLIZE_INDEX_ROTATION: false
AST_OPTIMIZATIONS: false
TAINT_THROUGH_POINTERS: false
addCommentsControlledOperands: true
RenameTaintedFunctionNames: true
addCommentssymbolizexpresions: false
color_tainted: 99ffce
color_tainted_execution: e6e6e6
color_tainted_condition: b377
[+] Ponce plugin running!
Also, if it's relevant I don't see a Tainting options
in the config file like I see in the Negate and inject a condition
section in the README. Maybe, it's related to some features not loading or faulty loading which causes a crash later.
I noticed there's the Optimizations
section in my config file but not in the README illustrations. Is the README updated?
Hi @nikhilh-20 some images are not updated. We removed some configuration to simplify the usage. But that shouldn't be related with your issue.
I bet this issue is related with the function term
executed when IDA closes:
https://github.com/illera88/Ponce/blob/02116585118b647d3bd56404e00f81141a2b6864/src/main.cpp#L177
We will try to replicate it.
Hi @nikhilh-20 ,
Sorry for the delay.
Can you try something? Can you delete the config file created by Ponce and try to run it again? It will create a new config file.
Let me know if it crashes.
Interesting, I tried that. Ponce v0.3 doesn't seem to crash on 32-bit IDA Pro 7.5 (decompiler included) but it still crashes on 64-bit IDA Pro 7.5.
Hi @nikhilh-20, There is a couple new versions of Ponce that hopefully address the issue you were facing. I'm closing this issue but feel free to reopen if problem persist in the last version.
Cheers
I'm running Python 2.7.18 on IDA 7.5.200619 and Ponce v0.3 causes a crash when exiting IDA. I don't know how to debug dump files but here's a WinDbg analysis:
I haven't used any features of Ponce yet. I have just installed it, so I don't know if this exception is caused while using any Ponce feature as well. Let me know if you need anything else from me.