精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到 - 下载易语言


求职/招聘- 论坛接单- 资源出售

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

收各种粉加到VX,实力公司长期稳定百度搜索星盟社群可找到本站收各种质量交友粉 有质量就有大量支持测试的加QQ96086◇█ 实力公司 长期有效 █◇高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定星盟社群无限收精准网赚流量收各种质量交友粉 有质量就有大量支持测试的加QQ96086◇█ 实力公司 长期有效 █◇高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定星盟社群免费帮对接担保交易收各种质量交友粉 有质量就有大量支持测试的加QQ96086◇█ 收收收收 QQ验证粉 █◇高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定星盟社群欢迎买卖方进群合作收各种质量交友粉 有质量就有大量收106短信通道加Q96086◆█ 收收收收 QQ验证粉 █◆高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定星盟社群免费帮对接渠道流量收各种质量交友粉 有质量就有大量收106短信通道加Q96086◇█ 收收收收 QQ验证粉 █◇高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量寻有实力的短信群fa通道加Q96086◆█ 收收收收 QQ验证粉 █◆高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量寻有实力的短信群fa通道加Q96086◇█ 收收收收 QQ验证粉 █◇高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量寻有实力的短信群fa通道加Q96086◆█加QQ群:913248956 █◆高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量寻有实力的短信群fa通道加Q96086◆█加QQ群:913248956 █◆高价收购【全部行业精准粉】进群!
收各种粉加到VX,实力公司长期稳定█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量寻有实力的短信群fa通道加Q96086◆█加QQ群:913248956 █◆高价收购【全部行业精准粉】进群!
大量收wz流量█收QQ群F、引流软件、引流渠道█收各种质量交友粉 有质量就有大量实力收精准粉大量稳定加Q96086◇█ 收各种精准粉引到群 █◇实力收各类精准活粉上QQ 有质量有价
大量收wz流量█收QQ群F、引流软件、引流渠道█大量无限收APP JZ粉实力收精准粉大量稳定加Q96086◆█ 收各种精准粉引到群 █◆实力收各类精准活粉上QQ 有质量有价
╔ 最新广告引流群fa软件 ╗█收QQ群F、引流软件、引流渠道█大量无限收APP JZ粉实力收精准粉大量稳定加Q96086◇█加QQ群:913248956 █◇实力收各类精准活粉上QQ 有质量有价
║ 最新广告引流群fa软件 ║█收QQ群F、引流软件、引流渠道█大量无限收APP JZ粉实力收精准粉大量稳定加Q96086◆█加QQ群:913248956 █◆实力收各类精准活粉上QQ 有质量有价
║ 最新广告引流群fa软件 ║█收QQ群F、引流软件、引流渠道█大量无限收APP JZ粉实力收精准粉大量稳定加Q96086◇█加QQ群:913248956 █◇实力收各类精准活粉上QQ 有质量有价
╚ 最新广告引流群fa软件 ╝█收QQ群F、引流软件、引流渠道█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◆█ 收各种精准粉引到Q █◆实力收各类精准活粉上QQ 有质量有价
出一手WZ粉 可直推平台Q317738█收QQ群F、引流软件、引流渠道█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◇█ 收各种精准粉引到Q █◇实力收各类精准活粉上QQ 有质量有价
出一手WZ粉 可直推平台Q317738█收QQ群F、引流软件、引流渠道█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◆█ 收收收收 QQ QF软件█◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◇█ 收收收收 QQ QF软件█◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◆█ 收收收收 QQ QF软件█◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◇█ 收收收收 QQ QF软件█◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◆█ 收收收收 QQ QF软件█◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◇█ 收收收收 QQ QF软件█◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◆█ 收收收收 QQ QF软件█◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█大量无限收交友WZ JZ粉重金招SEO合作加QQ:96086◇█收收收收软件群fa软件█◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█引流支持测试量大的收购加Q629989重金招易语言高手合作加QQ:96086◆█收收收收软件群fa软件█◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█引流支持测试量大的收购加Q629989重金招易语言高手合作加QQ:96086◇█ 招易语言 Q软件高手 █◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█收各渠道精准粉有量稳定加Q629989重金招易语言高手合作加QQ:96086◆█ 招易语言 Q软件高手 █◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█引流支持测试量大的收购加Q629989重金招易语言高手合作加QQ:96086◇█ 招易语言 Q软件高手 █◇实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█收各渠道精准粉有量稳定加Q629989重金招易语言高手合作加QQ:96086◆█ 招易语言 Q软件高手 █◆实力收各类精准活粉上QQ 有质量有价
超高待遇收app推广量 带上实力谈█收收收网吧量、安装量、插件量█引流支持测试量大的收购加Q629989高价收单项好友加QQ:96086◇█ 寻求QF软件定制高手 █◇收 wz粉 空间粉 群发粉 jz粉
超高待遇收app推广量 带上实力谈↓↓论坛代理↓流量池群推↓↓↓出粉引流支持测试量大的收购加Q629989高价收单项好友加QQ:96086◆█ 寻求QF软件定制高手 █◆收群fa软件 空间软件
超高待遇收app推广量 带上实力谈666纯手工过筛选群推粉-QQ3666598收各渠道精准粉有量稳定加Q629989高价收单项好友加QQ:96086◇█ 寻求QF软件定制高手 █◇★★高价收任何精准泛流量进群★★
大量出35人小裙一手纯二长期出交友粉/各类精准粉丝收各渠道精准粉有量稳定加Q629989高价收单项好友加QQ:96086◆█ 寻求QF软件定制高手 █◆ ★交友验证邮箱评论卡年龄23粉★
苏喂社裙,各种流量,免费担保高转化收益产品直招一级代理收各渠道精准粉有量稳定加Q629989高价收单项好友加QQ:96086◇█ 寻求QF软件定制高手 █◇收无锁网吧设备插件群FA+Q376700
苏喂社裙,各种流量,免费担保出交友粉网赚粉JZ粉精准QQ验证粉██████六年邮件█自助群fa█高价收单项好友加QQ:96086◆█ 加QQ群:913248956 █◆寻实力邮箱通道加QQ96086
大量收微信进群活跃男粉出交友粉网赚粉兼职粉精准粉手工拉jz小群,出纯二小群高价收单项好友加QQ:96086◇█ 进群找管理 认准管理 █◇寻实力邮箱通道加QQ96086
短信代发短信群faQ:177685057 全行业实力一手卡fa 日发大量:Q2323677支持测试的加QQ96086◆█ 进群找管理 认准管理 █◆寻实力邮箱通道加QQ96086
精准客户引流广告推送高价大量收女粉联系QQ222561收一切跳转web量,QQ:460118880支持测试的加QQ96086◇█ 实力公司 长期有效 █◇寻实力邮箱通道加QQ96086
全行业群fa短信群fa公司大量收男粉交友粉q1151011222出高质量粉 收引流技术支持测试的加QQ96086◆█ 实力公司 长期有效 █◆我要租广告位
查看: 3534|回复: 28
收起左侧

