为什么apk反编译后闪退apk游戏成功,还会闪退

安卓软件反编译后回编译运行几秒后闪退。怎么解决? 原文件直接反编译然后回编译出现闪退。 原文件反编_百度知道
安卓软件反编译后回编译运行几秒后闪退。怎么解决? 原文件直接反编译然后回编译出现闪退。 原文件反编
安卓软件反编译后回编译运行几秒后闪退。怎么解决?
原文件直接反编译然后回编译出现闪退。
原文件反编译然后回编译并添加原有dex文件出现闪退。
反编译dex文件然后回编译,并添加进原程序包出现闪退。
删除原程序签名文件重新签名程序正常运行
替换程序图标后...
我有更好的答案
请问你解决了吗,我也遇到了这种问题
  从前不久河南的一大学生,高额贷款无法偿还,跳楼自杀,记者亲身体验,只要身份信息属实,审核只需要半个小时就能通过。还会教你如何在电话号码上作假,就即使填写的真的是父母的电话,也不会把校园贷款的事告知父母。现在大学里校园贷款随处可见,明知道是不合法的还在继续给学生贷款,丝毫不去考虑学生的偿还能力。这一系列的乱象,真的该去管管,治理一下了。不要再让悲剧发生了
兄弟,我真心求教。请你不要瞎捣乱。谢谢
为您推荐:
其他类似问题
安卓的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。前段时间项目上线,单机游戏,想着肯定是会被破解的,但没想到,分分钟就被破了,游戏数据也是相当的差,于是闲暇时,也自己研究下安卓的破解。
个人观点(装一下X):所谓反编译和破解付费等都只应用于学习交流,发布出去,就有点太不尊重他人劳动成果了。
使用工具:(当然首先得配好java环境,这是废话)
  apktool : 资源文件获取,可以提取出图片文件和布局文件
  dex2jar : & 得到java源码(将classes.dex 转化为jar 文件)
  jd-gui  : & 查看转化得到的jar文件的源码
一、 解包,打包
  命令行,输入 java & -jar apktool.jar d &-f test.apk &(此处我用的apktool为最新版本)
  此时可以看到解包出的文件,smali 就是java代码了,当然里这里是smali代码,类似于汇编,但需要修改原本的代码的话,还得去改它。
  改好后,只需要&java -jar apktool.jar -b &test &
  其中test 为我们刚刚解包的文件夹名,就可以得到重新打包的apk了,位于dist文件夹下。
  当然此时的apk是不带签名的。需要安装得自己再对apk进行签名,相关工具也挺多的。
二、得到java源码
  自行解压原apk文件,得到其中的classes.dex 文件
  运行命令 d2j-dex2jar.bat classes.dex &(这里我用的是最新版的dex2jar-2.0版本,以前版本bat可能名字有点不一样)
将在 d2j-dex2jar.bat &目录下得到&classes-dex2jar.jar 文件
  然后再用jd_gui工具打开这个jar文件就可以看到java源代码了,但可以很多apk进行混淆以后,代码后变得很难阅读。
  很多没有做过多防护的游戏,很可能就这样就可以简单看到代码了。这样岂不是所有人都在裸奔了,事实当然不可能这样子。通过加密,可以做到让你得不到所有的smali和java源码。可以参考下面这篇文章对app加密
参考:http://blog.csdn.net/chengyingzhilian/article/details/
  但个人认为,网络游戏本身肯定是不会有什么问题,但单机游戏,短代支付这种,付费文件都是在本地,没有二次验证的付费,即使所有地方都加密了,替掉计费文件不就一样算是破解了吗?
