miwong / intellidroid Goto Github PK
View Code? Open in Web Editor NEWA targeted input generator for Android that improves the effectiveness of dynamic malware analysis.
License: Other
A targeted input generator for Android that improves the effectiveness of dynamic malware analysis.
License: Other
Hi,
I am trying to integrate intellidroid with taintdroid, and I follow the readme instruction.
Here is the steps:
thanks!
Hi,
I notice that IntelliDroid is using unofficial version of Wala. Is it created by the authors of IntelliDroid?
Thanks.
Should this be returning "sms" or "receiver"?
private String getCallbackType(MethodReference callbackMethod){
....
if (declaredClassName.equals("Landroid/content/BroadcastReceiver")) {
return "sms";
}
}
thanks,
Joey
Hi,
Every time I run the command ./IntelliDroidAppAnalysis -o <output directory> <preprocessed app directory>
,exception java.lang.IllegalArgumentException
occurs.For example,after preprocessing the apk file com.github.wakhub.tinyclock_5.apk which is from f-droid.org,I run the command ./IntelliDroidAppAnalysis -o output/ ~/com.github.wakhub.tinyclock_5/
,the exception information shows as below:
Exception in thread "main" java.lang.IllegalArgumentException: class <Extension,Ljava/lang/Object> is invalid, unexpected classloader
at com.ibm.wala.ipa.cha.ClassHierarchy.addClass(ClassHierarchy.java:300)
at com.ibm.wala.ipa.cha.ClassHierarchy.addAllClasses(ClassHierarchy.java:280)
at com.ibm.wala.ipa.cha.ClassHierarchy.<init>(ClassHierarchy.java:241)
at com.ibm.wala.ipa.cha.ClassHierarchy.<init>(ClassHierarchy.java:177)
at com.ibm.wala.ipa.cha.ClassHierarchy.make(ClassHierarchy.java:1217)
at com.ibm.wala.ipa.cha.ClassHierarchy.make(ClassHierarchy.java:1197)
at intellidroid.appanalysis.IntelliDroidAppAnalysis.analyze(IntelliDroidAppAnalysis.java:230)
at intellidroid.appanalysis.IntelliDroidAppAnalysis.main(IntelliDroidAppAnalysis.java:190)
:run FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':run'.
> Process 'command '/usr/java/jdk1.8.0_91/bin/java'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Looking forward to your reply.Thank you very much.
Hi, can't get Intellidroid to work following the steps at Readme. Once I am at the folder from the code, I get the following message from the terminal at my OS X device:
MacBook-Pro-de-David-2:AppAnalysis dass$ ./preprocess/PreprocessAPK.sh ./Apps/App.apk
./preprocess/IntelliDroidPreprocessAPK.sh: line 14: greadlink: command not found
mkdir: ./.dir: File exists
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
mv: ./.dir and ./.dir are identical
Input file (.//.apk) was not found or was not readable.
Unable to open './/.apk' as zip archive
Not Zip, retrying as DEX
ERROR: unable to open './/.apk': No such file or directory
./dare/retargeted/. : no such file or directory
java.io.FileNotFoundException: ./apk/classes.jar (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at sun.tools.jar.Main.run(Main.java:195)
at sun.tools.jar.Main.main(Main.java:1288)
rm: .//dare: No such file or directory
Where App.apk is a compiled apk downloaded from a source which I want to analyse. I tried again converting the apk to zip, but I get the same error.
MacBook-Pro-de-David-2:AppAnalysis dass$ ./preprocess/PreprocessAPK.sh ./Apps/App.zip
./preprocess/IntelliDroidPreprocessAPK.sh: line 14: greadlink: command not found
mkdir: ./.dir: File exists
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
mv: ./.dir and ./.dir are identical
Input file (.//.apk) was not found or was not readable.
Unable to open './/.apk' as zip archive
Not Zip, retrying as DEX
ERROR: unable to open './/.apk': No such file or directory
./dare/retargeted/. : no such file or directory
java.io.FileNotFoundException: ./apk/classes.jar (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at sun.tools.jar.Main.run(Main.java:195)
at sun.tools.jar.Main.main(Main.java:1288)
rm: .//dare: No such file or directory
Any ideas why is this happening? I checked that the dare directories exist, but don't know why the scripts is unable to read the apk or zip. I tried with different apps to check if there's a problem with that apk, but I get the same error with all of them.
Thank you for your help!
Hi,
I am experimenting with Intellidroid and I have succefully setup the Intellidroid AppAnalysis and Dynamic Client. While running the Dynamic client. I am trying to install the apk file for the analaysis on the device.
I am getting the following error
> INSTALL /home/parul/Documents/IntelliDroid/AppAnalysis/1/1.apk
3542 KB/s (57618777 bytes in 15.884s)
pkg: /data/local/tmp/1.apk
Failure [INSTALL_FAILED_OLDER_SDK]
Please let me know, If I am wrongly doing it or any other command is required. Also, I wanted to know the correct parameters of commands.
Thanks,
P
Hi, I am using this tool and test on DroidBench APKs(https://github.com/secure-software-engineering/DroidBench/tree/develop/eclipse-project/ArraysAndLists/ArrayAccess1). However, the output files don't contain call paths as expected.
What might be the problem there?
Btw, My environment is MAC and JDK 1.7.
Hi,
When I used the tool,I have completed the app analysis ,got the 'appInfo.json' and 'constraintX_X.py' files and patched the Android OS. Then, I want to dynamically execute the app to trigger the event.
However, I met a problem "Not implemented: ui" as below.
> INSTALL ../Apk/7-app-initial-toast/7-app-initial-toast.apk
1648 KB/s (1413529 bytes in 0.837s)
pkg: /data/local/tmp/7-app-initial-toast.apk
Success
> START ../AppAnalysis/pathOutput/
Starting: Intent { cmp=com.example.dell.testloader1/.MainActivity }
Status: ok
Activity: com.example.dell.testloader1/.MainActivity
ThisTime: 832
TotalTime: 832
Complete
> TRIGGER 0
Starting: Intent { cmp=com.example.dell.testloader1/.MainActivity }
Warning: Activity not started, its current task has been brought to the front
Status: ok
Activity: com.example.dell.testloader1/.MainActivity
ThisTime: 0
TotalTime: 0
Complete
Not implemented: ui
So,I was wondering the reason of the problem and how to dynamically execute the app correctly.
Looking forward to your reply.Thank you very much.
Hi there,
I am using IntelliDroid to test some very simple toy examples, but seems I cannot get paths for some cases when IPC is involved. I checked the callgraph building, and found out that those key edges are missing. The following is an example:
Intent i = new Intent(ctx, MyService.class);
ctx.startService(i);
class MyService {
@Override
protected void onHandleIntent(Intent intent) {
...
smsManager.sendTextMessage(...);
}
}
The edge "ctx.startService --> MyService.onHandleIntent" is missing.
Also, the invocation "smsManager.sendTextMessage" didn't appear in "CallGraphInfoListener.onInvoke", which makes "sendTextMessage" not identified as a target method.
Seems the problems are all because IntelliDroid adopts the default callgraph building phase, I'm not an expert in WALA, I was wondering is there any way to customize the callgraph building? Or IntelliDroid already did this but I missed that?
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.