[技术专题] 4399游戏盒最新算法讲解

[复制链接]

签到天数:14 天

结帖率:89% (16/18)
发表于 2019-10-24 05:16:24 | 显示全部楼层 |阅读模式
本帖最后由 afei1477995704 于 2019-10-24 06:30 编辑

第一次发教程 出现问题请见谅
这次是最新版本的4399游戏盒登陆密码加密讲解和两个sign的讲解  

由于我测试的时候是无法对这个APP进行IDA调试的 所以就静态分析了一下

  
POST https://mapi.4399api.net/user/box/android/v1.0/log-in.html HTTP/1.1
User-Agent: 4399GameCenter/5.2.0.39 (android;Nexus 6P;6.0;1440x2392;WIFI;1376.416;yaoqing)
mareacode: 350100
a-id: decd74ca59799d58
e-id: 867981022896164
m-id: D4%3A61%3A4E%3A13%3A10%3A1F
s-id:
mauth:
mudid: 1085glt3vuUywD5g808eZb67a
pauth:
SM-DEVICEID: 2019101514035076086dc3e7e2dc00afe0043881a46e18018036cbcdd51ca5
mdeviceId: 867981022896164
mauthcode:
Content-Type: application/x-www-form-urlencoded
Content-Length: 161
Host: mapi.4399api.net
Connection: Keep-Alive
Accept-Encoding: gzip
password=JE%2FYTsyiLwE%3D&deviceIdentifier=867981022896164&dateline=1571863440&sign=c80c8c800fa61cccc02e12e87da33620&model=Nexus%206P&username=13665098754&info=1


这是抓到的登陆包
大概能看到两个参数需要处理 一个password 一个sign

