03 2023 档案
摘要:由于vmware虚拟机经常死机,所以尝试使用wsl去编译android相关源码 wsl编译环境 环境依赖参考编译android的aosp源码时设置的环境 https://www.cnblogs.com/revercc/p/16826591.html 使用共享目录 这里注意wsl使用的ext4文件系统
阅读全文
摘要:此app为猿人学2020年的赛题,需要得到0-99所有id值对应的返回结果之和。抓包查看到接口为/api/match/11/query,参数是id值以及sing值,返回数据就是id值对应的data值。 反编译apk得到发起请求的函数为query,其调用getSign1以id值为参数生成sign值,o
阅读全文
摘要:第四题调用System.currentTimeMillis获取毫秒时间戳,然后调用com.yuanrenxue.match2022.fragment.challenge.ChallengeFourFragment.signnative函数生成sign值,传入的参数是page+":"+时间戳。 gRP
阅读全文
摘要:第一题是java层加密,第二道是so加密,第三道是so混淆,经过分析前三道题sign生成算法不同,但是可以用相同的方法获取flag,这里以第一题为例:`charles` + `postern`抓包分析获取到两个接口。`/time`接口获取时间戳,`/app1`接口传入参数page,sign和前面获取
阅读全文
摘要:crackme难度不高,主要是为了熟悉逆向分析apk的步骤。 脱壳 反编译apk发现加了360的壳,主Activity为com.kanxue.test.MainActivity frida-dexdump一把梭,dump的dex需要修复checksum和signature。修复完成后jadx反编译d
阅读全文
摘要:破坏堆栈 ida会在分析一个函数的时候会计算堆栈指针的变化,如果不平衡就无法进行F5。 滥用ret ida在分析函数时,如果碰到ret指令就认为当前函数分析结束。通过内联汇编利用arm64的ret指令可以干扰ida的F5。 __asm__ volatile( "adr x30,0x0 \n\t" "
阅读全文