|
此文章纯属位了锻炼我语言组织能力的而发的,如果有什么地方说得不够专业或者不好,请一笑而过。。。。
(适合有一点基础的人看。。。。)
app下载地址:http://www.2094.cn/
实验目的:找出登陆sign的加密方法
通过关键字(“sign”)的搜索,和根据个人经验判断可以定位在这里(看图)ps:有些关键字不是直接暴露在java代码里的,app开发者机智一点的会把关键字,封装在so库里面然后通过一个函数调用的,这样你怎么搜索页搜索不到关键字的。。。所以你的去看反汇编so库了
然后用jd-gui定位到此代码里,查看代码继续分析,
点一下NativeMD5Utile这个函数然后就会自动跳转到该函数处
然后一看到System.loadLibrary对不熟悉so反汇编的人就会大骂一声。靠~但反正都找到这里为何不继续往下,也许so加密没有我们像得那么复杂泥。
因为需要分析so库,所以我们要吧下载回来的apk后缀改成zip打开,定位到lib-----armeabi,把里面的libutil.so解压出来备用。
下面反汇编我们需要用到 IDA Pro 这个软件,具体下载地址我就不给了,自己百度去。。。。这个都懒得百度就不用往下看了。。。。
打开软件,把libutil.so拉进去,选择ARM,点击set,点击ok,然后看图
进去后我们看左边的函数列表,这个so库的开发者不够机智所以保护机制不是很好,jin调用的函数都没经过加密,加壳什么的就直接出现在左边的函数列表上了,不过大多数安卓用的so库主要函数是不直接出现在左边的列表上的,这个你反汇编其它app的so库时,自己留意一下
双击我们那个加密的函数NativeMD5Utile我们可以看到出现一大片arm汇编指令,这个我也看不懂,于是也是靠猜的。。。。看不懂不要紧,我们可以利用ida pro的F5一键反汇编成伪c代码,虽然有时候也是看不懂,但是好理解和好猜一点。。。。
选择函数,按下F5键
可以看到(我是猜的)把一个字符串和参数传进来的值进行md5加密,这时我们直接去双击jstringTocharAppendKey这个函数,但狗血的时这个函数不能F5,所以直接看arm指令(下面就靠猜和经验)
找到如图一串字符,下面就可以猜到(参数值+这个字符串)md5,先这样,返回去看java代码
回到md5加密这个函数,可以看到有两个参数,第一个直接不用管它,不要问为什么!我智商解释不了。。。第二个参数paramr.a(),跟进去看看点一下参数paramr隔壁那个r自动跳转
进去该函数,找到a()这个方法如下图
下面就看你会不会一点java了,不会的话就靠猜了~
扩展一下,java的post提交通常都是用一个集合提交的
格式是xxxx.put(参数,值)
然后把xxxx.toString()这样提交上去的
所以上面代码,我们可以猜到先把这个集合排序一下
java提供了直接排序的方法sort
直接排序数字数组等基本类型的可以用 Arrays.sotr()
集合就用Collections.sotr(集合,排序规则)
下面用代码来演示一下这个函数(图上面是用 new s(this),其实他是新建一个类实现Comparator这个接口),而我的演示时直接匿名类,结果都是一样的
排序后可以发现,规则是根据ascii码的大小从小到大排序的(在看演示)
a=97 c=99 A=65而上上图中的o1.compareTo(o2)返回的是o1的ascii码-o2的ascii码
97-99=-2
99-65=43
97-65=32
所以:a,c,A排序后就是A,a,c
看完上面后基本就完工了,下面就是验证加密的准确性了
r=user%2Fnewlogin&username=fuckyou&password=as123456
排序后(这个sort排序可以直接精易模块里的数组_排序()命令也可以用js的sort直接排序,js代码下面给出)
password=as123456&r=user%2Fnewlogin&username=fuckyou
然后就是MD5了(排序后的值加上刚才在so库里面找到的字符串MD5)
MD5(”password=as123456&r=user%2Fnewlogin&username=fuckyou“+“Xsdrf#@sdg$#^fh54342DFert2Deert”)
经本人测试,加密的的sign是可用的(不要问为什么不直接给代码,因为这只是分析思路)
本人技术也不咋的,所以有很多地方也是靠猜的,多猜猜,多动动手就会积累到经验{:soso__3110130392203091378_3:}
本人看完下面就结束,如有批评请好好说!
js 排序代码
function a(str)
{
var lin=str.split("&");
lin.sort();
return lin.join("&");
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|