Skip to content

Commit

Permalink
支持淘宝内使用支付宝支付
Browse files Browse the repository at this point in the history
  • Loading branch information
eritpchy committed Sep 12, 2017
1 parent 5db3b02 commit e6372f3
Show file tree
Hide file tree
Showing 8 changed files with 469 additions and 13 deletions.
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@

已适配版本:
微信: 6.5.8 6.5.10-1080 6.5.13-1100\
支付宝: 10.1.0.090418-114
支付宝: 10.1.0.090418-114\
淘宝: 6.11.0-161

注意: 支付宝由于编码方式的改变, 可以适配很多版本, 如有新版本没适配 请提ISSUES
注意: 由于支付宝、淘宝的代码编写方式的改变, 可以适配很多版本, 如有新版本没适配 请提ISSUES


感谢原作者 dss16694/WechatFp , 这么给力的项目
Expand All @@ -19,13 +20,17 @@
1. 下载并安装插件: https://github.com/eritpchy/WechatFp/releases/download/1.4.1/WeChatFp-1.4.1-release.apk
2. 下载并安装微信6.5.13-1100版本 https://github.com/eritpchy/WechatFp/releases/download/1.4.1/WeChat-6.5.13-1100.apk
3. 下载并安装支付宝10.1.0.090418-114版本 https://github.com/eritpchy/WechatFp/releases/download/2.0.0/Alipay-10.1.0.090418-114.apk
4. 启用插件, 输入密码
5. 重启手机,Enjoy.
4. 下载并安装淘宝6.11.0-161版本 https://github.com/eritpchy/WechatFp/releases/download/2.1.0/Taobao-6.11.0-161.apk
5. 启用插件, 输入密码
6. 重启手机,Enjoy.

百度云下载地址:
链接: https://pan.baidu.com/s/1eSq0QNw 密码: fbrg

小提示: 由于没有复杂密码的支付宝账号, 支付宝的支付密码只支持6位简单密码噢
友情提示:
1. 由于没有复杂密码的支付宝账号, 支付宝的支付密码只支持6位简单密码噢.
2. 以上提供的安装包均为 支付宝/微信/淘宝官方官方提供的安装包, 没有任何添加修改, 提供安装包只为方便你们找到指定适配过的安装包.
3. 本软件的网络功能仅限检查自己软件更新功能, 如不放心, 欢迎REVIEW代码.

![qq](https://github.com/eritpchy/WechatFp/raw/master/doc/qqGroup.png)

Expand Down
25 changes: 23 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "com.yyxx.wechatfp"
minSdkVersion 14
targetSdkVersion 26
versionCode 7
versionName "2.0.0"
versionCode 8
versionName "2.1.0"
buildConfigField "String", "APP_SETTINGS_NAME", "\"指紋設置\""
buildConfigField "String", "APP_PRODUCT_NAME", "\"WeChatFp\""
}
Expand Down Expand Up @@ -102,6 +102,27 @@ task debugAlipay(dependsOn: ["installDebug", stopAlipay]) {
}
}

task stopTaobao {
doLast {
println "Stop taobao..."
exec {
executable = ADB_PATH
args = ['shell', "am force-stop com.taobao.taobao"]
}
}
}

task debugTaobao(dependsOn: ["installDebug", stopTaobao]) {
doLast {
println "Start Taobao..."
exec {
executable = ADB_PATH
args = ['shell', "am start -n com.taobao.taobao/com.taobao.tao.welcome.Welcome"]
}

}
}

