-
香山杯RE-URL从哪儿来把题放入IDA,我们可以分析到大致逻辑就是将对某些字符串进行加密,然后在内存中找到字符串的地址然后运行ou.exe这个程序
由于没有输入,我们直接进行动态调试即可
进入buffer
可以看到,这是将程序临时储存到了C盘...
-
re-not_gcc拿到题目我们可以发现是.bc文件
经过搜索我们可以知道,bc文件为LLVM IR bitcode文件,所谓LLVM IR bitcode文件,就是代码到可执行文件的中间码。我们可以使用命令将其继续编译下去,生成可执行文件
在li...
-
re-广播关于广播,就是相当于系统发一段通知,然后所有程序收到对应信号之后,对于特定的标识进行特定的反应
对于广播的触发点,我们一般写广播都会重写**onReceive,因此我们直接搜索这个函数**
可以找到我们的逻辑,需要输入一个用户名,然后进行哈...
-
RE-Tiger迷宫题
这里unk_7ff706BA3520是我们迷宫的地图,我们可以动态调试将其提取出来
12结合我们提取的数据分析,可以知道是12*12的棋盘
分析可知,墙面为’O’ 终点为0x16,起点为0x01
先用这个脚本提取出我们的...
-
拿到题目,我们可以分析出程序的逻辑,首先判断是否是二进制数据,然后将我们输入的二进制数据,转换为内存中存储的二进制数据,前面的逻辑大致就是做了这些操作
接下来我们分析一下,这个加密的核心算法
-
拿到题我们可以发现,有一个简单的反调试,调试很好过,我们直接NOP或者进行附加调试皆可
限制了输入,指定输入的flag的长度为40.
这一部分实现了SHE异常处理,人为的做出了访问不可地址的访问。
如果是熟悉SEH这个考点的话,那就方向其实很...
-
拿到题目我们可以发现,这个是开了ollvm控制流平坦化的题目,优化有点高,不好直接进行分析。
对于ollvm控制流平坦化,对于一般的开得比较少的,没有控制流没有那么复杂的,一般的的我们都在最后进行下断点,然后直接分析汇编代码即可,对于像这种,我们就...
-
我们拿到这道题,判断输入,可以知道验证我们的输入为64个字节,存储在buffer中,下面有一个判断,我们可以知道我们输入的字符范围为0 ~ 9,A ~ F.
其实我们通过整体来看,我们可以发现,在这个大的while循环中就只对这个encode返回的...
-
我们拿到题,我们可以直接发现我们最后的对比数据
跟踪我们输入的数据,我们可以很容易的识别这个是一个base64换表的加密
这里,我们会发现许多很花的伪代码,也不好分析是干什么的,这里,我们使用我们的动态调试
经分析这里的a2就是我们的前面加密后...
-
(SMC自解密+XOR+猜!)
正如这道题的名字,我做的时候就挺jocker的,题不是很难,但是最后的猜猜大法才能出flag是我没想到的,而且就算是把flag解出来了,给程序也不会有正确的回显,这就挺…..jocker
IDA打开,很容易知道flag...
-
题不是很难,但是自己做的时候过于Sb了,也不能这样说,害,就是自己想多了,不久前自己魔改了一下AES,所以一直想得是魔改的AES,在哪儿整了半天,越想越不对,其实就是没有魔改AES,调试一下把KEY调试出来即可。我去看了一些WP,有点离谱,有些把密钥...
-
(py打包+brainfuck语言+bf反编译+异或)我们拿到这道题,看这个图标我们就可以知道,就是PY打包的。
我们使用 pyinstxtractor.py 将其解包
可以得到如图的文件夹
将其反编译
网上找一个pyc反编译网站
我们可以看...