首页
社区
课程
招聘
[原创]香港中文大学 蒸米 解题报告
发表于: 2015-1-26 16:02 8464

[原创]香港中文大学 蒸米 解题报告

2015-1-26 16:02
8464
解题报告

郑旻 香港中文大学

www.cse.cuhk.edu.hk/~mzheng/

1. Java层反编译后发现是简单的异或加密。 Logcat里已经把密码和异或表log出来了,写一个简单的程序爆破即可。

2. 程序会检测tracerpid,如果不为0就会kill掉自己。为了在so加载之前挂载上,先用jdb调试,再用ida挂载上去,hook fopen函数,然后执行。程序会停在fopen所在的函数,找到那个检测函数以后,用hex editor把跳转到检测函数的指令换成nop,打包安装。然后hook on click后的jni函数,随便输入一个密码,ida会停到那个jni函数处,然后查看内存,发现密码:"哎呦不错哦".

3. 用了各种内存dump方法,最后dump出来的dex不是不完整就是有错误。。。但是第一名很快就做出来第三题了,于是google了一下第一名发现有github,里面有个indroid,是一个基于dvm的万能脱壳器。赶紧编译了一个4.2.2,刷到galaxy nexus上,然后运行程序。瞬间就把dex 用 dexdump的形式 dump出来了。。。随后分析dump出来的dex,前两个字节是hashcode的值等于一个整数,后面四个字节可以通过hook String函数得到。最后转换成摩斯编码,就是最后的答案。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第三题的方法。。人才啊
2015-2-2 10:24
0
雪    币: 178
活跃值: (422)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
indroid的使用能否说明一下,文档很少啊
2015-2-2 10:43
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
2,3题要是能出个详细报告就更好了。
2015-2-2 14:20
0
雪    币: 1380
活跃值: (1626)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
蒸米有侦查兵的潜质,可以升级为特种兵了
2015-2-2 16:43
0
雪    币: 693
活跃值: (108)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
第三题解法是亮点
2015-2-2 20:53
0
雪    币: 693
活跃值: (108)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
7
问下楼主,是在中文大学读本科吗?
2015-2-2 20:54
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
博士...http://appsrv.cse.cuhk.edu.hk/~mzheng/
2015-2-7 15:29
0
雪    币: 135
活跃值: (63)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
香港是用繁体吧,我玩的游戏有个港版中文的,看着蛋疼。楼主会用简体。
2015-2-7 15:39
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主,第一名的github是什么啊
2015-3-4 23:47
0
游客
登录 | 注册 方可回帖
返回
//