Jinmo / ifred

IDA command palette & more (Ctrl+Shift+P, Ctrl+P)
151 stars 14 forks source link

IDA Pro 9 Support #30

Closed blue-devil closed 4 weeks ago

blue-devil commented 1 month ago

Hello @Jinmo Do you have any plans to release a new version that supports IDA Pro 9?

Jinmo commented 1 month ago

Hello, I'm aware that some typing APIs are changed around 8.4 (partly resolved via 49d2e9d49a702e82d736827433c6ae8ea0d3cb66) but I don't have access to IDA 9, so I'm not sure if I can upload prebuilt version. But I'm going to try to fix the source code one.

blue-devil commented 1 month ago

I have inspected new C++ SDK Porting Guide from IDA 8.x to 9.0. The important thing is, they have made a lot of functions deprecated! And while making those deprecations; they don't provide equivalent functions. For example they have removed those functions and you cannot replace those functions with something else:

get_first_struc_idx()
get_last_struc_idx()
get_prev_struc_idx()
get_next_struc_idx()

They have removed some entire header files like enum.hpp and struct.hpp :/ And they have stated don docs:

The functionalities for working with user-defined types are now available in typeinf.hpp (tinfo_t class).

But in reality, not that simple. A lot of old functions are lost.

Jinmo commented 1 month ago

d4a7c1be597b015708f367fccce9e7f3a1d7f0cc 350a9800ee9f616c5b42285ad279a44ec954319b b8e1edf10c132b27704f235677b34f63e928675e

Hello, I was able to download IDA 9 SDK from their website with free license and tested building it. Since the same option (SHOULD_USE_TYPEINF) worked in IDA 8.4 I guess it'll work on 9.x too.

blue-devil commented 1 month ago

Hello @Jinmo this is awesome news. I have just compiled ifred for IDA Pro v9.0 for Linux and it is working! I am going to compile it for both windows and macOS when I have time. Thank you.

Jinmo commented 4 weeks ago

Good to hear! I'll close this issue as completed; Feel free to reopen it if something is broken.

blue-devil commented 4 weeks ago

UPDATE: I have manually and successfully compiled for: Windows and macOS(x64 and aarch64); no more issues so far. Azure pipelines not working properly; btw.