Apktool v2.0.3 - a tool for reengineering Android apk files with smali v2.1.0 and baksmali v2.1.0 usage: apktool -advance,--advanced prints advance information. -version,--version prints the version then exits usage: apktool if|install-framework [options] <framework.apk> -p,--frame-path <dir> Stores framework files into <dir>. -t,--tag <tag> Tag frameworks using <tag>. usage: apktool d[ecode] [options] <file_apk> -f,--force Force delete destination directory. -o,--output <dir> The name of folder that gets written. Default is apk.out -p,--frame-path <dir> Uses framework files located in <dir>. -r,--no-res Do not decode resources. -s,--no-src Do not decode sources. -t,--frame-tag <tag> Uses framework files tagged by <tag>. usage: apktool b[uild] [options] <app_path> -f,--force-all Skip changes detection and build all files. -o,--output <dir> The name of apk that gets written. Default is dist/name.apk -p,--frame-path <dir> Uses framework files located in <dir>.
D:\dev\reverse>apktool d -o qq mobileqq_android_6.2.3.apk
I: Using Apktool 2.0.3 on mobileqq_android_6.2.3.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple res specs: attr/name
at brut.androlib.res.data.ResTypeSpec.addResSpec(ResTypeSpec.java:78)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:248)
at brut.androlib.res.decoder.ARSCDecoder.readTableType(ARSCDecoder.java:212)
at brut.androlib.res.decoder.ARSCDecoder.readTableTypeSpec(ARSCDecoder.java:154)
at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:116)
at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:544)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
at brut.androlib.Androlib.getResTable(Androlib.java:66)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:198)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:96)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
set JAVA_OPTS=-server -Xms1024m -Xmx8192m -XX:PermSize=256m -XX:MaxPermSize=1024m
<string name="qb_hbdetail_command_word">口令红包</string>
0x7f0a0e5a (2131365466) = string.qb_hbdetail_command_word: 口令红包
package com.tencent.mobileqq.data;
import android.text.TextUtils;
import com.tencent.mobileqq.hotpatch.NotVerifyClass;
import cooperation.qzone.util.WiFiDash;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import tencent.im.msg.im_msg_body.QQWalletAioBody;
/* compiled from: ProGuard */
public class QQWalletRedPacketMsg {
public String authkey;
private int channelId;
public int conftype;
public QQWalletTransferMsgElem elem;
public String envelopeName;
public int envelopeid;
public boolean isOpened;
public int msgFrom;
public String redPacketId;
public int redtype;
private int resend;
public int templateId;
public class MessageForQQWalletMsg extends ChatMessage {
// 哦哦?COMMAND_REDPACKET?口令红包
public static final int MSG_TYPE_COMMAND_REDPACKET = 6;
public static final int MSG_TYPE_COMMON_REDPACKET = 2;
public static final int MSG_TYPE_COMMON_THEME_REDPACKET = 4;
public static final int MSG_TYPE_INDIVIDUAL_REDPACKET = 2001;
public static final int MSG_TYPE_LUCY_REDPACKET = 3;
public static final int MSG_TYPE_LUCY_THEME_REDPACKET = 5;
public static final int MSG_TYPE_PUBLIC_ACCOUNT_REDPACKET = 2002;
public static final int MSG_TYPE_TRANSFER = 1;
...
public static boolean isCommandRedPacketMsg(MessageRecord messageRecord) {
if (messageRecord != null && (messageRecord instanceof MessageForQQWalletMsg) && ((MessageForQQWalletMsg) messageRecord).messageType == MSG_TYPE_COMMAND_REDPACKET) {
return true;
}
return false;
}
L_0x0100: r2 = com.tencent.mobileqq.data.MessageForQQWalletMsg.isCommandRedPacketMsg(r25); if (r2 == 0) goto L_0x011e;
public void b(String str) {
((TroopTipsMsgMgr) this.f2203a.getManager(80)).a(str, "\u533f\u540d\u4e0d\u80fd\u62a2\u53e3\u4ee4\u7ea2\u5305\u54e6", NetConnInfoCenter.getServerTime(), BaseConstants.DEFAULT_QUICK_HEARTBEAT_TIMEOUT, f);
}
public long[] m883a(SessionInfo sessionInfo, String str) {
if (QLog.isColorLevel()) {
QLog.d(f2197a, (int) h, "openPasswdRedBagByPassword, passwd = " + str);
}
long[] jArr = new long[]{0, 0};
if (sessionInfo == null) {
return jArr;
}
if (TextUtils.isEmpty(str)) {
return jArr;
}
c();
List<String> list = (List) this.f2206a.get(str);
if (list == null || list.isEmpty()) {
return jArr;
}
PasswdRedBagInfo passwdRedBagInfo;
String str2 = a(sessionInfo.a) + "_" + sessionInfo.f1757a;
for (String str3 : list) {
HashMap hashMap = (HashMap) this.f2209b.get(str3);
if (hashMap != null) {
passwdRedBagInfo = (PasswdRedBagInfo) hashMap.get(str2);
if (!(passwdRedBagInfo == null || a(str3))) {
jArr[g] = passwdRedBagInfo.a.uint64_creator_uin.get();
if (!b(str3)) {
if (!c(str3)) {
hashMap.put(str2, passwdRedBagInfo);
jArr[f] = 1;
break;
}
jArr[f] = 3;
} else {
jArr[f] = 2;
}
}
}
}
passwdRedBagInfo = null;
if (passwdRedBagInfo == null) {
return jArr;
}
b(sessionInfo.a, sessionInfo.f1757a, passwdRedBagInfo.a.string_redbag_id.get().toStringUtf8());
a(sessionInfo, passwdRedBagInfo);
return jArr;
}
b(sessionInfo.a, sessionInfo.f1757a, passwdRedBagInfo.a.string_redbag_id.get().toStringUtf8()); a(sessionInfo, passwdRedBagInfo);
public long[] b(SessionInfo sessionInfo, String str) {
if (QLog.isColorLevel()) {
QLog.d(f2197a, (int) h, "openPasswdRedBagById, id = " + str);
}
b(sessionInfo.a, sessionInfo.f1757a, str); a(sessionInfo, passwdRedBagInfo);
public void a(SessionInfo sessionInfo, PasswdRedBagInfo passwdRedBagInfo) {
if (sessionInfo != null && passwdRedBagInfo != null) {
Object obj = (sessionInfo.a == 0 || sessionInfo.a == h || sessionInfo.a == Action.ACTION_REGISTNEWACCOUNT_COMMITSMS || sessionInfo.a == Action.ACTION_LOGIN) ? g : null;
String str = sessionInfo.f1757a;
String valueOf = String.valueOf(passwdRedBagInfo.a.uint64_creator_uin.get());
if (obj != null) {
str = valueOf.equals(this.f2213d) ? sessionInfo.f1757a : this.f2213d;
}
JSONObject a = QQWalletMsgItemBuilder.a(this.f2203a, sessionInfo, passwdRedBagInfo.a.string_redbag_id.get().toStringUtf8(), passwdRedBagInfo.a.string_authkey.get().toStringUtf8(), str, "appid#1344242394|bargainor_id#1000030201|channel#msg", "graphb", null);
Bundle bundle = new Bundle();
bundle.putString("json", a.toString());
bundle.putString("callbackSn", jbi.a);
Intent intent = new Intent(this.f2200a, PayBridgeActivity.class);
intent.putExtras(bundle);
intent.addFlags(268435456);
intent.putExtra("pay_requestcode", 5);
this.f2200a.startActivity(intent);
}
}
public void b(int i, String str, String str2) {
if (!TextUtils.isEmpty(str2)) {
HashMap hashMap = (HashMap) this.f2209b.get(str2);
if (hashMap != null) {
PasswdRedBagInfo passwdRedBagInfo = (PasswdRedBagInfo) hashMap.get(a(i) + "_" + str);
if (passwdRedBagInfo != null && !passwdRedBagInfo.f4810a) {
passwdRedBagInfo.f4810a = true;
ThreadManager.a(new kmr(this, str2), h, null, true);
}
}
}
}
public PasswdRedBagManager f25190a;
...
public class EnterForSend implements OnKeyListener, OnEditorActionListener {
...
// 这里从方法名判断是每次输入点击发送后调用
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if (i != BaseChatPie.dr) {
return false;
}
String obj = this.a.f25220a.getText().toString();
if (obj.length() > 0) {
// 调用了外部类的下述方法
long[] a = this.a.a(obj);
// 再进行消息发送
SendMsgParams sendMsgParams = new SendMsgParams();
sendMsgParams.b = this.a.dL;
sendMsgParams.a = this.a.dJ;
sendMsgParams.c = this.a.dN;
sendMsgParams.f26863c = this.a.dL;
...
}
return true;
}
}
// 这里调用了那2个openPasswdRedBagxxx方法
public long[] m5613a(String str) {
long[] jArr = null;
// 非匿名模式才会继续尝试匹配口令红包,原来里里外外都做了判断
if (!AnonymousChatHelper.a().a(this.f25174a.a)) {
if (TextUtils.isEmpty(this.f25269d) || !str.equals(this.f25278e)) {
// 使用密码打开
jArr = this.f25190a.a(this.f25174a, str);
} else {
// 使用redPacketId直接打开
jArr = this.f25190a.b(this.f25174a, this.f25269d);
}
// 无意义的打log打点啥的,华丽丽地无视吧
if (jArr != null && jArr[s] == 1) {
this.f25269d = QunUppUploadTask.QunUppAppId;
this.f25278e = QunUppUploadTask.QunUppAppId;
this.f25228a.sendEmptyMessage(dz);
if (QLog.isColorLevel()) {
QLog.d(PasswdRedBagManager.a, u, "passwdredbags result[0]=" + jArr[s] + ",result[1]=" + jArr[t] + ",send str=" + str);
}
}
} else if (QLog.isColorLevel()) {
QLog.d(PasswdRedBagManager.a, u, "current is in Anonymous, dont search passwdredbags");
}
return jArr;
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有