Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed the form cannot be shown for ida pro 7.2 release version #55

Merged
merged 70 commits into from
Dec 9, 2018

Conversation

fjh658
Copy link
Contributor

@fjh658 fjh658 commented Oct 21, 2018

Fixed the form(Patcher, Search, Fill Range) cannot be shown for ida pro 7.2 release version.

  • The PR has been tested on ida6.x, ida7.0, 7.1, 7.2. @aquynh

Please see the picture below:
image

jianhua.fengjh and others added 30 commits August 1, 2017 21:45
…mpatible with ida pro 6, 7(beta);

for everyone is happy
…mpatible with ida pro 6, 7(beta);

for everyone is happy
…mpatible with ida pro 6, 7(beta);

for everyone is happy
…mpatible with ida pro 6, 7(beta);

for everyone is happy
* fixed inf no attribute "mf",   because ida pro beta 3 (170724)   renamed inf.is_mf()/set_mf() -> is_be()/set_be()

* fixed inf no attribute "mf",   because ida pro7 beta 3 (170724)   renamed inf.is_mf()/set_mf() -> is_be()/set_be()

* Add ida pro version check, about be(big endian)

* Since ida pro7 beta 3 (170724) renamed inf.mf -> is_be()/set_be(),  Compatible with ida pro 6, 7(beta);
for everyone is happy
@fjh658
Copy link
Contributor Author

fjh658 commented Oct 22, 2018

Please review PR. @aquynh Thank you.

@fjh658 fjh658 changed the title Fixed the form cannot be shown for ida pro 7.2 beta Version 7.2.181019. "form: error at %/" Fixed the form cannot be shown for ida pro 7.2 release version Nov 6, 2018
@aquynh
Copy link
Member

aquynh commented Dec 8, 2018

sorry for very late reply!

this looks good, but please confirm that this works for v6.x

@aquynh
Copy link
Member

aquynh commented Dec 8, 2018

also, would you mind verifying the pull req #36, to confirm it works for v7.x?

thanks!

@fjh658
Copy link
Contributor Author

fjh658 commented Dec 9, 2018

sorry for very late reply!

this looks good, but please confirm that this works for v6.x

It works that I tested for v6.x. @aquynh

@fjh658 fjh658 closed this Dec 9, 2018
@fjh658
Copy link
Contributor Author

fjh658 commented Dec 9, 2018

also, would you mind verifying the pull req #36, to confirm it works for v7.x?

thanks!

This pull req #36 is not recommended for merging, there are some problems.

  1. idaapi.get_name_value(address, sym) -> idaapi.get_name_ea(address, sym)
    For jmp xxx case is good, but this will cause a lot of problems. b8b0f79
    eg:
  • "Memory" variable
    image

  • idapython test

Python>ea = idaapi.get_name_ea(here(), "Memory")
Python>print(hex(ea))
0x140046aa8L

Error:
image

Python>(type, value) = idaapi.get_name_value(here(), "Memory")
Python>print(hex(value))
0xffffffffffffffe0L

Correct result:
image

In other words, the result of name is not ea will be incorrect.

About the current situation of this function get_name_value
image

  1. The following code is not seen to have any problems, no need to modify. 36cdc94
# ask IDA to re-analyze the patched area
if orig_func_end == idc.BADADDR:
    # only analyze patched bytes, otherwise it would take a lot of time to re-analyze the whole binary
    idaapi.analyze_area(address, address + patched_len + 1)
else:
    idaapi.analyze_area(address, orig_func_end)

    # try to fix IDA function re-analyze issue after patching
    idaapi.func_setend(address, orig_func_end)

@aquynh

@fjh658 fjh658 reopened this Dec 9, 2018
@aquynh aquynh merged commit d7d2ea9 into keystone-engine:master Dec 9, 2018
@aquynh
Copy link
Member

aquynh commented Dec 9, 2018

merged, thanks!

@aquynh aquynh mentioned this pull request Dec 9, 2018
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.

None yet

3 participants