[SWPU2019] Android3
先反编译出java代码查看,发现没有坑,直接调用了库文件里的check
把so文件直接丢到ida中查找check函数,看到
这是说明flag是11位,刚好发现11个ascii码
60,108,51,79,129,56,44,94,84,69,64
这里也有 11个值,拿下来
6,2,5,0,7,3,10,9,1,4,8
往下发现一个判断,令v1=x,v3*v5=y
,则有(x^2-y^2)/(x+y)
即x-y
就是对应的data
后面想了半天都不知道如何继续了,因为有个pow不知道如何解
后来再去翻so文件,发现有的so文件大小并不一样,我这个开的是 10kb的,还有个18kb的。。。
把18kb的so文件放入ida,就明了了
看了别人的wp说是取i和i在之前列表里的下标,但是也搞不懂为什么是这样。。问了学re的大佬,也是一知半解。。。
那按照下标的话,就能得到代码:
a = [60,108,51,79,129,56,44,94,84,69,64] index = [6,2,5,0,7,3,10,9,1,4,8] res = [] for i in range(len(a)): y1 = pow(-1,(index.index(i)+i)%2) res.append(chr(a[i]+y1*(index.index(i)+i))) for v in index: print(res[v],end="")
得到结果2019SWPUctf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异