Skip to content

Conversation

shuimu5418
Copy link

@shuimu5418 shuimu5418 commented Jun 4, 2025

This is a comprehensive update that significantly improves Ponce's compatibility with modern IDA Pro versions, enhances stability by fixing critical bugs, and refines the overall codebase and user experience.

This PR addresses and resolves issues #143 and #138.


Major Features & Compatibility Updates

  • Adds support for IDA Pro 9.1 and 8.5. Fixes IDA 9 Support? #143

  • Overhauls architecture detection. The core logic in ponce_set_triton_architecture() has been updated to use inf_is_64bit() instead of the legacy ph.useXX() checks. This is critical for modern IDA versions (8.5+) which use a single executable, and ensures the correct 32-bit or 64-bit Triton context is selected. This directly resolves the architecture mismatch bug that led to crashes. Fixes Unhandled C++ exception: x8664Cpu::setConcreteRegisterValue() #138

Stability and Bug Fixes

  • Resolved a critical memory leak located in snapshot.cpp.

  • Fixed an unhandled C++ exception that caused IDA to crash when the "Functions" window was clicked while the "Ponce Symbolic Variables" window was open.

UX and Code Quality Improvements

  • Refined context menu options. The right-click menu items have been renamed for better clarity, adopting a style inspired by Kaspersky's hrtng plugin.

  • Resolved variable shadowing. Addressed numerous variable shadowing warnings by renaming variables, which improves code safety and readability.

Tested Environments

  • This branch has been successfully built and tested against IDA Pro 7.7 and 9.1.

Support ida 9.1;
Fix Memleak;
Fix Unhandle c++ exception;

And a lots of clean ups;

Rename choice.
@illera88
Copy link
Owner

illera88 commented Jun 5, 2025

Hi,

Thank you for the PR!

Unfortunately the CI is not working. I'll work on fixing that before merging so we make sure the changes are compatible.

Do you happen to have access to the IDA latests C++ SDK?

Cheers

@shuimu5418
Copy link
Author

Yes, I have access to the SDKs and can help test the changes. The versions I've tested against are 7.7 and 9.1. Let me know if you need me to check against a different one or require any other help.

@shuimu5418
Copy link
Author

shuimu5418 commented Jun 10, 2025

Hi @illera88, I saw you've been actively working on the CI, thanks for the effort!

While looking through the latest failed run, I spotted a specific error message that might be a helpful clue:

CMake Error at CMakeLists.txt:103 (message):
You should add hexrays.hpp to C:/a/Ponce/Ponce/IDA_SDKs/idasdk70/include

This reminded me of an issue I've run into before. The hexrays.hpp file is a bit tricky as it usually comes with the full IDA Pro installation, not the standalone SDK package. It often needs to be manually copied into the SDK's include directory for the decompiler-related parts to build correctly.

Just sharing this thought in case it saves you some debugging time. Let me know if you need me to test anything on my end.

Cheers.

@shuimu5418 shuimu5418 changed the title UPDATE EVERYTHING Major Features & Compatibility Updates Jun 10, 2025
@shuimu5418 shuimu5418 changed the title Major Features & Compatibility Updates IDA 9.1/8.5 Support, Arch Fixes & Stability Jun 10, 2025
@illera88
Copy link
Owner

Hi @shuimu5418 ,

yes! I had documentation to know about that https://github.com/illera88/Ponce/blob/master/docs/misc/building.md

I'll keep working on it today.

Can you please prepare the IDA 7.7 and 9.1 SDK and send it to me privately? I can add them to the list of supported ones. My email is agarciaillera@gmail.com

I'll keep working on fixing the CI today.

Thanks! :)

@shuimu5418
Copy link
Author

shuimu5418 commented Jun 10, 2025

Copy that🫡
Please check your inbox.@illera88

All with hexrays.hpp.

@infernosalex
Copy link

Any updates?
Is Ponce supported on IDA 9.0?

@Maple38
Copy link

Maple38 commented Aug 16, 2025

Hiya, would you mind sharing your build so this PR can be used without having to build it ourselves? At least until it gets merged. Would greatly appreciate that!

@shuimu5418
Copy link
Author

Hiya, would you mind sharing your build so this PR can be used without having to build it ourselves? At least until it gets merged. Would greatly appreciate that!

https://github.com/copythere/Ponce/releases/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IDA 9 Support? Unhandled C++ exception: x8664Cpu::setConcreteRegisterValue()
4 participants