安卓逆向从入门到嗝屁之另一道CTF题目
小伙伴发了一道安卓的CTF题目,有空就看了下:
首先,这次就先不装了,开个模拟器卡的一P,androidkiller、gda等无法打开,jeb正常打开(当然dex2jar打开dex文件,再用jd-gui打开jar文件也是可以滴~),定位到mainactivity如下:
来到onCrate下的onclick,当函数checkSN()不成立,界面会显示0x7F06001E位置的字符,我们可以先不用管具体的值是多少,因为app装上以后点击按钮会有消息,不过我们可以大概知道是失败的意思:
反之则成功:
checkSN()函数在onCrate中被调用,所以接下来需要研究一下checkSN()函数:
可以清楚的看见,其实flag{}中的值就是v5,那么我们就分析一下v5的值如何得来,首先checkSN()函数有两个参数,第一个参数arg11满足不为空且长度不等于0,第二个参数arg12满足不为空且长度等于22(后面可以看到其实就是用户的输入),v1的值为第一个参数MD5后的值,v3其实就是v1通过函数toHexString()后的值(16位):
v4是一个循环变量,值为0,2,4...这样一直循环到小于v3的长度为止,v5的值,也就是flag{}中的内容就比较清晰了,就是取出v3的值的第0,2,4...位字符。
思路明确,就是需要v3的值,v3又v1通过函数toHexString()处理后的值,所以定位到toHexString()函数,自定义的toHexString()函数其实就是使用系统的Integer.toHexString进行&0xFF,Integer.toHexString的参数是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展。
跟踪一波参数,v1的是将checkSN()的第一个参数,也就是this.edit_userName.trim(),即值为"Tenshine"。
将字符串"Tenshine"进行MD5加密,取偶数位:
所以flag为:flag{bc72f242a6af3857}
over~
转载于:https://www.cnblogs.com/Rakjong/p/11003017.html
安卓逆向从入门到嗝屁之另一道CTF题目相关推荐
- 安卓逆向从入门到嗝屁之突破签名验证
最近在跟着网上的教程学习android逆向,就用教程里的demo,跟着教程研究一下demo中的签名验证,操练起来~. 反编译之,可以看出签名验证check函数写在libJniTest.so中: IDA ...
- 安卓逆向从入门到嗝屁之一道入门级的CTF题目
首先当然是安装上,界面如下: gda打开,定位到关键位置MainActivity下的checkPassword,如下: java代码还是比较清晰的,但是本着学习smail的原则我们还是来看smail代 ...
- native层 安卓_安卓逆向学习入门之过反调试(一)
前面有篇文章讲了 smail代码的简单修改,其实它有3个apk可以用来练手,今天来讲第二个apk,也是比较简单,大佬请飘过. 样本地址: https://github.com/wyhuan/owasp ...
- 什么是Android逆向?如何学习安卓逆向?Android逆向自学笔记入门到实战
简单地来说,安卓逆向是对已经打包好的APP进行反编译.源码分析了解APP实现逻辑的一门技术.我们可以把安卓安装时用到的APK文件看作一个加密后的压缩包,逆向就是要最大程序地还原出APK打包之前的源码. ...
- 切水果安卓APP逆向过程报告----安卓逆向入门
一.准备工作 下载切水果大战原版.apk. 链接:https://pan.baidu.com/s/18N_Lg8C4O5D1J7cbt99W6Q?pwd=p625 提取码:p625 开始游戏 找找有什 ...
- 安卓逆向-入门笔记、相关知识点总结及思路
文章目录 安卓逆向思路: 1.查壳 2.未加固 2.1 工具 2.2方法 3 .第一代加固 3.1 工具 3.2 方法 3.3 材料准备 3.4 实例 补充知识: 一.Android 1.加密原则: ...
- 安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )
From:Hook 神器家族的 Frida 工具使用详解:https://blog.csdn.net/FlyPigYe/article/details/90258758 详解 Hook 框架 frid ...
- 安卓逆向_1 --- 逆向环境配置、APK 文件结构、APK 打包流程
哔哩哔哩:https://www.bilibili.com/video/BV1UE411A7rW?p=1 Android 逆向工程师系统培训‹第九期›( 课程目录 ):https://ke.yijin ...
- 跟我一起从零学习安卓逆向分析
随着国家对信息安全的重视,兴起了各大CTF的赛事,其中逆向板块的安卓平台题目不断涌现.在这个互联网+的时代,移动互联网的APP犹如滚雪球一般的增长,随之而来的则是移动业务安全如风险控制.反外挂.安全合 ...
最新文章
- Linux RAR 安装和使用
- Tracer Druid 记录sql 以及参数
- Python学习—基础数据结构之列表
- easyui数据请求两个url_jQuery Easyui datagrid连续发送两次请求问题
- DHTML【9】--Javascript
- Linux之部分shell脚本练习(二)
- 计算机关闭远程桌面 共享功能,win7旗舰版系统优化禁止用远程桌面共享的解决方法...
- 【动态规划】状压dp:蓝桥2020补给(旅行商问题)
- Mac数据库可视化工具,workbench完全替代Navicat和PowerDesigner,Oracle官方免费可视化工具workbench!!
- linux查询文件重复记录,Linux 查询文件内容重复数 uniq
- 中国邮箱品牌使用情况调研——TOM邮箱
- 苹果手机电池健康怎么看_电池的循环次数怎么看?关系到手机电池寿命
- “落子无悔,抉择本身就是向前”——2022年度总结
- 13.2.3 VAM服务器的配置步骤及示例(2)
- Linux内核与编程
- 王姨劝我学HarmonyOS鸿蒙2.0系列教程之五布局方法点击响应!
- A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK文章笔记
- 关于飞机材料阻燃测试标准ABD 0031
- 求两个文件的交集、并集和差集 sort和uniq
- powerlink介绍