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

Hang in aac #15004

Closed
Maijin opened this issue Sep 10, 2019 · 10 comments
Closed

Hang in aac #15004

Maijin opened this issue Sep 10, 2019 · 10 comments
Labels
Milestone

Comments

@Maijin
Copy link
Contributor

Maijin commented Sep 10, 2019

Via @Zurich1994

Work environment

Questions Answers
OS/arch/bits (mandatory) OSX/linux
File format of the file you reverse (mandatory) PE
Architecture/bits of the file (mandatory) x86/32
r2 -v full output, not truncated (mandatory) radare2 3.8.0 23022 @ darwin-x86-64 git.3.8.0-40-g2ad9a6bdc / commit: 2ad9a6b build: 2019-09-10__09:46:30

Expected behavior

Analysis goes on. (864K binary)

Actual behavior

Analysis stall.

Steps to reproduce the behavior

@Maijin Maijin added this to the 3.9.0 milestone Sep 10, 2019
@GustavoLCR
Copy link
Contributor

Isn't this the same as #14782 ?

@Zurich1994
Copy link

Isn't this the same as #14782 ?

But this problem still there even in the newest version~

@radare
Copy link
Collaborator

radare commented Sep 11, 2019 via email

@radare
Copy link
Collaborator

radare commented Sep 15, 2019

its merged and fixed. enjoy :) now it takes ~8s in my laptop

@radare
Copy link
Collaborator

radare commented Sep 15, 2019

will be good to have a smaller binary to put in the testsuite

@Maijin Maijin closed this as completed Sep 15, 2019
@Maijin
Copy link
Contributor Author

Maijin commented Sep 15, 2019

@radare Actually this one is not fixed, I just tried on master, both aa and aac are still hanging.

@Maijin Maijin reopened this Sep 15, 2019
@radare
Copy link
Collaborator

radare commented Sep 15, 2019 via email

@Maijin
Copy link
Contributor Author

Maijin commented Sep 15, 2019

same with the nonull. (interestingly and unrelated likely, stopping aa then relaunching it make it finishes instantly.)

@radare
Copy link
Collaborator

radare commented Sep 16, 2019

ooook i found the root cause oft he problem and it basically requires a full rewrite of the whole fcn storage because the rbtree implementation is unmaintainable and buggy. i did a workaround in a PR that should make this work. and in this binary it turns from infinite time to 1.8s, so it seems like its improving the analysis somehow. i plan to rewrite all that stuff during the 4.x releases

@radare
Copy link
Collaborator

radare commented Sep 16, 2019

I pushed a workaround to solve this issue in here: bb810cf

just use r2 -e anal.norevisit=true

maybe we should rename this to anal.visitonce, but well, its just a hack at the end, but this binary exposes some other issues in the analysis when the binary is obfuscated. so its a good testcase for improving the analysis. ill keep the issue open and try to fix more things in further releases

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

No branches or pull requests

4 participants