Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:matedealer/soot-infoflow-android…
Browse files Browse the repository at this point in the history
… into develop
  • Loading branch information
StevenArzt committed Apr 13, 2015
2 parents d82a2ec + 6d04436 commit 0e20f4a
Show file tree
Hide file tree
Showing 45 changed files with 4,008 additions and 602 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ bin
/build
/reports
/insecureBank/InsecureBank
/out.log
11 changes: 11 additions & 0 deletions .project
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,19 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>
Binary file removed PLDI14 Distribution/FlowDroid.zip
Binary file not shown.
8 changes: 5 additions & 3 deletions SourcesAndSinks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<org.apache.http.util.EntityUtils: byte[] toByteArray(org.apache.http.HttpEntity)> -> _SOURCE_
<org.apache.http.util.EntityUtils: java.lang.String getContentCharSet(org.apache.http.HttpEntity)> -> _SOURCE_

%<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)> -> _SINK_
<org.apache.http.message.BasicNameValuePair: void <init>(java.lang.String,java.lang.String)> -> _SINK_

% add Activity.getIntent() as source instead of the next methods to avoid duplicate results.
%<android.content.Intent: java.lang.String getAction()> -> _SOURCE_
Expand Down Expand Up @@ -69,7 +69,7 @@
%<android.content.Intent: android.graphics.Rect getSourceBounds()> -> _SOURCE_
%<android.content.Intent: java.lang.String[] getStringArrayExtra(java.lang.String)> -> _SOURCE_
%<android.content.Intent: java.util.ArrayList getStringArrayListExtra(java.lang.String)> -> _SOURCE_
<android.content.Intent: java.lang.String getStringExtra(java.lang.String)> -> _SOURCE_
%<android.content.Intent: java.lang.String getStringExtra(java.lang.String)> -> _SOURCE_
%<android.content.Intent: java.lang.String getType()> -> _SOURCE_

%<android.content.Intent: void <init>()> -> _SOURCE_
Expand Down Expand Up @@ -345,4 +345,6 @@

<java.lang.ProcessBuilder: java.lang.Process start()> -> _SINK_

<android.app.NotificationManager: void notify(int,android.app.Notification)> -> _SINK_
<com.example.testflowdroid.SourceAndSink: java.lang.String source(com.example.testflowdroid.MyObject)> -> _SOURCE_
<com.example.testflowdroid.SourceAndSink: void sink(com.example.testflowdroid.MyObject)> -> _SINK_

113 changes: 113 additions & 0 deletions exchangeFormat.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="sinkSources">
<xs:complexType>
<xs:sequence>
<xs:element name="method" type="methodType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<!-- Help for discribing the method for sinkSources -->
<xs:complexType name="methodType">
<xs:sequence>
<xs:element name="base" type="type" minOccurs="0" maxOccurs="1"/>
<xs:element name="return" type="type" minOccurs="0" maxOccurs="1" />
<xs:element name="param" type="typeWithIndex" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="signature" type="xs:string" use="required"/>
<xs:attribute name="category" type="categoryEnum" use="required" />
</xs:complexType>

<xs:complexType name="type">
<xs:sequence>
<xs:element name="accessPath" type="metaPath" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
</xs:complexType>

<xs:complexType name="typeWithIndex">
<xs:complexContent>
<xs:extension base="type">
<xs:attribute name="index" type="indexType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

<xs:simpleType name="indexType">
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="128" />
</xs:restriction>
</xs:simpleType>

<!-- Help type for discribing the accesspath for baseType, returnType and paramType -->
<xs:complexType name="metaPath">
<xs:sequence>
<xs:element name="pathElement" type="pathElementType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="isSource" type="xs:boolean" default="false"/>
<xs:attribute name="isSink" type="xs:boolean" default="false"/>
<xs:attribute name="length" type="xs:int" use="required" />
</xs:complexType>

<xs:complexType name="pathElementType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="index" type="xs:int" use="required"/>
<xs:attribute name="type" type="xs:string" use="required"/>
<xs:attribute name="field" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>






<!--Special type to describe a potential sink.
Distinguishing between all categories(ALL), sources(NO_CATEGORY-PHONE_INFORMATION), sinks(PHONE_CONNECTION-LOG) and shared (AUDIO-NFC). -->

<xs:simpleType name="categoryEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL" />
<xs:enumeration value="NO_CATEGORY" />
<xs:enumeration value="HARDWARE_INFO" />
<xs:enumeration value="UNIQUE_IDENTIFIER" />
<xs:enumeration value="LOCATION_INFORMATION" />
<xs:enumeration value="NETWORK_INFORMATION" />
<xs:enumeration value="ACCOUNT_INFORMATION" />
<xs:enumeration value="EMAIL_INFORMATION" />
<xs:enumeration value="FILE_INFORMATION" />
<xs:enumeration value="BLUETOOTH_INFORMATION" />
<xs:enumeration value="VOIP_INFORMATION" />
<xs:enumeration value="DATABASE_INFORMATION" />
<xs:enumeration value="PHONE_INFORMATION" />
<xs:enumeration value="PHONE_CONNECTION" />
<xs:enumeration value="INTER_APP_COMMUNINCATION" />
<xs:enumeration value="VOIP" />
<xs:enumeration value="PHONE_STATE" />
<xs:enumeration value="EMAIL" />
<xs:enumeration value="BLUETOOTH" />
<xs:enumeration value="ACCOUNT_SETTINGS" />
<xs:enumeration value="VIDEO" />
<xs:enumeration value="SYNCHRONIZATION_DATA" />
<xs:enumeration value="NETWORK" />
<xs:enumeration value="EMAIL_SETTINGS" />
<xs:enumeration value="FILE" />
<xs:enumeration value="LOG" />
<xs:enumeration value="AUDIO" />
<xs:enumeration value="SMS_MMS" />
<xs:enumeration value="CONTACT_INFORMATION" />
<xs:enumeration value="CALENDAR_INFORMATION" />
<xs:enumeration value="SYSTEM_SETTINGS" />
<xs:enumeration value="IMAGE" />
<xs:enumeration value="BROWSER_INFORMATION" />
<xs:enumeration value="NFC" />
</xs:restriction>
</xs:simpleType>


</xs:schema>
Loading

0 comments on commit 0e20f4a

Please sign in to comment.