dependencies {
implementation 'com.android.support:support-v4:26.0.2'
implementation 'com.wei.android.lib:fingerprintidentify:1.2.1'
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/yyxx/wechatfp/Constant.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
public class Constant {

public static final String PACKAGE_NAME_WECHAT = "com.tencent.mm";
public static final String PACKAGE_NAME_ALIPY = "com.eg.android.AlipayGphone";
public static final String PACKAGE_NAME_ALIPAY = "com.eg.android.AlipayGphone";
public static final String PACKAGE_NAME_TAOBAO = "com.taobao.taobao";
public static final String HELP_URL_WECHAT = "https://github.com/eritpchy/WechatFp/blob/master/doc/WeChat/README.md";
public static final String HELP_URL_ALIPAY = "https://github.com/eritpchy/WechatFp/blob/master/doc/Alipay/README.md";
public static final String HELP_URL_TAOBAO = "https://github.com/eritpchy/WechatFp/blob/master/doc/Taobao/README.md";
public static final String PROJECT_URL = "https://github.com/eritpchy/WechatFp";
public static final String UPDATE_URL_GITHUB = "https://api.github.com/repos/eritpchy/WechatFp/releases/latest";
public static final String DONATE_ID_ALIPAY = "https://qr.alipay.com/FKX012222QIU52C6LATAB7";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@
import java.util.List;

import static com.yyxx.wechatfp.Constant.HELP_URL_ALIPAY;
import static com.yyxx.wechatfp.Constant.HELP_URL_TAOBAO;
import static com.yyxx.wechatfp.Constant.HELP_URL_WECHAT;
import static com.yyxx.wechatfp.Constant.PROJECT_URL;

public class HomeActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

public static final String SETTINGS_NAME_HELP_WECHAT = "微信指纹";
public static final String SETTINGS_NAME_HELP_ALIPAY = "支付宝指纹";
public static final String SETTINGS_NAME_HELP_TAOBAO = "淘宝指纹";
private static final String SETTINGS_NAME_CHECKUPDATE = "檢查更新";
private static final String SETTINGS_NAME_WEBSIDE = "項目主頁";

Expand All @@ -42,6 +44,7 @@ public void onCreate(Bundle savedInstanceState) {
List<PreferenceAdapter.Data> list = new ArrayList<>();
list.add(new PreferenceAdapter.Data(SETTINGS_NAME_HELP_WECHAT, "查看使用教程"));
list.add(new PreferenceAdapter.Data(SETTINGS_NAME_HELP_ALIPAY, "查看使用教程"));
list.add(new PreferenceAdapter.Data(SETTINGS_NAME_HELP_TAOBAO, "查看使用教程"));
list.add(new PreferenceAdapter.Data(SETTINGS_NAME_CHECKUPDATE, "點擊檢查软件更新"));
list.add(new PreferenceAdapter.Data(SETTINGS_NAME_WEBSIDE, "訪問項目主頁"));
list.add(new PreferenceAdapter.Data("当前版本", BuildConfig.VERSION_NAME));
Expand All @@ -61,6 +64,8 @@ public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
WebActivity.openUrl(this, HELP_URL_WECHAT);
} else if (SETTINGS_NAME_HELP_ALIPAY.equals(data.title)) {
WebActivity.openUrl(this, HELP_URL_ALIPAY);
} else if (SETTINGS_NAME_HELP_TAOBAO.equals(data.title)) {
WebActivity.openUrl(this, HELP_URL_TAOBAO);
} else if (SETTINGS_NAME_CHECKUPDATE.equals(data.title)) {
UpdateFactory.doUpdateCheck(this, false, true);
} else if (SETTINGS_NAME_WEBSIDE.equals(data.title)) {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/yyxx/wechatfp/util/ViewUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ public static void performActionClick(View view) {
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;

float x = new Random(downTime).nextInt(width);
float y = new Random(eventTime).nextInt(width);
float x = width > 0 ? new Random(downTime).nextInt(width) : 0;
float y = height > 0 ? new Random(eventTime).nextInt(height) : 0;
;
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState()
int metaState = 0;
Expand Down
26 changes: 24 additions & 2 deletions app/src/main/java/com/yyxx/wechatfp/xposed/WalletBaseUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.yyxx.wechatfp.util.log.L;
import com.yyxx.wechatfp.xposed.loader.XposedPluginLoader;
import com.yyxx.wechatfp.xposed.plugin.XposedAlipayPlugin;
import com.yyxx.wechatfp.xposed.plugin.XposedTaobaoPlugin;
import com.yyxx.wechatfp.xposed.plugin.XposedWeChatPlugin;

import de.robv.android.xposed.IXposedHookLoadPackage;
Expand All @@ -16,7 +17,8 @@
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

import static com.yyxx.wechatfp.Constant.PACKAGE_NAME_ALIPY;
import static com.yyxx.wechatfp.Constant.PACKAGE_NAME_ALIPAY;
import static com.yyxx.wechatfp.Constant.PACKAGE_NAME_TAOBAO;
import static com.yyxx.wechatfp.Constant.PACKAGE_NAME_WECHAT;


Expand All @@ -38,7 +40,8 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedPluginLoader.load(XposedWeChatPlugin.class, context, lpparam);
}
});
} else if (lpparam.packageName.equals(PACKAGE_NAME_ALIPY)) {
} else if (lpparam.packageName.equals(PACKAGE_NAME_ALIPAY)) {
L.d("loaded: [" + lpparam.packageName + "]" + " version:" + BuildConfig.VERSION_NAME);
XposedHelpers.findAndHookMethod(Application.class, "onCreate", new XC_MethodHook() {
@TargetApi(21)
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
Expand All @@ -47,6 +50,25 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedPluginLoader.load(XposedAlipayPlugin.class, context, lpparam);
}
});
} else if (lpparam.packageName.equals(PACKAGE_NAME_TAOBAO)) {
L.d("loaded: [" + lpparam.packageName + "]" + " version:" + BuildConfig.VERSION_NAME);
XposedHelpers.findAndHookMethod(Application.class, "onCreate", new XC_MethodHook() {
//受Atlas影响Application onCreate入口只需执行一次即可
private boolean mCalled = false;
@TargetApi(21)
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
L.d("Application onCreate");
if (mCalled == false) {
mCalled = true;
Context context = (Context) param.thisObject;
if (context == null) {
L.d("context eq null what the hell.");
return;
}
XposedPluginLoader.load(XposedTaobaoPlugin.class, context, lpparam);
}
}
});
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ public void showFingerPrintDialog(final Activity activity) {
} catch (OutOfMemoryError e) {
}
}

private void doSettingsMenuInject(final Activity activity) {
int logout_id = activity.getResources().getIdentifier("logout", "id", "com.alipay.android.phone.openplatform");

Expand Down
Loading

0 comments on commit e6372f3

Please sign in to comment.