├── com.hupu.games-虎扑-7.5.10.txt ├── com.sharetwo.goods-只二-5.4.7.txt ├── com.douban.frodo-豆瓣-6.34.0.txt ├── com.android.benlailife.activity-本来生活-5.7.1 .txt ├── com.xiachufang-下厨房-7.4.0.txt ├── com.greentree.android-格林酒店-5.22.3.txt ├── com.moji.mjweather-墨迹天气-8.0206.02.txt ├── com.cubic.autohome-汽车之家-10.7.0.txt ├── com.lianjia.beike-贝壳找房-2.31.0.txt ├── com.ganji.android.haoche_c-瓜子二手车-7.2.6.0.txt ├── com.rytong.hnair-海南航空-8.1.1.txt ├── com.ygkj.chelaile.standard-车来了-3.91.0.txt ├── com.husor.beibei-贝贝-9.39.0.txt └── README.md /com.hupu.games-虎扑-7.5.10.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.hupu.games 3 | 虎扑 4 | 7.5.10 5 | 6 | 关键java类: 7 | com.hupu.android.util.af 8 | 9 | 逆向简析: 10 | sn: 11 | 例子:{"a": 1, "b":2} 12 | ==>> 表单数据排序 a=1&b=2 值为temp1 13 | ==>> 右边加上 HUP****J**u309 值为temp2 14 | ==>> md5 hexdigest 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.sharetwo.goods-只二-5.4.7.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.sharetwo.goods 3 | 只二 4 | 5.4.7 5 | 6 | 关键java类: 7 | com.sharetwo.goods.e.v 8 | 9 | 逆向简析: 10 | sn: 11 | 例子:{"a": 1, "b":2} 12 | ==>> 表单数据排序 a=1&b=2 值为temp1 13 | ==>> 右边加上 &t****=*****6 值为temp2 14 | ==>> md5 hexdigest 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.douban.frodo-豆瓣-6.34.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.douban.frodo 3 | 豆瓣 4 | 6.34.0 5 | 6 | 关键java类: 7 | com.douban.frodo.utils.crypto.HMACHash1 8 | 9 | 逆向简析: 10 | _sig: 11 | 例子:hmac.new(hmackey, quote('GET&/api/v2/movie/tag&1588351779'), digestmod=hashlib.sha1) 12 | hmackey为 bf7d*******e6f7 13 | 1588351779 为时间戳,需更新 14 | 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.android.benlailife.activity-本来生活-5.7.1 .txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.android.benlailife.activity 3 | 本来生活 4 | 5.7.1 5 | 6 | 关键java类: 7 | com.android.benlai.request.basic.c 8 | 9 | 逆向简析: 10 | sign: 11 | 例子:{"a": 1, "b": 2} 12 | ==>> 表单数据排序 a1b2 值为temp1 13 | ==>> 右边加上 be**** 值为temp2 14 | ==>> md5 hexdigest upper 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.xiachufang-下厨房-7.4.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.xiachufang 3 | 下厨房 4 | 7.4.0 5 | 6 | 关键java类: 7 | com.xiachufang.utils.Md5Util 8 | 9 | 逆向简析: 10 | api_sign: 11 | 例子:{"a": 1, "b":2} 12 | ==>> 表单数据排序 去除& a=1b=2 值为temp1 13 | ==>> 右边加上salt,并且md5 hashlib.md5(temp + salt) 14 | salt值特别特别特别特别长,估计开发人员对"长"颇有信仰,其值为11117973*****5858141b 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.greentree.android-格林酒店-5.22.3.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.greentree.android 3 | 格林 4 | 5.22.3 5 | 6 | 关键java类: 7 | com.greentree.android.common.DesEncrypt 8 | 9 | 逆向简析: 10 | 这个app没有参数加密,但response中的价格进行了加密: 11 | 例子:价格:jYCc2VkIFtE= 12 | ==>> base64 decode 13 | ==>> des的ecb进行解密 key值为bytes.fromhex('47************31') 14 | ==>> 价格结果为 169 ☑️ 15 | 16 | 关键的key值都**隐去了,只是交流学习。 17 | -------------------------------------------------------------------------------- /com.moji.mjweather-墨迹天气-8.0206.02.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.moji.mjweather 3 | 墨迹天气 4 | 8.0206.02 5 | 6 | 关键java类: 7 | com.moji.mjweather.library.Digest 8 | 9 | 关键so: 10 | libencrypt.so 0x2344 11 | 12 | 逆向简析: 13 | sign: 14 | 例子:{"a": 1, "b": 2} 15 | ==>> 表单数据json dump 并去除空格 {"a":1,"b":2} 为temp 16 | ==>> temp + salt 为 temp2 , salt值为 KA****id 17 | ==>> md5 temp2 hexdigest 18 | 19 | 关键的key值都**隐去了,只是交流学习。 20 | -------------------------------------------------------------------------------- /com.cubic.autohome-汽车之家-10.7.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.cubic.autohome 3 | 汽车之家 4 | 10.7.0 5 | 6 | 关键java类: 7 | com.autohome.mainlib.common.util.SignHelper 8 | 9 | 关键so: 10 | libblackBox.so 0x17E10 11 | 12 | 逆向简析: 13 | _sign: 14 | 例子:{"a": 1, "b":2} 15 | ==>> 表单数据排序 去除& a=1b=2 值为temp1 16 | ==>> 左右两边加上salt,并且md5 hashlib.md5('%s%s%s' % (salt, temp, salt)) 17 | salt值为 @7****@$ 18 | 19 | 关键的key值都**隐去了,只是交流学习。 20 | -------------------------------------------------------------------------------- /com.lianjia.beike-贝壳找房-2.31.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.lianjia.beike 3 | 贝壳找房 4 | 2.31.0 5 | 6 | 关键java类: 7 | com.bk.base.util.bk.DeviceUtil 8 | 9 | 逆向简析: 10 | Authorization: 11 | 例子:{"a": 1, "b":2} 12 | ==>> 表单数据排序 去除& a=1b=2 值为temp1 13 | ==>> appsecret为 d5*********1ca ; hashlib.sha1(appsecret + temp1) 值为temp2 14 | ==>> base64.b64encode( appid + ":" + temp2) appid为 201*****d 15 | 16 | 17 | 关键的key值都**隐去了,只是交流学习。 18 | -------------------------------------------------------------------------------- /com.ganji.android.haoche_c-瓜子二手车-7.2.6.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.ganji.android.haoche_c 3 | 瓜子二手车 4 | 7.2.6.0 5 | 6 | 关键java类: 7 | com.guazi.android.network.Utils 8 | 9 | 逆向简析: 10 | sign: 11 | 例子:{"a": 1, "b":2} 12 | ==>> 表单数据排序 去除& a=1b=2 值为temp1 13 | ==>> 去除空格 re.sub('\s', '', temp1) 为temp1 14 | ==>> hashlib.md5(temp1 + salt).hexdigest() 为temp2 15 | ==>> hashlib.md5(temp2 + salt).hexdigest() 16 | salt为 d9******************be 17 | 18 | 19 | 关键的key值都**隐去了,只是交流学习。 20 | -------------------------------------------------------------------------------- /com.rytong.hnair-海南航空-8.1.1.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.rytong.hnair 3 | 海南航空 4 | 8.1.1 5 | 6 | 关键java类: 7 | com.rytong.hnair.HNASignature 8 | 9 | 关键so: 10 | libsignature.so 0xD9CE 11 | 12 | 逆向简析: 13 | hnairSign: 14 | 例子:{"darbra": {"a": 1, "c":3}, "arbrad": {"b": 2, "d": 4}} 15 | ==>> data数据里的二层嵌套进行排序,并且只需要value值 1234 值为temp1 16 | ==>> 右边加上salt,temp1 + salt 为temp2, salt值为 F6B******069F 17 | ==>> hmac: hmac.new(hmackey, temp2, digestmod=hashlib.sha1).hexdigest().upper() 18 | hmackey为 21**********491 19 | 20 | 关键的key值都**隐去了,只是交流学习。 21 | -------------------------------------------------------------------------------- /com.ygkj.chelaile.standard-车来了-3.91.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.ygkj.chelaile.standard 3 | 车来了 4 | 3.91.0 5 | 6 | 关键java类: 7 | dev.xesam.chelaile.sdk.k.b.a.b 8 | dev.xesam.chelaile.sdk.f.o 9 | dev.xesam.chelaile.sdk.k.b.a.a 10 | 11 | 逆向简析: 12 | cryptoSignStr: 13 | 例子:temp = 'action=%s&udid=%s&timeStamp=%s' % ('/bus/line!encryptedTsfRealInfos.action', '******', '1588236490093') 14 | ==>> hashlib.md5(temp + salt).hexdigest() salt为 ***ihrn**** 15 | 16 | 请求的response加密了,解密过程如下: 17 | 使用aes ecb解密,key值为 445**************7F 18 | 19 | 关键的key值都**隐去了,只是交流学习。 20 | -------------------------------------------------------------------------------- /com.husor.beibei-贝贝-9.39.0.txt: -------------------------------------------------------------------------------- 1 | app: 2 | com.husor.beibei 3 | 贝贝 4 | 9.39.0 5 | 6 | 关键java类: 7 | com.husor.beibei.utils.SecurityUtils 8 | 9 | 关键so: 10 | libcommon-jni.so 0x20A4 11 | 12 | 逆向简析: 13 | 14 | _abr_: 15 | 例子:{"a": 1, "b":2} 16 | ==>> 表单数据排序 a=1&b=2 值为temp1 17 | ==>> '\n'.join(['01', 'GET', '', '/gateway/route?%s' % temp1, 表单参数里的timestamp]) 为hmac_data 18 | ==>> hmac.new(hmac_key, hmac_data, digestmod=hashlib.sha1) hmac_key为Sc********1o 19 | 20 | sign: 21 | 例子:{"a": 1, "b":2} 22 | ==>>表单数据排序 a1b2 23 | ==>>左右都加上salt,值为 L39********0ef '%s%s%s' % (salt, a1b2, salt) 24 | ==>>md5这个值 25 | 26 | 关键的key值都**隐去了,只是交流学习。 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sign 2 | 逆向app的sign等参数破解 3 | 4 | 如果偶然间能给你带来灵感、思路,或是能够有所帮助,不胜欣喜。 5 | 6 | **随手给个star呐🌟🌟🌟。** 7 | 8 | ## contact 9 | 10 | | Author | darbra | 11 | | --- | --- | 12 | | Email | darbra@126.com | 13 | 14 | ## app list 15 | 16 | | package | display | version | 17 | | --- | --- | --- | 18 | | com.ganji.android.haoche_c | 瓜子二手车 | 7.2.6.0 | 19 | | com.lianjia.beike | 贝壳找房 | 2.31.0 | 20 | | com.douban.frodo | 豆瓣 | 6.34.0 | 21 | | com.husor.beibei | 贝贝 | 9.39.0 | 22 | | com.ygkj.chelaile.standard | 车来了 | 3.91.0 | 23 | | com.cubic.autohome | 汽车之家 | 10.7.0 | 24 | | com.xiachufang | 下厨房 | 7.4.0 | 25 | | com.rytong.hnair | 海南航空 | 8.1.1 | 26 | | com.greentree.android | 格林酒店 | 5.22.3 | 27 | | com.sharetwo.goods | 只二 | 5.4.7 | 28 | | com.android.benlailife.activity | 本来生活 | 5.7.1 | 29 | | com.hupu.games | 虎扑 | 7.5.10 | 30 | | com.moji.mjweather | 墨迹天气 | 8.0206.02 | 31 | --------------------------------------------------------------------------------