用Unidbg实现阿里系x-sign签名, 成功实现长x-mini-wua

本篇文章仅供学习讨论。

文章中涉及到的代码、实例,仅是个人日常学习研究的部分成果。

如有不当,请联系删除。

阿里系的签名算法,一直让人好奇的心痒痒。所以在空的时候,都会去扣其逻辑,一边学习逆向,一边学习别人算法,也是其乐无穷了。

原来我写过一篇unidbg实现算法的文章,那个实现起来还是有点缺陷的。详见:

unidbg实现淘宝请求参数算法,实现脱离模拟器/手机请求淘宝、闲鱼_unidbg x-sign-CSDN博客

这次看了另一篇文章,实现阿里系的灯塔APP的算法,链接见:安卓逆向小案例——阿里系某电影票务APP加密参数还原-Unidbg篇_阿里系app逆向-CSDN博客

但是吧,作者公布出来的代码,可能某些地方做了调整,实现的并不是很完美,而且x-mini-wua是短的。研究过阿里系签名的同学们肯定知道短的x-mini-wua是无法请求到阿里的数据的。

帖出部分代码,以及实现效果:

    public void getTimestampSign() {
        String time = Utils.getTime();
        ret = JNICLibrary.callStaticJniMethodObject(
                emulator,
                doCommandNative,
                70102,
                new ArrayObject(
                        new StringObject(vm, "23632979"),
                        new StringObject(vm, "Yl7Bnq3bwrgDACsiIRXKipG+&&&23632979&88bb23b6258b4ec22f9a4779b2b1c83c&" + time + "&mtop.common.gettimestamp&*&&10005894&AvH8ID-LlSsyBuvgEtWSp0OGnvcpTMm66qRu16fKJFxl&&&&27&&&&&&&"),
                        DvmBoolean.valueOf(vm, false),
                        DvmInteger.valueOf(vm, 0),
                        new StringObject(vm, "mtop.common.gettimestamp"),
                        new StringObject(vm, "pageId=&pageName="),
                        null,
                        null,
                        null
                )
        );

        logger.info("GetTimestampSign -70102: " + ret.getValue().toString());
    }


    public void getSearchSign() {
        String time = Utils.getTime();
        ret = JNICLibrary.callStaticJniMethodObject(
                emulator,
                doCommandNative,
                70102,
                new ArrayObject(
                        new StringObject(vm, "23632979"),
                        new StringObject(vm, "ZCuO+m8fB+YDAClcCl032Z0Y&&&23632979&9ff29507b635f7f4788a13461c4161b8&" + time + "&mtop.alipictures.gravitywave.global.search.list&1.2&&227200&Aoa0WWLRy49ULUEXHr0oNc2VG90WzgAkGAFa1vufrK9a&&&&27&&&&&&&"),
                        DvmBoolean.valueOf(vm, false),
                        DvmInteger.valueOf(vm, 0),
                        new StringObject(vm, "mtop.alipictures.gravitywave.global.search.list"),
                        new StringObject(vm, "pageId=&pageName="),
                        null,
                        null,
                        null
                )
        );
        logger.info("GetSearchSign -70102: " + ret.getValue().toString());
    }

理论上,可以实现阿里系app的签名算法,实现脱离app获取阿里app的公开数据。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
The LULC simulation data we utilized to create future EN maps was produced by X. Liu et al. (2017), which was conducted at the national level. The reason we apply national-level simulated data to a local area is as follows. Firstly, China has a top-down land use planning system (also known as spatial planning) with five levels. The quantitative objectives in national plans are handed down to county-level plans through provincial and prefectural level plans (Zhong et al., 2014). That means land use patterns of nine cities in WUA are required to reflect relevant upper-level plans, for example, to satisfy the land use quota made by Hubei provincial plans and the national plans. Secondly, there are interdependencies across places so what happens in one region produces effects not only on this location but on other regions (Overman et al., 2010). And the increase of construction land in one place will shift protection pressure on natural ecosystems elsewhere for a sustainable goal. The land use simulation at the national level allocated land resources from a top-down perspective and links land use changes in a region to events taking place in other locations through global simulation. However, the Kappa coefficient of the simulated data in WUA is 0.55 and the overall accuracy is 0.71, which is lower than the statistic value at the national-level data. Although the Kappa between 0.4~0.6 is moderate and at an acceptable level (Appiah et al., 2015; Ding et al., 2013; Ku, 2016), the simulated accuracy of the land use data needs to be improved. Future work on exploring the impact of LULC dynamics on EN will develop based on the high-accuracy simulated data and updating the initial simulated time to 2020, by integrating the impacts of socioeconomic factors, climate change, regional planning, land use policy, etc.
02-22
答:我们使用的用于创建未来EN地图的LULC模拟数据由X。刘等人(2017)在全国范围内进行,我们将全国层面的模拟数据应用于局部地区的原因如下:首先,中国拥有自上而下的土地利用规划统(也称为空间规划),具有五个层次。国家计划中的定量目标通过省级和地级计划,传递到县级计划(Zhong等,2014)。这意味着WUA的九个城市的土地利用模式需要反映相关的上级计划,例如,满足湖北省计划和国家计划制定的土地利用配额。其次,不同地方之间存在相互依赖性,因此发生在一个地区的事情不仅会产生影响,而且会影响其他地区(Overman等,2010)。一个地方建设用地的增加会转移到其他地方的自然生态统上,以达到可持续的目标。全国层面的土地利用模拟从自上而下的视角分配土地资源,并通过全球模拟将一个地区的土地利用变化与其他地点发生的事件联起来。然而,WUA中模拟数据的Kappa数为0.55,总体准确率为0.71,低于全国层面的统计值。虽然0.4~0.6之间的Kappa值为中等水平,且水平可接受(Appiah等,2015;丁等,2013;库,2016),但土地利用数据的模拟准确度仍需要提高。未来的工作将基于高精度的模拟数据,将初始模拟时间更新到2020年,并通过综合考虑社会经济因素、气候变化、区域规划、土地利用政策等影响,探索LULC动态对EN的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值