Use Apktool to decompile the Smali, and then pack back, because do not know Baidu's signature, so must use another signature.
Java-jar Sign.jar. \baiduyun\dist\baiduyun_7. 12.1. apk
However, Baidu's program will still be authenticated signature, resulting in the packaging of the program can not run.
Trace the Smali file, you can see this code
. class public Final lcom/baidu/bdcvf/certverifier;
. Method public _ (Landroid/content/context; Lcom/baidu/bdcvf/certverifier$resultlistener;) V 0 . Prologue invoke-static {p1, p2}, lcom/baidu/bdcvf/n; ->a (ljava/lang/object; Ljava/lang/object;) V - Return-void.end method
The [com/baidu/bdcvf/n;->a] function is used to call lib\armeabi\libbdcvf.so to verify the signature.
If successful, the _ () v function of Certverifier$resultlistener is called, if the _ (I) v function fails.
Therefore, all classes that apply Certverifier$resultlistener are used to modify the method.
(When testing, the COM/BAIDU/NETDISK/UI/BG is used because Com/baidu/netdisk/ui/navigate initiates active
So I changed this one.)
. Method public _ (I) V 2 prologue invoke-virtual {p0}, lcom/baidu/netdisk/ui/bg; ->_ () V return-void.end method.method public _222 (I) V 2 . Prologue < omitted > Return-void.end Method
The new _ (I) v function, called the _ () v function, is passed. The old function is named _222 (I) V in case the error is changed.
Bypassing the signature certification of Baidu Cloud