阿拉丁神灯
迷得很,还以为需要真正的逆向,就是找到关键字符串…第一下就不合常理…
看来所有的逆向之前还是看一下段啊字符串什么有没有藏东西,或者看到返回的关键字爆搜一下嗯
FLAG
打开发现是什么输入flag?怎么像WEB???然后看到源码中有JS代码
关键的代码太多了,主要就是人工找到突破口吧。其实并不麻烦,因为你观察一下由短到长是有规律的,我倒是觉得是数据分析能力,用一个函数排序,然后一个个试试就行了…
flag{wh47_my5ter10us-do3s,the+phe45ant/c0nta1n}
- 1
转瞬即逝
神特么转瞬即逝…名字和题目没有半毛钱关系好吧….
这就很明显了…不解释了…
#_*_coding:utf-8_*_s='tikp[luX|aoTjaoh'flag=""for i in range(len(s)): flag+=chr(ord(s[i])^i)print flag#this_is_the_flag
- 1
- 2
- 3
- 4
- 5
- 6
- 7
有一个程序加密得到如下密文
反汇编一下得到源代码
但是看了半天感觉神了,应该是不知道的某种对称加密,但是这个加密解密过程都给了,尝试解密发现返回是空值,为什么!观察代码发现密文0-9位之间是一个关于时间戳的东西,10-25位是一个md5值,后面都是原密文,然后这个串被一个box盒进行了抑或替换…解密过程也是简单的,仅仅是再做一次轮换然后判断是不是中间的md5值后后面的string有关….有点像AES。按道理加密解密过程不会影响结果(前面分析纯属好奇),但是我们看到了关键的几个限制条件…
解决方法就是把他改成
print True
- 1
然后运行解密即可
DUTCTF{2u0_chu_14i_d3_5hi_h3n74i}
- 1
babyCrack.exe
这个。。。
hctf{bABy_CtsvlmE_!}
- 1
bin100(ebCTF 2013)
大概看了一下,就是所谓的筛子游戏,需要让你筛出一连串的对应的点数嗯,但是这概率很小。总体来说貌似你需要筛出3-1-3-3-7这个顺序,但是这概率很小,所以我们尝试修改程序中的判断流程
随便一改,将匹配值改成7,改成匹配就跳转,然后是永远不可能匹配的,一定不会跳转
ebCTF{
64ec47ece868ba34a425d90044cd2dec}
- 1
CFG to C
这个这个,选择题???
BCDA
- 1
Byte Code
看到是.class文件,如何反汇编,找到工具jd-GUI就行了,得到源代码…
import java.io.Console;import java.io.PrintStream;class Authenticator{ public <