以下为smali的基础语法
.field private isFlag:z  定义变量
.method  方法
.parameter  方法参数
.prologue  方法开始
.line 12  此方法位于第12行
invoke-super  调用父函数
const/high16 &v0, 0x7fo3  把0x7fo3赋值给v0
invoke-direct  调用函数
return-void  函数返回void
.end method  函数结束
new-instance  创建实例
iput-object  对象赋值
iget-object  调用对象
invoke-static  调用静态函数
条件跳转分支:
"if-eq vA, vB, :cond_**"& &如果vA等于vB则跳转到:cond_**"if-ne&vA, vB, :cond_**"& &如果vA不等于vB则跳转到:cond_**"if-lt&vA, vB, :cond_**"& &&如果vA小于vB则跳转到:cond_**"if-ge&vA, vB, :cond_**"& &如果vA大于等于vB则跳转到:cond_**"if-gt&vA, vB, :cond_**"& &如果vA大于vB则跳转到:cond_**"if-le&vA, vB, :cond_**"& &&如果vA小于等于vB则跳转到:cond_**"if-eqz vA, :cond_**"& &如果vA等于0则跳转到:cond_**"if-nez&vA, :cond_**"& &如果vA不等于0则跳转到:cond_**"if-ltz&vA, :cond_**"& &&如果vA小于0则跳转到:cond_**"if-gez&vA, :cond_**"& &如果vA大于等于0则跳转到:cond_**"if-gtz&vA, :cond_**"& &如果vA大于0则跳转到:cond_**"if-lez&vA, :cond_**"& &&如果vA小于等于0则跳转到:cond_**
阅读(...) 评论()17被浏览7,599分享邀请回答AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("退出");
builder.setMessage("是否退出游戏?");
builder.setPositiveButton("確定", new OnClickListener()
public void onClick(DialogInterface dialog, int which)
builder.setNegativeButton("取消", new OnClickListener()
public void onClick(DialogInterface dialog, int which)
dialog.dismiss();
builder.setIcon(R.drawable.app_icon); // 很急很关键
AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(false);
dialog.show();
运行的结果是这样的:WTFx3! 这张图你是谁?人与机器之间最基本的信任在哪里?于是我们尝试反编译APK看问题在哪里,发现是Unity5 在最前面自动给我们加了个app_banner:到了这里我们只能将所有用到R相关的东西全用反射来拿了,方法大概长成下面这个样子:public static int GetIdFromR(Context context, String the_class, String the_name)
int id = -1;
String packageName = context.getPackageName();
Class&?& the_r_class = Class.forName(packageName + ".R$" + the_class);
id = the_r_class.getField(the_name).getInt(the_r_class);
catch(Exception e)
e.printStackTrace();
return id;
调用的话是这样:builder.setIcon(GetIdFromR(this, "drawable", "app_icon"));于是,我们见到了久违的弹出框:最后的最后,我讨厌雨松MOMO叼着奶嘴的头像。:修改初版完成。:错别字修改,吐槽添加完毕。=================== 以下是原答案 =================== Unity接入Android sdk有两种方式:一是Android插件的形式导入unity(unity5注意package的问题hack即可,具体优雅解决还待细查)。二是unity导出Android工程来做。两种方法都应该是可行的,具体闪退原因看Logcat应该能找出原因,猜测是主启动活动没写全路径。75 条评论分享收藏感谢收起01 条评论分享收藏感谢收起写回答反编译apk(就改了logo)后打包签名后,安装闪退,如何解决?_百度知道
反编译apk(就改了logo)后打包签名后,安装闪退,如何解决?
com/s/1pLD2luj" target="_blank">https://pan.baidu以下有原apk以及我想要更换logo的链接文件链接如下:<a href="https.baidu://pan
或者能否告诉我哪些原因会导致出现这个问题?
我有更好的答案
、可能运行问题、可能是内存不
够接收不到新的信息。可用软件清理一下垃圾。可把原软件卸载。4。如果
日期和时间不正确,将会导致网络错误的出现。5、也可能是
软件的服务器出现问题,只需要等一段时间就会恢复。2、可能是日期或者时
间不对。可查看一下日期时间,是否正确,然后重新下载,安装,释放内存。3、可能是下载的
软件损害。可重新启动
手机或者电脑
采纳率:95%
来自团队:
为您推荐:
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 apk签名打包造成闪退 的文章

 

随机推荐