r7玩开心消消乐wlan用不了

【Android 原创】开心消消乐lua脚本解密
0x01 定位开心消消乐lua的解析引擎在libhegame.so中,用IDA分析,发现很多函数并没有符号,包括所使用的OpenSSL和Lua的第三方库,增加了逆向的难度。不过字符串并没有加密,可以通过查找".lua" "load" 这些字符串找到关键地方,通过字符串可以快速定位到加载lua文件的地方。void __fastcall lua_load(int a1){& int v1; // r0@1& int v2; // r3@1& int *v3; // r0@3& int v4; // r0@3& signed int v5; // r7@3& int v6; // r0@4& int v7; // r0@6& int v8; // r5@6& int v9; // r6@12& int v10; // r5@12& int v11; // r0@15& int v12; // r4@15& int v13; // r5@17& int v14; // r4@18& int v15; // r5@7& int v16; // r0@30& int v17; // r6@30& int v18; // r0@30& int v19; // r0@30& int v20; // r0@30& int v21; // r0@30& int v22; // r0@30& int v23; // r0@30& int v24; // r0@30& int v25; // r6@30& int v26; // r0@30& int v27; // r0@31& int v28; // r0@31& int *v29; // r0@33& const char *v30; // r1@33& int v31; // r0@16& // [sp+8h] [bp-108h]@4& int v33; // [sp+Ch] [bp-104h]@3& int v34; // [sp+10h] [bp-100h]@1& int v35; // [sp+1Ch] [bp-F4h]@1& char v36; // [sp+20h] [bp-F0h]@2& int v37; // [sp+24h] [bp-ECh]@3& char v38; // [sp+28h] [bp-E8h]@3& char v39; // [sp+2Ch] [bp-E4h]@3& char v40; // [sp+30h] [bp-E0h]@3& int v41; // [sp+34h] [bp-DCh]@3& // [sp+38h] [bp-D8h]@6& int v43; // [sp+3Ch] [bp-D4h]@18& // [sp+40h] [bp-D0h]@3& int v45; // [sp+44h] [bp-CCh]@1& char v46; // [sp+48h] [bp-C8h]@32&& v34 = a1;& v1 = sub_30E100();& sub_30D100((int)&v35, v1, (int)&v45);& v2 = sub_30D6B0(&v35, ".lua", 0);& if ( v2 == *(_DWORD *)(v35 - 12) - 4 )& {& & sub_30D610(&v36, &v35, 0, v2);& & sub_30D300(&v35, &v36);& & sub_30D130((int)&v36);& }& sub_30D100((int)&v38, (int)".", (int)&out);& sub_30D100((int)&v39, (int)"/", (int)&v45);& sub_7011C(&v40, &v35, &v38, &v39);& v3 = (int *)sub_30D140(&v40, ".lua");& v37 = *v3;& *v3 = (int)&unk_3F3A68;& sub_30D130((int)&v40);& sub_30D130((int)&v39);& sub_30D130((int)&v38);& v4 = sub_74CD8(&v41, "src/", &v37);& v33 = 2;& v5 = 0;& do& {& & v6 = sub_1219BC(v4);& & buf = (*(int (**)(void))(*(_DWORD *)v6 + 16))();& & if ( buf )& & {& & & v7 = sub_656EC();& & & v8 =& & & if ( v7 )& & & {& & & & sub_74CD8(&v45, "@", &v37);& & & & v15 = sub_30E110(v34, buf, v8, v45); & &// 读取lua文件& & & & sub_30D130((int)&v45);& & & & if ( v15 )& & & & & v5 = 3;& & & }& & & else if ( len <= 0x10 ) & & &//这里可以知道这个变量是文件的长度{& & & & sub_68908("load_lua", "can not get enough file data of %s", v41);& & & & v5 = 5;& & & }& & & else& & & {& & & & if ( !(dword_3E730C & 1) && sub_30D150(&dword_3E730C) )& & & & {& & & & & byte_3E7310 = 0xE9u;& & & & & byte_3E7311 = 0x74;& & & & & byte_3E7313 = 0x92u;& & & & & byte_3E7314 = 0xCCu;& & & & & byte_3E7315 = 0x32;& & & & & byte_3E7316 = 0x2E;& & & & & byte_3E7319 = 0x2E;& & & & & byte_3E731A = 0x7C;& & & & & byte_3E731B = 0x34;& & & & & byte_3E731C = 0x51;& & & & & byte_3E731D = 0xD7u;& & & & & byte_3E7312 = 0x7D;& & & & & byte_3E7317 = 0x7D;& & & & & byte_3E731E = 0xB3u;& & & & & byte_3E7318 = 0x11;& & & & & byte_3E731F = 0x6A;& & & & & sub_30D160((int)&dword_3E730C);& & & & }& & & & v9 = len - 16;& & & & out = 0;& & & & v45 = 0;& & & & v10 = aes_cbc_decrypt((int)&byte_3E7310, buf, buf + 16, len - 16, &out);// 第一个参数为key aes解密 IV为文件开头的16个字节& & & & if ( v10 || (v10 = aes_cbc_decrypt((int)&byte_3E7310, buf, buf + 16, v9, &out)) != 0 )& & & & {& & & & & zib_decompress(out, v10, (const void **)&v45);// 解压缩& & & & & v12 = v11;& & & & & if ( v11 || (zib_decompress(out, v10, (const void **)&v45), (v12 = v31) != 0) )& & & & & {& & & & & & v13 = v45;& & & & & & if ( v12 > 3 && *(_BYTE *)v45 == 0xEF && *(_BYTE *)(v45 + 1) == 0xBB && *(_BYTE *)(v45 + 2) == 0xBF )& & & & & & {& & & & & & & v13 = v45 + 3;& & & & & & & v12 -= 3;& & & & & & & sub_688EE("load_lua", "%s with utf-8 bom", v37);& & & & & & }& & & & & & sub_74CD8(&v43, "@", &v37);& & & & & & v14 = sub_30E110(v34, v13, v12, v43);& & & & & & sub_30D130((int)&v43);& & & & & & if ( v14 )& & & & & & & v5 = 3;& & & & & }& & & & & else& & & & & {& & & & & & v5 = 2;& & & & & }& & & & }& & & & else& & & & {& & & & & v5 = 1;& & & & }& & & & if ( v45 )& & & & {& & & & & sub_30D490(v45);& & & & && & & & }& & & & if ( out )& & & & & sub_30D490(out);& & & }& & & sub_30D490(buf);& & & if ( !v5 )& & & & goto LABEL_44;& & }& & else& & {& & & v4 = sub_68908("load_lua", "can not get file data of %s", v41);& & & v5 = 4;& & }& & v33 = (v33 - 1) & 0xFF;& }& while ( v33 );& if ( v5 )& {& & v16 = sub_1219BC(v4);& & (*(void (__fastcall **)(int *, int, int))(*(_DWORD *)v16 + 28))(&v43, v16, v41);& & sub_30D6D0(&v45, 16);& & v17 = sub_30D690(&v45, "error loading module ");& & v18 = sub_30D790(v34, 1, 0);& & v19 = sub_30D690(v17, v18);& & v20 = sub_30D690(v19, " from file ");& & v21 = sub_30D690(v20, v43);& & v22 = sub_30D690(v21, ":nt");& & v23 = sub_30D690(v22, "fileSize:");& & v24 = sub_30E120(v23, len);& & v25 = sub_30D690(v24, "ntmessage: ");& & v26 = sub_30D790(v34, -1, 0);& & sub_30D690(v25, v26);& & switch ( v5 )& & {& & & case 1:& & & case 5:& & & & sub_30D690(&v45, ", decrypt error");& & & & v27 = sub_6CA3C(v43);& & & & v28 = sub_B1C10(v27);& & & & (*(void (**)(void))(*(_DWORD *)v28 + 12))();& & & & goto LABEL_32;& & & case 2:& & & & v29 = &v45;& & & & v30 = ", uncompress error";& & & && & & case 3:& & & & v29 = &v45;& & & & v30 = ", load buff error";& & & && & & default:& & & & v29 = &v45;& & & & v30 = ", unknown error";& & & && & }& & sub_30D690(v29, v30);LABEL_32:& & sub_30D590(&out, &v46);& & sub_30E130(v34, out);& }LABEL_44:& sub_30D130((int)&v41);& sub_30D130((int)&v37);& sub_30D130((int)&v35);}0x02 分析调用的算法需要进行分析,原文件中并没有aes_cbc_decrypt和zib_decompress这两个符号,这是需要自己去分析函数功能,这个so调用了大量的第三方库的接口,加密算法也是调用OpenSSL的,所以只要熟悉下这些库的接口,可以很方便确定加解密函数的功能和参数。跟进aes_cbc_decrypt这个函数,有很明显的调试字符串,就可以马上确定所调用的是哪一个OpenSSL函数。(注:函数名称是加上去的)很快的就能确定函数原型为aes_cbc_decrypt(char*key,char*iv,char*inbuf,int inlen,char**outbuf);于是可以推出key和iv的来源,很明显key就是上面那一串密钥,注意2和3参数,相差16,于是可以推出来IV就是文件的开头16个字节&--------------------------------------------------------跟进zib_decompress这个函数,1.2.8可以确定用了zlib的inflateInit(strm),第一个参数v15就是zib_decompress函数的第一个参数a1,也就是说aes解密完成就直接开始解压,中间没进行额外的处理。&0x03 解密算法编写从上面的分析可以知道,lua文件经过aes_cbc解密之后再进行解压,解密算法如下:def decdata(c):& & key='xe9x74x7dx92xccx32x2ex7dx11x2ex7cx34x51xd7xb3x6a'& & iv=c[0:16]& & main_data=c[16:]& & cryptor = AES.new(key,AES.MODE_CBC,iv)&& & pad_compress_data=cryptor.decrypt(main_data)& & str_len=len(pad_compress_data)& & pad=ord(pad_compress_data[-1])& & compress_data=pad_compress_data[0:str_len-pad]& & plain_text = zlib.decompress(compress_data)& & return plain_text0x04 加密方案评价1.编写程序的时候由于过多的留下调试字符串导致程序容易被逆向(要利用#define DEBUG控制代码编译,release版的程序不应该包含这些字符串)2.过多的利用第三方开源加密库。开发者是比较喜欢使用别人造好的轮子,但是也给带来安全性问题。3.从解密出来的lua来看,消消乐的lua脚本没经过编译,这就导致了源码泄露。--官方论坛--推荐给朋友公众微信号:吾爱破解论坛或搜微信号:pojie_52
微信号:pojie_52扫描二维码关注公众号 吾爱破解论坛致力于软件安全与病毒分析的前沿,丰富的技术版块交相辉映,由无数热衷于软件加密解密及反病毒爱好者共同维护,留给世界一抹值得百年回眸的惊艳,沉淀百年来计算机应用之精华与优雅,任岁月流转,低调而奢华的技术交流与探索却是亘古不变。
Copyright2017.杨邱自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!热门游戏推荐:
当前位置: >>
来源:5068QQ游戏&&&&发表时间:&&&&
&  开心消消乐怎么打不开了,最近有很多玩家在反应开心消消乐打不开的问题,这是怎么造成的呢,下面小编就来给大家解答一下,并给大家讲解一下开心消消乐打不开的原因,希望对大家有所帮助。
  更多精彩游戏攻略,以及好玩的游戏查找,尽在5068网!
  开心消消乐怎么打不开?
  1、腾讯的游戏,最好还是使用腾讯的工具来优化,用腾讯电脑管家清理下系统垃圾插件和注册表,最好全盘查杀下 防止是病毒在捣鬼。
  2、如果在系统中安装了太多的游戏、太多的应用软件、太多的旧资料,会让你的计算机运行速度越来越慢,而开机时间也越来越长。因此,最好每隔一段时间,对计算机做一次全面的维护。
  3、点击&开始&&&程序&&&附件&&&系统工具&&&维护向导&,然后点击&确定&按钮即可对计算机进行一次全面的维护,这样会使你的计算机保持在最佳状态。
  4、对于硬盘最好能每隔2个星期就做一次&磁盘碎片整理&,那样会明显加快程序启动速度的,点击&系统工具&&&磁盘碎片整理程序&即可。
  注意:
  在整理磁盘碎片时系统所在的盘一定要整理,这样才能真正 加快windows的启动顺序
开心消消乐关卡攻略大全
开始玩  进入
更多玩家推荐
(8371位玩家推荐):
(2565位玩家推荐):
(4398位玩家推荐):
(18335位玩家推荐):
(1382位玩家推荐):
(1484位玩家推荐):
(385位玩家推荐):
(223位玩家推荐):
(252位玩家推荐):
24小时热点
专区点击排行求助求助!WLAN打不开了怎么办!【oppor7吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:50,280贴子:
求助求助!WLAN打不开了怎么办!收藏
刚刚发现手机的wlan打不开了,我点了以后它总是自己又关闭了,也没法连wifi,怎么办啊?除了恢复出厂设置还有别的办法吗T^T
苏宁易购oppor7,官方授权,正品行货保证,买正品,就上苏宁易购网上商城!苏宁易购oppor7,全国联保,货到付款!
没有人遇到类似情况嘛试了好多次还是不行啊
以前手机没这样过
听别人说r7 都有这毛病
今天终于体验到了
然后我就把系统升级了一下
就好了。。
登录百度帐号推荐应用oppor7plus 为什么用数据网上不了开心消消乐_百度知道
oppor7plus 为什么用数据网上不了开心消消乐
我有更好的答案
仔细核对你输入的密码跟路由器密码是不是相同的。
2:手机不能上移动网络,可以打电话到电信公司问问什么情况:手机不能上网看看wifi是不是正常运行:
1:如果你设置了每日流量限制,看看是不是已经使用满每日流量了。
4:如链接wifi请确定路由器是有网的,手机才能上网。
3,或者重新启动下手机试试,不要忘记最简单的要把移动数据打开哦手机上不了网
采纳率:97%
来自团队:
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。时间: 15:02 来源:网络
网友u7d2bu91d1u661fu8fb0u70abu4e3d通过华为麦芒4提问:为什么我的开心消消乐wifi无法登陆只能移动4g才可以玩热心网友1回答:权限设置,禁止WIFI,改过来就好网友cn#BaaapVLkkQ通过OPPOR7Plus提问:苹果6已连接4g网络,但是登录开心消消乐的时候,显示网络无法连接是怎么回事?热心网友1回答:你得把开心消消乐的流量打开热心网友2回答:你长按关机键,会在屏幕上方出现 “滑动来关机”,然后在按住home键6S, 即可!热心网友3回答:设置问题网友u77e5uu732eu通过中兴Axon天机提问:华为荣耀3c4g为什么不能用qq登录开心消消乐热心网友1回答:亲这个应该是开心消消乐游戏版本的问题吧,建议亲将开心消消乐版本升级到最新版本在尝试使用qq登录哦,一般是没有问题的哦,亲有事在呼叫小u哈热心网友2回答:升级下游戏网友huzi512通过中兴Axon天机提问:手机已经连上家里的无线网了,怎么开心消消乐上显示没有连接呢,QQ和微信什么的都可以用,就是消消乐热心网友1回答:你是没开通游戏权限吧,以小米为例:打开网络助手热心网友2回答:重新登录联网网友cn#BBGBfLVBuu通过电脑提问:为什么我用移动数据登陆开心消消乐联不了网,用WiFi却能联呢?怎么样才能用移动数据联网?热心网友1回答:用移动不行可能是信号的问题哦热心网友2回答:关机重新启动再shi?shi网友u98deu98deu5c11u513f通过魅族PRO5提问:开心消消乐只能用系统头像吗?如何更改成自己喜欢的网络图片做头像?热心网友1回答:系统更新后,你用账号登陆(QQ号),蓝后你的头像就是你的QQ头像了热心网友2回答:先将程序卸载,然后重新连接电脑,用360手机助手下载,第一次登陆时会有提示,自定义头像。记住哦,只有一次,以后就没有提示了网友u55b5u55b5u7edfu6cbbue86通过魅族PRO5提问:r9m数据网络不稳定,是怎么回事,玩开心消消乐都掉网,4g那下面两个键热心网友1回答:  如果宽带经常掉线或者不稳定,可以按以下方法进行处理:
  1、可能引起宽带掉线的原因有:电源电压不稳,电脑网卡/机箱静电、电脑中毒、系统软件故障等,建议优先自行检查或请电脑维护人员协助您排查处理。
  2、可以先检...网友u59d0u5c31u559cu6b22u4efbu6027通过三星2016版GALAXYA9提问:为什么我的乐视手机开心消消乐不能用无线网热心网友1回答:我的可以正常使用撒,你重新安装一下试试。网友u6d01uu6052通过魅族PRO5提问:为什么我的开心消消乐不能用qq登陆了,然后还出现了这样的情况热心网友1回答:估计网络不好吧,重新登录下试试热心网友2回答:我也是啊,卸载,清空数据,先上''qq在重新上游戏都试过了,还是不好使呢热心网友3回答:可以先卸载清除数据再重新登陆热心网友4回答:空间满了网友jbp11f8fce9c4通过vivoX6PlusD提问:苹果6开心消消乐突然不能用了,也下载不了,怎么办热心网友1回答:隔段时间再下载!最近发现苹果商店很不稳定!不止你一个!热心网友2回答:恢复厂设置就可以了
你也可以分享到:

我要回帖

更多关于 oppo r7 plus最新消息 的文章

 

随机推荐