CTF4
简单的题目就不予展示了
一些有意义的或者我确实有点问题的我展示一下
POST


主要是工具的使用吧,然后就是如何理解
毕竟上一题是?what=flag
这题是借助工具做的
alert

看源码,即可
然后识别出来这是什么码,去解码
发现这是unicode码
<!-- flag{657371b310fe2c7d35a47293dd3fd44c} -->

flag{657371b310fe2c7d35a47293dd3fd44c}
你必须让他停下

打开之后一直闪动,右键查看源码,F5刷新
一直刷到flag出现

flag{dac5582de451d538f908adc26c7aaace}
瑞士军刀


然后使用kali的ncrack
把提示复制一下然后就有这些了

主要是了解ncstack这样一个工具,以及一些命令
入门逆向

逆向题,评论说用ida来打开,我这里是kali,不知道怎么做,只能换windows试试
先下载ida软件,生成后
打开然后把baby.exe导入
直接有了

; 'f'
mov byte ptr [esp+2Eh], 6Ch ; 'l'
mov byte ptr [esp+2Dh], 61h ; 'a'
mov byte ptr [esp+2Ch], 67h ; 'g'
mov byte ptr [esp+2Bh], 7Bh ; '{'
mov byte ptr [esp+2Ah], 52h ; 'R'
mov byte ptr [esp+29h], 65h ; 'e'
mov byte ptr [esp+28h], 5Fh ; '_'
mov byte ptr [esp+27h], 31h ; '1'
mov byte ptr [esp+26h], 73h ; 's'
mov byte ptr [esp+25h], 5Fh ; '_'
mov byte ptr [esp+24h], 53h ; 'S'
mov byte ptr [esp+23h], 30h ; '0'
mov byte ptr [esp+22h], 5Fh ; '_'
mov byte ptr [esp+21h], 43h ; 'C'
mov byte ptr [esp+20h], 30h ; '0'
mov byte ptr [esp+1Fh], 4Fh ; 'O'
mov byte ptr [esp+1Eh], 4Ch ; 'L'
mov byte ptr [esp+1Dh], 7Dh ; '}'
可能是版本的问题这直接显示出来了,我看别人的都没有直接显示啥的,本来是ASCii码
66H 是 'f',6CH 是 'l',这样子好定位到flag那边
在ida中使用r可以查看ASCii对应的值,比较方便
但是这个ida工具怎么用呢:
介绍:
signin

安卓逆向
使用GDA,github链接:https://github.com/charles2gan/GDA-android-reversing-Tool
文件解压后是一个apk文件
现在使用GDA打开这个sign_in.apk
长这样,然后看看是个什么情况吧



然后发现里面是java ,anriod的一些东西,碰巧我老师在上课也提过一句java跟anroid的好像是有联系的后面去介绍
这里这个包太明显了



0x7F0B0020 是标识,只是一个地址
这个id是由R$string来管理。所以,我们才有思路就是在R文件里找到这里ID
可是这个字母并没有变成数字,又怎么关联到tostring里的呢,大部分是这个很长的字符串
我们先来试试吧
我们可以直接去搜索有关string,然后就能定位到这里


然后去找strings.xml文件找相匹配的码
我怎么找不到救命

基本我就知道上面肯定错了,主要是那串字符串怎么转换成数字的问题,然后跟tostring匹配上
先往下面做
991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ
我们现在去找一下解码工具和倒叙工具
文字倒序工具,在线文字倒序 (qqxiuzi.cn)

Base64编码/解码器,在线解码Base64 (sojson.com)

这两个够用的
那么如何处理0x7F0B0020这个呢,很难过,可能是工具的问题,因为看别人是有数字的
那就是说这个软件可能无法通过解析这个地址
我们试试jadx行不行,也不能执著于一个工具



java与anroid:
Android 是在java基础之上的一门语言,Android是用来开发手机APP的,学Android 需要先学java基础语法。
简单地说,一种是操作系统,一种是开发语言。具体来说,Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。Java是一种面向对象的编程语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软件系统是用Java开发的。
Android的应用层上的应用程序是用Java编写的,以Java作为开发语言,但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。所以,要想从事Android的开发,就必须有Java基础。另外,在Windows系统中可以搭建Android的Java开发环境,这样就可以实现在Windows系统中测试Android项目了。
Android开发与JAVA两者是相辅相成的。JAVA给Android提供了开发的语言环境,Android的开发通过JAVA语言去实现。
--摘
要学习逆向还是有一段路要走啊
ping

解压出来是一个.pcap文件
我直接记事本打开是乱码的
然后我用winhex看看
(winhex启动真的有点问题可以看率winshark)


最后一个是 l
每个拼起来
flag{dc76a1eee6e3822877ed627e0a04ab4a}
但是这原理是什么呢,很好奇