Android
S1lenc3
https://s1lenc3-chenmo.github.io/
展开
-
67:X-Three
恶意代码分析,什么都没学会。。。。我太菜了。组件暴露漏洞:有的第三方应用可以调用高权限的系统应用达到一些不被允许的操作。特征:有权限调用,组件可导出(exported="true")代码分析,擅用交叉引用,查找关键信息。结合logcat:adb logcat > xx.txt 持续输出到文件确实啥都没学到,我水,我继续水。...原创 2020-01-15 22:51:21 · 219 阅读 · 0 评论 -
66:X-Two
今天讲的以前大部分都记录过了。简单写一下以前没记录的。保护和对抗干扰反编译利用反编译工具的bug或漏洞 • AndroidManifest.xml • dex • So 转换成伪代码时的bug • Smali -> Java • Arm指令 -> C++ 链接资源文件时的bug • 特殊的资源文件 • 超长的资源id对抗反编...原创 2020-01-14 21:25:32 · 209 阅读 · 0 评论 -
65:X-One
Xman初体验,跟不上进度啊。。。。Android系统架构应用层:应用程序,与用户进行交互,Java开发。应用框架层:API层,系统应用。系统运行库层:Android原生程序,Native层,C/C++程序和Android运行时库。硬件抽象层:内核与硬件接口。Linux内核层:Linux内核。Android运行机制Init启动->Zygote进程启动-&g...原创 2020-01-13 23:20:13 · 178 阅读 · 0 评论 -
63:攻防世界-Mobile-Android2.0
因为一点私人事情,废物了一把,出去玩了几天,调整了一下自己。要继续努力了,继续奋斗,坚持。1.明天课设答辩,因为之前太废物,只搞了一天课设,课设应付的,心里还有点自责。。。。如果挂了,也是活该。2.刷了一道题直接上JEB,查看show函数,所以参数应该是1.然后使用Android原生 对密码进行加密。IDA查看原生代码。Init函数将v2分解,分别给...原创 2020-01-10 01:04:43 · 1231 阅读 · 0 评论 -
第61天:Android静态分析-快速定位关键代码
1.定位主Activity在AndroidManifest.xml文件中找到android.intent.action.MAIN即为主Activity。2.定位关键代码的六种方法信息反馈法根据程序运行反馈的关键字符串定位关键代码。特征函数法弹出提示信息等函数,如:Toast.MakeText().Show()方法顺序查看法从启动代码开始,按执行顺序分析。代码注入法在...原创 2019-12-30 22:11:18 · 251 阅读 · 0 评论 -
第60天:攻防世界Mobile两道题
人民的名义-抓捕赵德汉下载了一个jar文件,直接解压文件可以看到三个class文件,用jadx一个一个分析看看。就是一个接口。分析了一下,好多没见过的函数,虽然有一堆加密,但是看上去最后返回一个类,不像是关键比较的部分。看看下一个类吧。这个才像是关键比较啊,直接试试md5解密字符串看看。提交flag正确。。。。所以有猜测,第二个的defineClass创建了第三...原创 2019-12-29 22:26:11 · 867 阅读 · 0 评论 -
第59天:攻防世界-Mobile-lllusion
又是废物的一天。昨天学了ARM汇编,今天看看这道题。加载了so文件。调用了原生程序的CheckFlag方法,参数v2是我们的输入,v1是assets目录内Flag文件的内容。 Ku@'G_V9v(yGS然后分析lib-native.so文件。直接找到这个方法进行分析,Java_monkeylord_illusion_MainActivity_CheckFlag...原创 2019-12-28 22:25:22 · 691 阅读 · 0 评论 -
第58天:ARM学习笔记
原生程序的生成过程:预处理、编译、汇编、链接ARM处理器支持7种运行模式:用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式、未定义指令中止模式。工作状态:ARM状态和Thumb状态两种状态对应为:(Thumb状态在前。)R0-R7相同、CPSR相同。FP 对应 R11IP 对应 R12SP 对应 R13LR 对应 R14PC 对应 ...原创 2019-12-27 22:31:07 · 295 阅读 · 0 评论 -
第56天:攻防世界-Mobile-Flag_system
1.做了两道题,一个没做出来。自闭了,一个人学习,时间全浪费了,学习效率降低几倍。flag system做了一半。首先拿到一个文件,没有后缀,010editor查看,(这是更改后的)android备份文件,之前见到过,改后缀为.ab文件。然后使用abe.jar,但是发现没什么用,直接看writeup,知道是abe的问题。查看backupdecrypt.pl感觉就...原创 2019-12-25 23:45:09 · 989 阅读 · 1 评论 -
第55天:三战easy-dex
1.熟悉了dex和odex文件2.再次尝试动态调试easy-dex,失败。3.完善easy-dexdex文件结构清晰,使用了无符号整型和LEB128的数据类型。结构如下:文件头固定:64 65 78 0A 30 33 35 00在010editor中可下载dex文件模板对应学习。odex是dex的优化,结构如下:文件头固定:64 65 79 0A 30 ...原创 2019-12-24 22:30:12 · 699 阅读 · 0 评论 -
第54天:Android开发之单选框RadioButton控件
1.组网测试2.买了一下午票,穷啊,得找便宜的3.单选框RadioButton每组单选框需要放到一个RadioGroup里。大多控件属性都很明显。orientation设置单选框的分布类型。checked设置选中状态。 <RadioGroup android:id="@+id/rg_1" android:layout_w...原创 2019-12-23 22:33:37 · 239 阅读 · 0 评论 -
第53天:Android程序生成步骤
Android程序即APK文件。APK文件实际上是一个zip压缩包。APK打包流程,可分为7步。第一步:打包资源文件生成R.java文件,主要使用工具aapt。调用aapt源码目录下Resource.cpp中的buildResources(),首先检查AndroidManifest.xml的合法性。 makeFileResource()函数处理res目录下的资源,然后调用comp...原创 2019-12-22 20:34:26 · 145 阅读 · 0 评论 -
第52天:Android之动态调试so
1.Xman打了一天,还能打出输出,自夸一下。2.记录一下动态调试so先搞一部真机然后用使用adb命令把IDA的android_server文件传进手机,64 和32位都传进去。安装apk到手机。adb push (文件) (手机目录)adb install xxxxx.apk有的目录root也没有权限,我是放在data根目录里,chmod 777 /dat...原创 2019-12-22 00:04:37 · 252 阅读 · 0 评论 -
第51天:Android之JEB动态调试smali
1.刷机,刷了大半天,小米,解锁,root终于能用了。2.解决APK_IDE一些apk反编译失败3.JEB动态调试APK_IDE或者其他一些反编译工具在反编译APK的时候可能会报错,有很多种可能吧1.jdk不匹配2.apktool版本太低今天遇到了这个问题,下载了高版本的apktool替换APK_IDE中的apktool即可。然后学习了一下JEB动态调试。...原创 2019-12-20 22:01:35 · 917 阅读 · 0 评论 -
第50天:Android开发之EditText控件
1.写了一天实验报告。2.晚上网络设备实验考试。3.抽了点时间看一下Android开发---EditTextEditText就是输入框,例如输入用户名密码等,就需要这个控件。 <EditText android:id="@+id/et_2" android:layout_width="match_parent" an...原创 2019-12-19 22:08:36 · 92 阅读 · 0 评论 -
第49天:Intent的简介
1.操作系统考完了,还有一门就解放了,这周六Xman,好慌。2.做了一道非常坑爹的android题攻防世界Mobile的APK逆向-2,坑死人了,好吧,也是我太菜了。拿到题,安装失败。第一次碰见安装失败的题。直接上JEB神器吧。发现这题代码量很大,而且很多函数都不认识,只知道是一个广播。花了点时间梳理了程序运行流程,根本不知道flag在哪里。。。。直接自闭。最后只能...原创 2019-12-18 21:50:22 · 173 阅读 · 0 评论 -
第43天:apk文件简介
1.复习了一天数值分析2.简单记录一下apk的文件结构吧,加深印象。明天考数值分析,看了一天PPT,我爱数学,但是数学不爱我。网上找的博客看的,写的比较详细,转载自:https://www.cnblogs.com/doit8791/p/5223201.html这里简单记录一下。apk是一个压缩文件,后缀改为zip可以解压出来。AndroidMainfest.xml一...原创 2019-12-12 22:33:00 · 672 阅读 · 0 评论 -
第42天:攻防世界-Mobile-easy-dex(烂文)
1.考完数据库。通宵复习,考试还是啥都不会,离挂科不远了。2.再尝试android动态调试,最后总结,一定要用真机进行调试so。3.放弃动态,等拿到真机再说吧。静态分析,继续做easy-dex。easy-dex这道题我就掉坑里了,先是动态调试,我也是一根筋,三天还没实现它的动态调试。今天试试静态分析,解密代码都找到了,又卡到解压这儿了。我要疯了,python3的zlib和pyt...原创 2019-12-11 22:11:47 · 1004 阅读 · 0 评论 -
第41天:IDA动态调试so(差点die了)
我是废物我是废物我是废物搞了两天,动调so我终于成功一次了。网上很多教程,无奈我全没复现成功。先提一下,一定一定最好用真机调试,我失败是因为我一直用的夜神模拟器x86架构的,然后我用android原生arm架构的就成功了。但是这个原生模拟器真是龟速,10几分钟开机,我吐了。。。。所以推荐android真机。卧槽,明天十点考试,我还没开始复习。。。。心累。写一下我遇到的坑吧。...原创 2019-12-10 20:36:51 · 316 阅读 · 3 评论 -
第40天:攻防世界-Mobile—黑客精神(续)
今天没做出来题,四点之前准备考试,四点之后一直整动态调试,还没调通,哪位师傅带带我啊。。。过了这几天就好好看书了,估计刷题到瓶颈了,又没人教,太难了23333.。今天把昨天那道题补充一下,昨天的佛系做法太水了。。。。从找到四个函数开始吧。先分析n2。打开一个文件,不存在则创建。关键点在这里,v16和v17是一个地址,当然是相同的字符串了。可以发现v13和v19是固定...原创 2019-12-09 22:19:40 · 833 阅读 · 0 评论 -
第39天:攻防世界-Mobile—黑客精神
吐槽!!!为什么那么多人做了这道题,没人出writeup。我就佛系解题法了。。。。前边一顿无脑操作,直接来到native方法。这几个方法名,发现在so文件里找不见,第一次遇到这种情况。。。搜索字符串试试。看到了希望,进去看看吧。。。最后 发现四个函数,n1,n2,n3,callWork.n2是创建reg.dat文件,并且把输入的字符串存进去,n1是判...原创 2019-12-08 17:18:43 · 1125 阅读 · 1 评论 -
第38天:攻防世界-Mobile—easy-so
1.继续刷Android,这题排序没规律啊,,,同样没学到啥东西。2.Java EE的Play Framework框架有前途没有,做了一天JAVA课设,完成了第一个简易博客系统,也算写的一个简易网站吧。学过不少语言,但是对开发兴趣不大,就一直没搞,现在被逼着搞了一个,感觉还可以。MVC不过如此。。。。哈哈。(逃)!easy-so看题目,就知道这道题是分析so文件了。基本操...原创 2019-12-07 22:30:08 · 1304 阅读 · 0 评论 -
第37天:攻防世界-Mobile—RememberOther
这道题太水,太水了,不过符号我现在的境地,这几天没啥时间学习了,考试保命要紧。checkSN返回为true,就注册成功了。发现,什么都不输,也可以注册成功。注册成功返回md5.md5解密是YOU_KNOW_但是提交发现不对,猜测可能是解出来的密码,将代码贴到IDEA中,得到密码提交发现依然错误。估计是脑洞了看了看writeup,最终flag是:YOU_KNO...原创 2019-12-06 14:31:16 · 1491 阅读 · 0 评论 -
第36天:攻防世界-Mobile—Ph0en1x-100
工具今天体验体验新工具。俗话说,工欲善其事必先利其器。APKIDE3.3.0 也叫APK改之理详细讲解在APKIDE中打开apk文件,然后打开java源码,定位关键代码:都调用getSecret方法,那就是说参数相等即可。即getFlag()=encrypt(paraView) paraView就是我们的输入。两个native方法,...原创 2019-12-05 15:43:39 · 1591 阅读 · 4 评论 -
第35天:攻防世界-Mobile—easyjava
到现在为止,基本操作应该都了解的都差不多了。直接上jeb。正向算法:这道题就是纯逆向java代码的算法。感觉脑子有点不够用了。这里是关键算法。代码调用了 a1类和b1类,我对代码做了简单修正,也练习一下java吧。import java.util.ArrayList;public class easyjava { public static void main...原创 2019-12-04 22:45:12 · 504 阅读 · 0 评论 -
第34天:攻防世界-Mobile—easyjni
感觉以前写的writeup杂乱无章,没有特定标题,今天学了一手,希望写的越来越好吧。工具神器JEBIDA知识点官方名也不会叫,就是加载库文件。Base64替换密码表简单算法分析程序流程一、java代码分析先看onCreate函数,关键就是调用aa()方法然后判断。aa()方法内调用了a1()方法。a1方法会返回布尔值,这个值也...原创 2019-12-03 17:59:22 · 876 阅读 · 0 评论 -
第33天:攻防世界-Mobile—app3
临近考试依然不忘刷题,CTF保佑不挂科。给了一个ab文件,我以为我下错文件了。。。。查了一下,这是Android备份文件,给个链接,https://blog.csdn.net/qq_33356474/article/details/92188491看完讲解ab格式的这篇文章,先下载一个Android backup extractor,然后对文件进行转换。经过一系列操作,我们会...原创 2019-12-02 21:45:40 · 1763 阅读 · 1 评论 -
第31天:攻防世界-Mobile—easy-apk
写了一天作业,进入了一周学习一学期的课的状态,课设,实验,考试。。。。。awsl博客还是不能放弃的。看看这个简单的题吧。直接反汇编拿到java源码,这道题比第二题简单啊(总结:这题排名不分先后)很明显,base64加密,明文比较,判断对错。直接base64解密,哦,发现乱码。那猜测应该是base64加密函数有小动作。交叉引用。。。大致看了一下,代码也不一定百...原创 2019-11-30 22:07:21 · 513 阅读 · 0 评论 -
第30天:攻防世界-Mobile—app2
这道题,简单学习android的题的解法吧,入门级别。感觉吾爱工具包里的Android逆向助手用起来还不错,嘿嘿。apk转jar,jd开jar,分析一下吧。putExtra 和 getExtra相对应,就相当于传参给其他Activity吧!因为也正在学android开发,所以知道这是实现页面跳转的。然后查看secondActivity就是对输入和输出加密,然后用eq...原创 2019-11-29 15:13:32 · 1175 阅读 · 0 评论 -
第29天:攻防世界-Mobile—app1
先apk转jar,然后jd打开jar文件,直接分析java源代码。来到关键代码。经过分析,知道charAt方法是用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。比较只是一个简单的异或,输入的字符串和(versionCode 和 versionName 异或)进行比较。public class app { public static fin...原创 2019-11-28 16:16:02 · 451 阅读 · 2 评论