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

Recursive folder search #9

Open
ryancinsight opened this issue Feb 16, 2021 · 2 comments
Open

Recursive folder search #9

ryancinsight opened this issue Feb 16, 2021 · 2 comments

Comments

@ryancinsight
Copy link

How difficult do you think it would be to modify this to recursively search folders including executable directly and not only get dependencies for exe but dlls that are in that folder and subfolders as well for windows?

Windows dumpbin /dependents for example can do exe's and dll dependencies.

@suve
Copy link
Owner

suve commented Mar 25, 2021

Sorry for not responding to this back in the day.

I think recursive search is something that definitely should be added to the program. While it would be simple enough to do this for PE executables, I'm not too sure how the dynamic linker works on Linux and would need to delve a bit into the topic to figure out whether recursion is performed always, or if there are some extra conditions.

@suve suve reopened this Mar 25, 2021
@ryancinsight
Copy link
Author

ryancinsight commented Mar 25, 2021

Hi Suve ✋, I thought it may be too niche but I’m glad you find it as something that could be added.
I started a simple proof of concept using the goblin crate as well but haven’t modified or tested for/on Linux. Mostly I’m creating a hashmap of what is present and what is called, filtering duplicates, and trying to find not found ones. https://github.com/ryancinsight/depwalker I’m using with pyoxidizer crate so I’m also reading Python pyd files which are similar to dll files.

for further background, pyoxidizer aims to create portable Python executables and this is why I’m aiming for recursive reading since Python packages are split into folders etc...

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

No branches or pull requests

2 participants