Closed XYIheng closed 1 year ago
Hi,
Thanks for bringing this to our attention. It seems that the jar under release is not up to date with the latest version of the source code (see #8 ). You can either build the source code or try with the updated jar I just pushed :)
Also, regarding the first picture, please make sure that the decompiled version of the apk is produced under the output folder for Backstage to run properly.
@dah-fari7009 Thanks for your quickly repsponse! I download the latest jar you just pushed and run it successfully. Great! Thanks again for your help~
@dah-fari7009 Hello, I run the latest jar with "java -jar target/GoalExplorer-1.2-SNAPSHOT-jar-with-dependencies.jar ge -i nl.mpcjanssen.simpletask_11000001.apk -s ~/Android -o ./output/ --target "act:nl.mpcjanssen.simpletask.Preferences" " And get the ouput
However, I don't know how to analyze the generated output, could you help me? I want to know how can I get the path to the target (e.g., activity) from the generated output
Hi,
The output represents the graph in XML format, where screenNodeSet
,serviceNodeSet
and broadcastReceiverNodeSet
contain all the screens (i.e., activities with variations of fragments, menu and dialogs), services and broadcast receivers respectively. Target nodes are marked with <target>true</target>
transitionEdges
contains all the edges in the graph, each from a source node (srcNode) to a destination node (tgtNode).
To get the path, from a given screen (e.g., MainActivity) to a target, you can either trace it manually (i.e., find the sequence of edges in transitionEdges starting from MainActivity as a srcNode and leading to the screen you're interested in) or you can write a script to parse the xml. There's a number of XML parsers that could help with this task, e.g., xml.etree or nokogiri which is used in the dynamic runner, see GoalExplorer/Stoat/a3e/bin/stg.rb for an example.
I'll mark this as closed as the original issue was completed. Feel free to let us know if you run into any additional issues with the tool :)
@dah-fari7009 Sorry to bother you. For the tested APK, do we need to manually use apktool or other tools to decompile the apk and put the generated decompiled files into the output folder? Or does GoalExplorer decompile automatically?
I think that the GoalExplorer would decompile it automatically. @Connor-fire
@dah-fari7009 Thanks again for your kind response! Your answer solved my question
@Connor-fire yes, as @XYIheng noted, GoalExplorer will automatically decompile the apk @XYIheng Of course, happy to help :)
Hi, I am running the GoalExplorer-1.2-SNAPSHOT-jar-with-dependencies.jar provided in the github release. However, I encounter an error.
Can you help me? Thanks a lot