精易论坛

标题: 很久没水贴了。APP反编译加密算法的查找教程 [打印本页]

作者: 波哥野结衣    时间: 2015-7-21 22:55
标题: 很久没水贴了。APP反编译加密算法的查找教程
本帖最后由 波哥野结衣 于 2015-7-21 23:01 编辑

本来是一位易友的问题。貌似论坛这方面的教程很少。之前出的教程也没涉及到解密方面的。借花献佛吧。
工具什么的论坛都有,用来干什么的我就不多解释了。
目标APP:乐视视频
目标算法:登陆时出现的加密sign

以下为登陆原包数据:
POST http://dynamic.user.app.m.letv.c ... 10000&version=5.8.3 HTTP/1.1
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.2.2; Droid4X-WIN Build/JDQ39E)
Host: dynamic.user.app.m.letv.com
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
Content-Length: 271

sign=ecad3739e1da39a926ddfb09b56abbb4®istService=mapp&loginname=15223297153&plat=mobile_tv&devid=1934bd6c7ddfde8ed2d9833b1b914463&imei=357139055717990&mac=38%3A2C%3A4A%3A73%3A88%3AE7&longitude=114.070907&latitude=22.546162&cid=28883&password=wq71885&lac=4527&profile=1


可以发现sign参数是加密的,根据字符串长度和特征大致可以判断为MD5


那么我们开始分析包。
1.首先我们使用antidroid反编译提取DEX。
2.使用Jd-Gui打开DEX。
以下开始图文说明
PS:其实这类APP可以做到“算法秒杀”。这个APP算法都在Util里面(很多APP都是),如果该APP都是调用Util里面的算法,那么只要反编译工具反编译后来到Util里面,插入Java的输出代码。将传递进Util的参数在没有加密前就输出出来,就达到了“算法秒杀”的效果,同样这个方法也适合一些出现“伪代码”,“没有关键字”。。。等等的APK。
值得一提的是想要看到输出的参数,需要一些安卓动态调试工具,这个就很多了,我就不提了。 @宿海仁太 来个精吧?


作者: 兔子君    时间: 2015-7-21 23:01
前排,混个眼缘
作者: 宿海仁太    时间: 2015-7-21 23:16
  好屌的感觉
作者: 2442295093    时间: 2015-7-21 23:19
如果是个视频教程多好
作者: TBit    时间: 2015-7-21 23:27
楼主这水的有技术!支持楼主!!!
作者: 屎加豆    时间: 2015-7-21 23:55
真正的秒杀是直接插入log代码打印出来。。。。
作者: 啭裑蓠閞    时间: 2015-7-22 00:03
666666666支持波多哥
作者: YoungBai    时间: 2015-7-22 01:27
技术贴.支持了.
作者: 照葫芦画瓢    时间: 2015-7-22 02:04
反编译加密算法
作者: deist    时间: 2015-7-22 06:38
水水更健康。学习了
作者: 执着    时间: 2015-7-22 09:19
非常666 给个赞!
作者: 七月你好    时间: 2015-7-22 13:03
点赞一个
作者: 黑月    时间: 2015-7-22 13:08
如果是个视频多好
作者: 13580380997    时间: 2015-7-28 19:49
谢谢波哥,非常牛B
作者: SpitFire    时间: 2015-8-2 15:09
好厉害啊,希望波哥能做一些视频
作者: 菜鸟寻找虫子    时间: 2015-8-3 12:52
设备id不是获取手机的么,怎么抓这个
作者: 哈哈呵呵    时间: 2015-8-5 10:05
大神你好:
在你这个帖子中,"1.首先我们使用antidroid反编译提取DEX。  2.使用Jd-Gui打开DEX。",请别笑我,我是一只真正的菜得不能再菜的菜鸟了----我不知道你是如何使用Jd-Gui打开DEX文件的。如果是转为jar文件,又是如何在那里面搜索相关的关键字代码的,如“sign”。望指教。诚心求教。