反编译

找到关键点

1.png


跟进以后就是Native函数了 这里我们从名字就能大概知道password是一个DESCBC类型的加密(不排除重写) 我们也只是猜测

  
public class AppNativeHelper {
static {
try {
SoFix.loadLibrary (BaseApplication.getApplication (), "m4399");
Log.d ("AppNativeHelper", "load libm4399.so");
}
catch (SoLoadFailureException v0) {
v0.printStackTrace ();
}
}
public AppNativeHelper () {
super ();
}
public static native int applyPatch (String arg0, String arg1, String arg2) {
}
public static native int delayRestartProcess (String arg0, String arg1, long arg2) {
}
public static final native String desCbcDecrypt (String arg0) {
}
public static final native String desCbcEncrypt (String arg0) {
}


拿出libm4399.so拖进IDA进行处理  

这个So是动态注册函数

所以我们进入Jni_onload 导入头文件 找到RegisterNatives函数
RegisterNatives中第三个参数就是我们注册Java函数的实际地址



进去以后是DCD格式的 第一项是函数名 第二项好像是格式还是啥 重要的是第三项 这就是我们的函数地址了 找到我们要的函数 然后找到函数地址

1.png


然后进来这个函数


  1. int __fastcall sub_17024(int a1, int a2)
  2. {
  3.   int v2; // r4
  4.   int v3; // r5
  5.   char *v4; // r6
  6.   int v5; // r0
  7.   int v6; // r3
  8.   char v7; // r2
  9.   int v8; // r4

  10.   v2 = a2;
  11.   v3 = a1;
  12.   v4 = sub_17274(9, 1);
  13.   v5 = 0;
  14.   do
  15.   {
  16.     v6 = (dword_1B040[-v5] + 101) >> 15;
  17.     v7 = v6 ^ 151;
  18.     if ( v6 >= 102 )
  19.       v7 = v6;
  20.     v4[-v5--] = v7;
  21.   }
  22.   while ( v5 != -8 );                           // 循环8次 获取DESkey
  23.   v8 = sub_64B8(v3, v2, v4);                    // //进入加密函数
  24.   sub_17284(v4);
  25.   return v8;
  26. }
复制代码


通过前前后后的分析 这里就是获取Key的重要地方了 从一个地址里面取值出来 然后循环处理8次 然后我们进入dword_1B040看看

2.png

看不出什么猫腻 我们转换一下格式 先转Double再转为array IDA右键就有

3.png

然后我用js翻译了这小段so逻辑理清楚后一下子就明白了
  1. function get(a) {
  2.     v6 = (a + 101) >> 15;
  3.     v7 = v6 ^ 151;
  4.     if (v6 >= 102) {
  5.         v7 = v6;
  6.     }
  7.     return v7
  8. }
  9. function a() {
  10.     arr = [0x3A7F9B, 0xFFDAFF9B, 0x3EFF9B, 0xFFD9FF9B, 0xFFCFFF9B, 0xFFEB7F9B, 0x3B7F9B, 0xFFD37F9B];
  11.     var aa = new Array();
  12.     for (var i = 0; i < 8; i++) {
  13.         aa.push(get(arr[i]))
  14.     }
  15.     return aa
  16. }
复制代码


这里返回的就应该是key数组了 {117,-223,126,-221,-201,-192,119,-208}
然后转换到易语言的字节集就是{117,33,126,35,55,64,119,48}文本为u!~#7@w0 (这里的转换就是由于其他语言的byte取值范围 -128~ 127) 易语言好像没上限 所以我们只需要把-的给他加上256就能变成易语言的字节集了)

到这一步我们已经拿到了KEY了

现在就差一步IV了

前面一直没说

因为这个so函数名全是匿名的 所以在分析的时候很难去判断这个函数到底是干嘛的 这种so分析起来就需要自己花点时间和结合经验来操作了

这里我都给大家分析完了

4.png

5.png

我们已经找到了最关键的加密点了 而且我们现在key也有了 只差IV了

sub_4720这个匿名函数其实就是DES_cbc_encrypt

void DES_ncbc_encrypt(const unsigned char *input,unsigned char *output,
              long length,DES_key_schedule *schedule,DES_cblock *ivec,
              int enc);

这是DES_cbc_encrypt参数的定义

依次是输入流 输出流 长度 key iv flag

恰好能 对应上我们的函数 所以 iv应该就是我们&v11所指向的值了

