吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 36111|回复: 159
收起左侧

[Android 原创] 陕西省网络空间安全技术大赛安卓破解试题分析(一)

    [复制链接]
挥汗如雨 发表于 2017-4-25 17:32
本帖最后由 挥汗如雨 于 2017-12-17 12:48 编辑

今年的陕西省网络安全大赛一共有5道题,笔者将详细讲一下解题过程及思路。(特别感谢:@东梨子。推荐一下对我帮助很大的  simp1er 的博客 http://wsimp1er.com/


第二题破解及思路http://www.52pojie.cn/thread-603169-1-1.html


第三题破解及思路http://www.52pojie.cn/thread-604320-1-1.html  (作者是@Enigma_G ,感谢他的付出


第四题破解及思路:  http://www.52pojie.cn/thread-604822-1-1.html  作者是@Enigma_G ,感谢他的付出


第五题破解及思路:http://www.52pojie.cn/thread-605059-1-1.html  (作者是@lumou ,感谢她的付出

==================================================================

第一道题: 010.jpg
然后给你个apk文件:链接: https://pan.baidu.com/s/1jIL6icm 密码: rtjb
打开是这样的: 0.png
也就是需要参赛选手破解出来密码,下面直接说思路。


Android kill 打开这个文件,翻译成Java代码进入入口函数
1.jpg


可以明显看到调用的.so文件和判断语句,直接用IDA打开这个.so文件


PS:其实   lib目录下面有两个文件夹 3.jpg


这俩的区别是一个是arm 一个是x86,也就是32位和64位,我一开始用的arm里面的.so文件,但是IDA F5后不太友好,有的语句没有反编译出来,所以建议选择x86里面的,还有我以前用的是吾爱IDA6.6汉化的,经过对比发现  吾爱破解工具包2.0  里打包的IDA6.8版本F5效果比较好。




IDA里导入humen.so文件
4.jpg
5.jpg




找到这个函数,F5后直接看代码,明显的一段算法+比较,算法大概的分析写上面了,当初写的比较粗心,数组其实是从0开始的,第12号字符其实是第13个,请把里面的“个”看成“号”,抱歉。


直接点开这个  t_ptr  可以发现是输入的字符串经过加密后是同 5.1.jpg 它比较的




好了,知道算法和最后的字符串,直接反过来算一遍。


QQ截图.jpg 原来的加密方式


6.jpg python 逆推和结果


结果输入进去:
7.png

由于楼主的重点在逆向出密码,所以安卓分析讲的不太详细,可以参考@Enigma_G   的帖子  http://www.52pojie.cn/thread-603799-1-1.html  ,IDA变量名称方面讲的也很不错。

第二题破解及思路http://www.52pojie.cn/thread-603169-1-1.html


第三题破解及思路:http://www.52pojie.cn/thread-604320-1-1.html  (作者是@Enigma_G  感谢他的帮助


第四题破解及思路:  http://www.52pojie.cn/thread-604822-1-1.html  作者是@Enigma_G ,感谢他的付出




第五题破解及思路http://www.52pojie.cn/thread-605059-1-1.html  (作者是@lumou ,感谢她的付出

免费评分

参与人数 54吾爱币 +58 热心值 +52 收起 理由
zhuchaogan + 1 + 1 鼓励转贴优秀软件安全工具和文档!
建立颗粒 + 1 + 1 我很赞同!
suxiaoxiann + 1 + 1 谢谢@Thanks!
陈窖窖 + 1 + 1 我很赞同!
zsjmyy1234 + 1 + 1 我很赞同!
z137002 + 1 已答复!
plus + 1 + 1 我很赞同!
bouc + 1 + 1 谢谢@Thanks!
jsfq444 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
牛头大亨 + 1 + 1 谢谢@Thanks!
向码农致敬 + 1 + 1 我很赞同!
siuhoapdou + 1 + 1 谢谢@Thanks!
陈北玄 + 1 + 1 学习一下
Kraken + 1 + 1 用心讨论,共获提升!
李莹莹 + 2 + 1 用心讨论,共获提升!
fu90 + 1 + 1 我很赞同!
lua11 + 1 + 1 用心讨论,共获提升!
wfz19950605 + 1 + 1 热心回复!
南柯一梦还未醒 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
aipanpann + 1 + 1 热心回复!
hsia_y + 1 + 1 谢谢@Thanks!
明月相照 + 1 + 1 谢谢@Thanks!
jsrdw + 1 + 1 我很赞同!
丶风存 + 1 + 1 谢谢@Thanks!
lapop + 1 + 1 热心回复!
HW606 + 1 + 1 热心回复!
biubiufish + 1 + 1 我很赞同!
yuxing818 + 1 + 1 谢谢@Thanks!
zhangbo093 + 1 + 1 谢谢@Thanks!楼主讲解的很好,可惜我学识浅,需要慢慢参透。感谢楼主分享.
dreamer2020 + 1 + 1 用心讨论,共获提升!
seiyu + 1 + 1 谢谢@Thanks!
aa5833891 + 1 + 1 谢谢@Thanks!
weimilk + 1 + 1 热心回复!
胡临任 + 2 + 1 我很赞同!
红阳 + 1 + 1 我很赞同!
CHEUNGQAZ + 1 热心回复!
青莲剑哥 + 1 + 1 我很赞同!
z1352547 + 1 + 1 用心讨论,共获提升!
ForGot_227 + 1 + 1 谢谢@Thanks!
夏雨微凉 + 1 + 1 用心讨论,共获提升!
lumou + 1 + 1 膜拜大神!
netle8 + 1 + 1 谢谢@Thanks!
shuaiqiu2222 + 1 + 1 热心回复!
BYD-唐 + 1 用心讨论,共获提升!
夏日miku + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
夜之零落兮 + 3 + 1 学习了大神
怖客123 + 1 + 1 我很赞同!
小傻 + 1 + 1 谢谢@Thanks!
qingqingthe + 1 + 1 我很赞同!
wcj1997 + 1 + 1 已答复!
Mr.Lee + 2 + 1 看见那个公差直接放弃了,文科学渣路过。
唯爱丶雪 + 2 大神啊,支持
a952779523 + 1 + 1 每天都会上来看看,大神的帖子, 但是看不懂, 不知道怎么去学习
caddy + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lumou 发表于 2017-4-26 21:10
超开心,看了楼主的题目后,根据所学的知识我用了另外一种方法破解,没有研究它的算法。我也讲一下我的解题思路吧。
QQ截图20170426204332.png
从这里,我们除了知道调用.so文件还可以知道如果返回是“a”就可以打开WindowActivity,也就是输入密码后的界面。
然后和楼主一样,用IDA打开这个.so文件,找到那个函数,按下空格键之后可以看到这样的界面:
if.png
这是一个jl判断跳转的(额……我的理解就只有这点),顺利的话往右边,看到‘a’,不然就是'b'。而且这两个分支除了‘a’和‘b’那里不一样外,其他都一样,所以我想着应该可以只修改这里。
把光标放到aA那里,然后切换到hex-view模式,可以看到:
a.png
这就确定了修改的位置。
最后用APK改之理来打开这个apk文件,
t.png
用16进制编辑器打开这个so文件,到0DC3h处修改它(把62改成61)
b.png
最后重新编译生成apk就可以了。结果图如下:
result.png
谢谢楼主!!

免费评分

参与人数 5吾爱币 +4 热心值 +5 收起 理由
Kage + 1 + 1 谢谢@Thanks!
helloword121 + 1 + 1 谢谢@Thanks!
Linshaojin + 1 用心讨论,共获提升!
zhangbo093 + 1 + 1 谢谢@Thanks!很好很强大,感谢分享,学习了!!
挥汗如雨 + 1 + 1 用心讨论,共获提升!

查看全部评分

我爱小彤 发表于 2017-4-25 17:53
,厉害了,还得会Python,还得会看java代码看不懂
邪梦 发表于 2017-4-25 18:31
★邪梦 发表于 2017-4-25 18:35
感谢分享,学习一下,
end620 发表于 2017-4-25 18:36
支持,谢谢
仙峰涯 发表于 2017-4-25 19:11
小白来围观学习一下。
caddy 发表于 2017-4-25 19:22
thx for share.
YsGer 发表于 2017-4-25 19:50
我爱小彤 发表于 2017-4-25 17:53
,厉害了,还得会Python,还得会看java代码看不懂

一法通万法通
guiwushaonian 发表于 2017-4-25 20:43
学习一下,好好看看
==! 发表于 2017-4-25 20:59
感谢楼主分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表