如大神搞一些这种视频教教咱这种菜鸟,对我等的进步,对论坛的活跃,也是好事一件。
作者: Super817    时间: 2015-8-7 00:06
如有视频教程,更棒了
作者: qwer99130    时间: 2015-8-9 22:00
看不懂  支持一下
作者: 叮咚软件    时间: 2015-8-26 10:45
2.使用Jd-Gui打开DEX。  这个不支持这个格式。。。。。
作者: w4nyy    时间: 2015-8-27 16:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: haobaobei    时间: 2015-8-29 23:51
菜鸟顶贴!!!!!
作者: Taisy    时间: 2015-8-31 11:55
分析的很详细,
作者: neckman    时间: 2015-9-23 12:33
这帖子很有营养,大师 以后多点这类教程
作者: shjaspy    时间: 2015-9-29 12:08
学习学习。。。。
作者: 只得就冲    时间: 2015-10-30 12:51
太牛了   {:soso_e100:}
作者: ㄗs恋ゞの訫    时间: 2015-11-10 22:07
分析算法什么的都我看都不敢看,不过还是学习了!感谢大神分享!
作者: 依存    时间: 2015-11-11 20:03
过来学习
作者: w225568    时间: 2015-11-13 17:17

这帖子很有营养,大师 以后多点这类教程
作者: 断水流师兄    时间: 2015-11-26 15:34
顶个先。。。。
作者: killeryy    时间: 2015-11-28 16:08
大神是水平啊 希望出视频
作者: xjh88232259    时间: 2015-12-1 13:03

这帖子很有营养,大师 以后多点这类教程

作者: 老烟    时间: 2015-12-13 11:43
写得很好,秒杀的方法呢?文章最后怎么没有
作者: a深浅    时间: 2015-12-18 13:12
过来学习

作者: MY寂寞的夜    时间: 2015-12-20 16:04
好流B 精易讲师,,,,,,,,,,,,,,,,,,,,,
作者: 默默ke    时间: 2015-12-25 20:35
怎么回事儿?
作者: 小小C    时间: 2015-12-29 22:35
大神你好,刚接触app,今天发现一个app反编译后里面只有一个class文件,其余的多数为xml配置文件,class中没发现具体有用代码,类中发现反射类,但是如果是反射也不可能只有一个,搜索提交参数的key值也找不到,请问这是我反编译失败了吗?
作者: bbb555    时间: 2016-1-9 20:40
很好  很不错  对初学者的我来说真的受益匪浅 希望大神可以留个qq,交流一下!
作者: dagangcool    时间: 2016-1-14 13:53
第一次看,不懂,但是精彩
作者: 藏半杯水    时间: 2016-1-20 21:57
好贴强顶
作者: Boymido    时间: 2016-1-21 19:54
感谢分享,很给力!~
作者: 易学渣    时间: 2016-2-12 02:27
牛逼到炸天的感觉
作者: 精易⌒小傷    时间: 2016-3-7 05:25
说好的,文章最后,秒杀呢。。。
作者: 正人君子    时间: 2016-3-7 21:09
波哥。JAVA怎么调用没搞个图来看看啊
作者: 簡簞    时间: 2016-3-30 23:35
受益匪浅受益匪浅受益匪浅受益匪浅受益匪浅受益匪浅
作者: 婷宝吃的挺饱    时间: 2016-4-23 09:03
#好评了在看#
作者: lgqiu1983    时间: 2016-4-26 23:39
很牛B,学习学习
作者: huhu010203    时间: 2016-4-27 08:04
NB NB 精益讲师 NB
作者: 大象先生    时间: 2016-5-10 02:19
大神啊,太牛逼了
作者: kaodashi187    时间: 2016-5-12 12:57
来看看  牛逼
作者: 霸道无敌帝    时间: 2016-5-13 06:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: zenghuan    时间: 2016-5-14 20:55
好强悍哦。这样也行
作者: chuanh001    时间: 2016-5-28 00:25
高,实在是高!
作者: 14113639    时间: 2016-7-1 03:30
牛逼  就是不会JAVA看不懂
作者: Gordon0918    时间: 2016-8-18 13:58
很详细的分析,很好
作者: 江江江江江江    时间: 2016-8-19 14:36
学习下看看
作者: 无锡呵呵    时间: 2016-8-20 19:03
本帖最后由 无锡呵呵 于 2016-8-20 19:07 编辑

[attach]553616[/attach]

[attach]553615[/attach]


调用过程。。。

