如何查看Android里面其他应用的数据


使用真机测试保证 手机端能访问电脑端,可用Tomcat 测试。

注意关闭Windows 防火墙, 路由器防火墙。


1. 使用 Fiddler 拦截 网络数据包,可以获得应用网络的下载地址

在fiddler中启用代理

使用如下代码启动模拟器

emulator -avd <模拟器名字> -http-proxy <HOST:PORT> -sdcard <SDcard镜像文件>


2. 对于加密后的数据,可以使用 apktool 反编译得到 asmli 并在asmli 里面植入代码打印揭秘后的数据


apktool 反编译命令

apktool.bat d <APK应用名>.apk <文件夹名>

apktook 打包apk命令

apktool.bat b <文件夹名> <APK应用名>.apk


打印代码如下

1 const-string v0, " SN: "

2 invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I


签名应用代码如下:

"D:\Program Files\Java\jdk1.6.0_34\bin\jarsigner.exe" -verbose -storepass <密码> -keystore <签名文件> -signedjar <签名后的文件> <签名前的文件> key0

"D:/Program Files/Java/jdk1.6.0_34/bin/jarsigner.exe" -verbose -storepass xgnenglish~!@ -keystore "C:/Users/Ryan/Desktop/sign_key_password_xgnenglish~!@" -signedjar "C:/Users/Ryan/Desktop/out/安智市场_sign.apk" "C:/Users/Ryan/Desktop/out/安智市场.apk" key0


.method private runCommand(Ljava/lang/String;)V

.locals 3

.parameter "command"


.prologue

.line 301

:try_start_0

const-string v2, "TAGREC"


invoke-static {v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I


new-instance v1, Ljava/lang/StringBuilder;


invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V


invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;


move-result-object v1


const-string v2, "\n"


invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;


move-result-object v1


invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;


move-result-object p1


.line 302

iget-object v1, p0, Lcom/iwobanas/screenrecorder/RecorderProcess;->stdin:Ljava/io/OutputStream;


invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B


move-result-object v2


invoke-virtual {v1, v2}, Ljava/io/OutputStream;->write([B)V


.line 303

iget-object v1, p0, Lcom/iwobanas/screenrecorder/RecorderProcess;->stdin:Ljava/io/OutputStream;


invoke-virtual {v1}, Ljava/io/OutputStream;->flush()V

:try_end_0

.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0


.line 307

:goto_0

return-void


.line 304

:catch_0

move-exception v0


.line 305

.local v0, e:Ljava/io/IOException;

iget-object v1, p0, Lcom/iwobanas/screenrecorder/RecorderProcess;->TAG:Ljava/lang/String;


const-string v2, "Error running command"


invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I


goto :goto_0

.end method