buuctf helloword
本题主要是apk文件反编译成exe,文件,apk文件是在安卓手机上运行的,就像exe文件在Windows上运行一样。
首先使用apkide,将它反编译成exe,然后随便找找就有flag了
![](https://i-blog.csdnimg.cn/blog_migrate/c17a0ea0589513423cb0c8c6e1df7fd6.png)
buuctf reverse3
首先查壳,是个32位无壳exe
![](https://i-blog.csdnimg.cn/blog_migrate/c80822383686ce1e98c98d81b874dd4c.png)
ida里打开,找到main函数,按F5查看伪代码,但是有点复杂
![](https://i-blog.csdnimg.cn/blog_migrate/03af5fd8706afe70d0989f216653e2ad.png)
双击str2看到了它
![](https://i-blog.csdnimg.cn/blog_migrate/ff6ad1a6a5c3a9b0d9a6a0c78203a244.png)
然后找到view->open subviews->strings看看有没有关键的东西,发现了base64编码
![](https://i-blog.csdnimg.cn/blog_migrate/a90f82da892dbbfe37c3ee17aa12c2a1.png)
看伪代码里,这一段,20位,猜测是base64编码后的位数
![](https://i-blog.csdnimg.cn/blog_migrate/f4e2a5352c5b069bb645cda6b2e7495f.png)
双击sub_4110BE,看看它对str做什么处理
![](https://i-blog.csdnimg.cn/blog_migrate/850daecac739ddf286dcc787b9501ae8.png)
sub_411AB0点进去
![](https://i-blog.csdnimg.cn/blog_migrate/7500ac5d58544bd5e012d04d9f5a0cd0.png)
双击aAbcdefghijklmn[64]
![](https://i-blog.csdnimg.cn/blog_migrate/64c6c12bfac8c8062b027ce876a83edb.png)
主要是每一位加1 和base64编码 这两步 写脚本
![](https://i-blog.csdnimg.cn/blog_migrate/52f518855d4d357cd80b63bf09578def.png)
得出flag{i_l0ve_you}
buuctf 不一样的flag
查壳,32位文件无壳
![](https://i-blog.csdnimg.cn/blog_migrate/9261e5d86cbd105f5af4896339db1906.png)
首先看到如下,看到up down light left应该是走迷宫,那只有5*5了才有25了
![](https://i-blog.csdnimg.cn/blog_migrate/acd6650dac460faf2729c21bf9705a81.png)
那就是下面这个迷宫
![](https://i-blog.csdnimg.cn/blog_migrate/7117d440410a0bfb13f5325324b5ce6a.png)
猜测只能走0。。。看看代码,1的ASCII码为49,#的为35,又是两种不同的情况,所以只能走0
![](https://i-blog.csdnimg.cn/blog_migrate/66ddbdcc44bae9e3d879cfb72bd2c576.png)
那么flag的内容应该就是走的路径222441133222
flag{222441144222}