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

Help Needed/Documentation Inquiries #17

Open
thomasdolash opened this issue Jan 10, 2024 · 2 comments
Open

Help Needed/Documentation Inquiries #17

thomasdolash opened this issue Jan 10, 2024 · 2 comments

Comments

@thomasdolash
Copy link

I have personally attempted to use DIRTY in many configurations with varying levels of success.

I have run into the following issues:

  • Package incompatibilities and/or failures to install
  • DIRTY cannot locate IDA's python libraries, "Could not import ida_typeinf. Cannot parse IDA types."
  • Relative import files in the util folder are causing syntax errors (incorrect syntax on "../../") and require modifications in order to bypass
  • using the --CUDA switch causes the script to hang and never complete model testing.

I would love to see the documentation of prerequisite setup expanded upon, as these have been my biggest headaches.

I would also appreciate some clarification on the following:

  • Should a specific python patch version be used, for example, 3.7.7?
  • What specific combination of package versions allow this tool to work properly?
  • Should I be adding the DIRTY repository to my python path?
  • Was this developed specifically for use in either a Linux or Windows environment? (I have tried both, but I don't have IDA for Linux)
  • Are there any specific steps for integrating IDA/IDAPython which are not listed on the homepage?
  • Python 3.6 and 3.7 have reached end of life and Python 3.8 will soon follow. Will this be updated or maintained in the future?

That said, I'm really excited to finally try this out and would appreciate any help.

@kotee4ko
Copy link

kotee4ko commented Jan 14, 2024

To launch dirty in it stock state you have two options:

  1. use docker and setup all deps as expected
  2. modify the souce code to achive launch on fresh versions without errors

What about ida for linux - feel free to modify generator and add wine before call to idat64.exe
Also, use winepath -w to represent path to scripts/bins.

But I can break youre dreams - when you done this steps -- youll understand, that the dirty is dirty, and cant be used to achive usable results, even for personal use, at all.

Sad, but true.

But, maybe I wrong, give a try :)

@thomasdolash

@qibinc
Copy link
Collaborator

qibinc commented Jan 15, 2024

Hi @thomasdolash ,

Should a specific python patch version be used, for example, 3.7.7?
What specific combination of package versions allow this tool to work properly?

Thanks for your interest in trying this out. Since it was a research project, we didn't tested it comprehensively on various environment setups. I would be glad to help if you can paste the specific errors you run into when following the requirements.

Should I be adding the DIRTY repository to my python path?

Yes (if you run into import errors within the package)

Was this developed specifically for use in either a Linux or Windows environment?

Please use Linux with cuda. IDA is not required if you use the preprocessed dataset and don't process binary data from scratch.

Are there any specific steps for integrating IDA/IDAPython which are not listed on the homepage?

Integrated the model to existing tools is beyond the scope of the work. To run DIRTY model inference on IDA outputs, you can process the input data as a test set and run the inference pipelien to get predictions.

Python 3.6 and 3.7 have reached end of life and Python 3.8 will soon follow. Will this be updated or maintained in the future?

We used 3.8 when working on the project. The Dirty repo is not actively maintained at the moment.

Thank you!

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

3 participants