作者: 无锡呵呵    时间: 2016-8-20 19:04
  
调试输出 (“sign算法:”sign (“123456”, “a8a992c5f6b39d1de5deb0501a6ab0ea”, “123456789”, “6.8”))
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
sign文本型 
参数名类 型参考可空数组备 注
loginname文本型
devid文本型
password文本型
version文本型
变量名类 型静态数组备 注
sign加密文本型 
sign加密 = version + loginname + password + devid + “e3F5gIfT3zj43MAc3F”
返回 (加密MD5 (sign加密))
子程序名返回值类型公开备 注
加密MD5文本型 
参数名类 型参考可空数组备 注
字符串文本型
返回 (取数据摘要 (到字节集 (字符串)))


i支持库列表   支持库注释   
spec特殊功能支持库
dp1数据操作支持库一


学习爱好者...贴上源码...互相交流加我QQ:[qq]617513094[/qq]
作者: Toxic玖伴    时间: 2016-9-17 23:32
NB..
作者: weizhuojun    时间: 2016-9-23 00:28
波哥威武!!!!
作者: smouren    时间: 2016-10-6 00:03
这教程好 正好最近卡在sign的算法上了

作者: udbvfhpdx    时间: 2016-10-27 08:29
牛,太牛了,果然不一般!
作者: 1002457754    时间: 2016-10-29 11:40
给力.........
作者: ahzhw    时间: 2016-11-5 09:25
学习下,正在研究这个、、、、、、
作者: maikesoft    时间: 2016-11-9 23:13
不错哦谢谢
作者: 幻月工作室    时间: 2016-11-14 14:34
楼主有工具吗?
作者: baixb13    时间: 2016-11-26 12:23
留个记号留个记号留个记号
作者: Youlor    时间: 2016-11-26 15:43
初来乍到,逛逛论坛,多谢多谢~
作者: 米苏    时间: 2017-1-16 17:38
学习了。入门中。
作者: duchangchao    时间: 2017-2-17 20:40
这个必须顶顶顶
作者: 无名小猪    时间: 2017-2-21 18:34
感谢分享  很详细
作者: wo303807101    时间: 2017-4-10 21:53
我来看看吧
作者: ttioo7    时间: 2017-5-29 16:42
传播佛法 普度众生 楼主好人
作者: sunpaomo    时间: 2017-6-16 11:12
受教了,谢谢
作者: qq605598878    时间: 2017-7-18 00:35
有秒杀方法吗
作者: Gordon0918    时间: 2017-7-24 15:27
很有用的小技巧,支持一个
作者: a15019524496    时间: 2017-9-12 16:38
额 好难额鹅鹅鹅
作者: 柴可    时间: 2017-11-10 18:07
厉害!!!!!!牛逼!!!!!!!(单纯水一下)
作者: 铭聚科技    时间: 2017-11-29 01:02
嗯大神之作不错不错顶顶顶
作者: 就是那个秋    时间: 2018-1-21 17:52
我那个去...
作者: liweiyuan    时间: 2018-2-5 00:08
KANKAN那种是秒杀方法
作者: yunva00    时间: 2018-2-10 20:18
...........................
作者: qwanqiao    时间: 2018-2-14 20:08
受教了,谢谢
作者: 代码洁癖症    时间: 2018-3-9 19:11
就随便回复一下八

作者: wsw19920107    时间: 2018-8-1 14:05
纯属新手。一脸的蒙蔽。
作者: l2388942053    时间: 2018-9-22 16:26
大佬,你有没有写过基础一点的教程啊,给个链接呗,膜拜了
作者: qq307974412    时间: 2018-12-16 19:18
嗯大神之作不错不错顶顶顶

作者: 王飞021325    时间: 2019-9-13 07:41
看看如何秒杀的算法
作者: 德友    时间: 2019-10-24 16:11
这个很不错哦。
作者: machengyu    时间: 2019-11-18 14:14
哪里看秒杀的方法
作者: qianhuo    时间: 2019-12-10 22:36
来是一位易友的问题。貌似论坛这方面的教程很少
作者: qq420041    时间: 2020-1-2 07:52
新手前来观望
作者: wannxy    时间: 2020-8-22 18:06





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4