  1. .text:00006618 ; 20:   v12 = 0xEFCDAB90;
  2. .text:00006618                 LDR     R0, =0xEFCDAB90
  3. .text:0000661A                 STR     R0, [SP,#0xB0+var_9C]
  4. .text:0000661C ; 21:   v11 = 0x78563412;
  5. .text:0000661C                 LDR     R0, =0x78563412
  6. .text:0000661E                 STR     R0, [SP,#0xB0+var_A0]
复制代码


这里V11在我们的伪C代码中只赋值了0x78563412  但在汇编里面他实际是赋值了0xEFCDAB90 和0x78563412的 所以我们的iv应该就是0x1234567890ABCDEF

在我们运行的时候 取值事从后往前取得 两个一组 这个我确实也不太明白具体原因 也是在无名侠前辈哪里学得 也就是 EF CD AB 90 78 56 34 12 这样来拼接得

好了 现在我们key iv都有了 我们在不排除有变异得情况下可以来测试一下能不能解开密文


6.png

成功解开

这次so分析得难点其实就在于无法动态调试获取key或者IV 每一步逻辑都需要自己去看
其次就是全是匿名函数 需要自己花点时间去查看每个函数的功能

但总统上还是不算难得 只是需要慢慢琢磨一下得

实在是太累了 如果大家对登陆得sign和签到得sign有想法我下次再给大家写文章把




评分

参与人数 13好评 +11 精币 +23 收起 理由
僵小白520 + 1 + 1 新技能已get√
xtfw + 1 + 1 支持开源~!感谢分享
hehehero + 1 + 2 感谢分享,很给力!~
DreamVoid + 1 感谢分享,很给力!~
落寞23333 + 1 支持开源~!感谢分享
BlackMamba + 1 + 3 新技能已get√
流星暴雨 + 1 + 2 支持开源~!感谢分享
萌萌嗒的小白 + 1 有想法 留下来
斜飞 + 1 + 2 新技能已get√
精易小鱼 + 1 + 1 精彩文章希望继续努力
大司命 + 1 + 5 奉上小小红包希望笑纳
aixnhc + 1 + 2 感谢分享,很给力!~
ikumu + 1 + 2 支持开源~!感谢分享

查看全部评分


您可以选择打赏方式支持楼主

打赏

参与人数 1 打赏积分 理由 收起 打赏时间
小梦想zzZ +66   精币 加油加油 2019-10-26 01:21

查看全部打赏

签到天数: 8 天

发表于 6 天前 | 显示全部楼层
支持开源~!感谢分享
回复

使用道具 举报

签到天数: 4 天

结帖率:60% (3/5)
发表于 2019-11-26 19:51:04 | 显示全部楼层
大佬知道mudid是怎么算出的吗
回复

使用道具 举报

签到天数: 13 天

结帖率:97% (33/34)
发表于 2019-11-26 12:46:04 | 显示全部楼层
IV是小端存储方式
回复

使用道具 举报

签到天数: 2 天

结帖率:100% (1/1)
发表于 2019-11-24 09:56:30 | 显示全部楼层
4399游戏盒最新算法讲解
回复

使用道具 举报

签到天数: 12 天

结帖率:100% (103/103)
发表于 2019-11-24 09:38:33 | 显示全部楼层
太厉害了 完全看不懂
回复

使用道具 举报

签到天数: 1 天

发表于 2019-11-14 10:20:50 | 显示全部楼层
围观围观
回复

使用道具 举报

签到天数: 7 天

发表于 2019-11-13 11:23:24 | 显示全部楼层
膜拜! 大神方便将相关工具分享么?
回复

使用道具 举报

签到天数: 6 天

发表于 2019-11-13 10:57:10 | 显示全部楼层
从头看到尾,我总结了一下六点......
回复

使用道具 举报

签到天数: 5 天

结帖率:100% (1/1)
发表于 2019-11-12 08:38:24 | 显示全部楼层
膜拜! 大神方便将相关工具分享么?
回复

使用道具 举报

签到天数: 5 天

结帖率:100% (1/1)
发表于 2019-11-11 15:28:09 | 显示全部楼层
        精彩文章希望继续努力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /1 下一条

发布主题 收藏帖子 返回列表 按钮 关注QQ

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 联系我们| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.2 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125

快速回复 返回顶部 返回列表