Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
过滤器应用程序';Android跟踪文件中的s方法调用_Android_Debugging - Fatal编程技术网

过滤器应用程序';Android跟踪文件中的s方法调用

过滤器应用程序';Android跟踪文件中的s方法调用,android,debugging,Android,Debugging,我已经开始研究Android应用程序。因此,对于应用程序的动态分析,我需要做一些数据和控制缺陷的工作。我使用收集跟踪文件,并且可以使用查看跟踪文件 不幸的是,跟踪文件同时包含系统调用和应用程序调用。例如,为了调用EditText小部件的setText方法,跟踪文件包括如下日志: 0x71aefac0 android.widget.TextView checkForRelayout ()V TextView.java 0x71aefaf0 android.widget.TextView

我已经开始研究Android应用程序。因此,对于应用程序的动态分析,我需要做一些
数据
控制缺陷
的工作。我使用收集跟踪文件,并且可以使用查看跟踪文件

不幸的是,跟踪文件同时包含系统调用和应用程序调用。例如,为了调用
EditText
小部件的
setText
方法,跟踪文件包括如下日志:

0x71aefac0  android.widget.TextView checkForRelayout    ()V TextView.java
0x71aefaf0  android.widget.TextView checkForResize  ()V TextView.java
0x71aefbe0  android.widget.TextView createEditorIfNeeded    ()V TextView.java
0x71aefd00  android.widget.TextView getBoxHeight    (Landroid/text/Layout;)I    TextView.java
0x71aefd30  android.widget.TextView getDesiredHeight    ()I TextView.java
0x71aefd60  android.widget.TextView getDesiredHeight    (Landroid/text/Layout;Z)I   TextView.java
0x71aefdf0  android.widget.TextView getLayoutAlignment  ()Landroid/text/Layout$Alignment;   TextView.java
0x71af0000  android.widget.TextView invalidateCursor    (III)V  TextView.java
0x71af0150  android.widget.TextView isMultilineInputType    (I)Z    TextView.java
0x71af0240  android.widget.TextView makeSingleLayout    (ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;    TextView.java
0x71af0300  android.widget.TextView registerForPreDraw  ()V TextView.java
0x71af0390  android.widget.TextView removeIntersectingNonAdjacentSpans  (IILjava/lang/Class;)V  TextView.java
0x71af0480  android.widget.TextView sendBeforeTextChanged   (Ljava/lang/CharSequence;III)V  TextView.java
0x71af04b0  android.widget.TextView setFilters  (Landroid/text/Editable;[Landroid/text/InputFilter;)V   TextView.java
0x71af0630  android.widget.TextView setText (Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V   TextView.java
0x71af0690  android.widget.TextView shouldAdvanceFocusOnEnter   ()Z TextView.java
0x71af07b0  android.widget.TextView stopMarquee ()V TextView.java
我想过滤应用程序执行的方法调用,如下所示:

0x71af0630  android.widget.TextView setText (Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V   TextView.java
谁能指导我实现我的目标


提前感谢:)

我能想到的最简单的方法是:

1) 通过对apk类名进行反编译并查找“.smali”文件来检索apk类名。文件夹是包,smali名称是类名


2) 用于检索跟踪的点树表示形式,然后从apk类的方法调用节点中删除深度为2或2以上的所有方法调用。

我能想到的最简单的方法是:

1) 通过对apk类名进行反编译并查找“.smali”文件来检索apk类名。文件夹是包,smali名称是类名

2) 用于检索跟踪的点树表示形式,然后从apk类的方法调用节点中删除深度为2或2以上的所有方法调用