vinayakakv / android-malware-detection

Android Malware Detection with Graph Convolutional Networks using Function Call Graph and its Derivatives.
GNU General Public License v3.0
34 stars 10 forks source link

AttributeError: 'EncodedMethod' object has no attribute 'is_external' #2

Open Acwingzjk opened 2 years ago

Acwingzjk commented 2 years ago

Hello,Thanks for your hard work,I have a problem when i run process_dataset.py from android-malware-detection if node.is_external(): AttributeError: 'EncodedMethod' object has no attribute 'is_external' I would appreciate it if you could reply to me!

vinayakakv commented 2 years ago

The EncodedMethod comes from the package androguard -- https://androguard.readthedocs.io/en/v3.3.5/api/androguard.core.bytecodes.html#androguard.core.bytecodes.dvm.EncodedMethod. As per the latest version, there is no is_external() method there.

The thing was that I forget to pin its version in requirements.txt 😅. Seems like you need build it from its master branch since it contains is_external() method.

If you get it working, please feel free to open a PR updating the README.md mentioning this as a note.

Acwingzjk commented 2 years ago

Thank you for your reply. I will try it according to your guidance. I am a beginner and may reply slowly. Thank you for answering my doubts.

kimnhuvu commented 2 years ago

You must install androguard version 3.4.0a1 then you can fix this issue