- 博客(52)
- 收藏
- 关注
原创 符号执行之angr_ctf
angr_ctf之前一直弄环境没弄好,现在都解决了,终于可以全部过一遍了,仓库提供了三个部分的文件,一个是源码编译部分,一个是编译好的文件的集合最后是每题的题解部分分别在值得注意的是编译好的文件都是elf类型的,所以最好采用Linux运行脚本,而且默认版本是python2的,使用它提供的模板时最好修改下print打印函数添加括号,其它部分倒没什么需要解决的。
2023-08-04 15:52:56
516
原创 kali NetHunter刷入
安卓frida逆向协议与分析第一章中提供的刷机教程,Nexus 5X手机一部,kali NetHunter镜像,kali Linux(因为很多命令需要LInux命令不能直接用windows)作者误我,前面fastboot版本太老了,但事实上是最新的版本也不行,运行不了它,换Android 6.0.1系统。终于到重点了,,你居然告诉我面具的root是假的,,那我前面为什么不能直接用supersu刷。手机上安装也好慢,接近半小时,很好,两天时间没了,总算弄好了。之后手机会自动重启,前面出了点错误,差点变砖😥。
2023-07-13 01:58:14
942
1
原创 [安洵杯 2019]game
llvm混淆,第一次接触到,没找到可以直接反混淆的工具,但看了相关知识后,发现有效代码依旧是原有的那一小部分,所以可以直接看有意义的部分代码,有时间好好了解下吧。
2023-07-01 23:01:58
280
原创 [MRCTF2020]EasyCpp
前言这玩意真好用,比写文件类型好多了😐C++ STL库写的所以代码看着都比较长,不过带着gpt分析也不是太麻烦,昨天的蓝桥国赛比这难,果然菜鸡不配打算法比赛。
2023-06-11 19:48:07
163
原创 2023年第三届陕西省大学生网络安全技能大赛之babypython
第一题做的挺快的,直接动态调试转伪代码就出了,然后接下来就一直坐牢了,babypython本来听说gpt4可以直接输入上万行分析,结果感觉和gpt3的差距也不大,字节码太多了,无从下手😥。
2023-06-07 00:42:28
298
原创 [安洵杯 2019]crackMe 1
很有趣的一道题,因素好多运行文件弹出hook successful,说明用到hook注入,查壳发现文件为32位exe文件,中间说是缺少一个dll文件,直接百度下载过来就可以运行了定位到main主函数发现原先输出的窗口和代码内的数据不匹配,动态调试发下调用MessageBoxW api时并没有直接调用而是进入了下面这个函数,这是因为win32 api在调用时会触发消息机制,会形成回调函数,即同时执行了另一个可以由用户自定义函数在这里可以发现将。
2023-06-03 01:13:29
291
原创 [2019红帽杯]Snake 1
一个unity引擎写的贪吃蛇游戏,功能挺齐全的,看代码里,C#,和C++都有搜索知道unity有两个主要特点,程序代码会打包进Assemblely-CSharp.dll库文件下,他主要储存这文件间的相互联系与文件所包含函数,其中gameobject()是用来创建对象的函数包含该函数的模块文件即为游戏的入口,可以看到在Interface下查壳发现该文件为C++编写,不能用dnspy打开,换回ida。
2023-06-01 19:29:30
141
原创 [羊城杯 2020]Bytecode 1
给了一个字节码文本,在网上找了半天也没有可以在线转的,所以别浪费时间了,不过gpt-4应该可以,没钱,只能手撕吧配合ai读的话理解会更深一点分析了一半,没弄完,直接借用师傅的完成品吧。
2023-05-31 15:51:56
92
原创 [ACTF新生赛2020]SoulLike 1
主函数逻辑很简单,先满足前五个字符然后进83A函数进行判断,这题的主要考点也是这个函数,有几千行直接转的话转不了,需要去ida的成分股文件下的hexrays.cfg里面将max_function修改大一点。反汇编后发现是对a1重复异或,且每次会用到自己下标前面的元素参与运算,所以可以把函数dump出来。64位无壳,ELF-LSB文件。
2023-05-27 22:31:06
211
原创 [FlareOn5]Minesweeper Championship Registration 1
jar明显,直接拿jadx反编译。离谱,结果明文,为什么做的人会这么少。
2023-05-27 00:22:30
87
原创 [2019红帽杯]xx 1
看以看出来两个移位计算式很像tea加密中的一种,百度后发现是xxtea,那么我们需要获取密钥值,加密迭代次数,密文,直接动态调试,可以发现密钥为前五位,即flag,迭代值为6,所以前面的运算是为了产生这两个值。最后给了四个十六进制数作为结果比较,v19经过加密函数后,顺序打乱给了v20,然后进行异或操作得到最终结果。可以看到先判断输入字符长度是否为19,然后接下来的一段不知道在干嘛,我们倒着看。v8 =a2 >>2 +1,动调可以知道a2为20,所以结果为6。
2023-05-25 21:24:35
191
原创 reverse_re3
随便进一个函数可以发现在一个二维数组进行操作。游戏规则为由三找到四,然后连起来md5加密。看见wds等符号猜测是一个迷宫题。看见两个while循环的嵌套。可以看到迷宫被分成了三份。可以进去把数组打印出来。64位无壳elf文件。
2023-05-22 23:07:09
316
原创 [第五章 CTF之RE章]BabyLib 1
好久没遇到RSA加密了,第一眼有点无从下手,给了几个让人头疼的大整数。没有过多的分析,直接莽,主要这些算法也有点看不懂,让人头大。由于是大整数,不能直接赋值,需要借用gmpy2精度库。看见标识符65535。
2023-05-21 20:37:02
151
原创 [网鼎杯 2020 青龙组]jocker 1
逻辑挺清晰的,输入24字长度的字符串,然后复制为两份,一份按顺序进行运算,另一份发向encrypt函数进行运算,有趣的是后期这个函数会被重写,这也是前面保护函数修改内存属性的原因,发现前后两份加密数据都一样的,而且前面具有挑逗内容,可以猜出前面的flag有问题。可以发现这一部分是对后四个字符进行处理,先产生了一个随机数然后在判断是和v3[5]一起判断了下就没起作用了,这就很难搞,玄学,有师傅说需要靠猜,有点像之前一个电影占卜算数学题的感觉。64位无壳,真的无壳吗。
2023-05-20 23:32:49
106
原创 zorropub
两种方法,一种是逆向算法,另一种是爆破输入,之前一直以为只有angr可以爆破,看师傅们的wp说利用python下的subprocess库也可以完成。代码中发现MD5出现了三次,分别初始化,加密和输出,然后最后与一段字符串比对。程序加密分为两部分,随机数加密和MD5加密。seed需要满足 i &=i-1。一个64位的无壳elf文件。
2023-05-20 12:43:26
134
原创 APK-逆向2
很奇怪,题目说是apk逆向,结果给了一个exe文件,查壳后发现是visual编写的,用C#,那就只能用dnspy反编译了。可恶,中间用C语言写的fopen函数不能打开文件,改用python了。就三个函数,很容易就可以定位到加密区域。
2023-05-19 22:30:30
325
原创 findKey 1
根据文件运行结果应该是调用了win32函数,有点像mfc,查壳后发现是32位无壳,VC++编译。将下面的jmp nop掉因为原程序中不会执行,在这里干扰了ida的判断,然后转函数就成功了。下面有个判断有问题,会无条件跳转执行不了接下来的代码,但ida默认是都会执行。根据字符串定位代码后发现无法直接转代码,有脏东西😕。将SS作为密钥与str异或。对输入值进行hash。
2023-05-18 23:47:07
101
原创 [GUET-CTF2019]number_game
可以用0123456789作为初始输入,动调后观察结果位置,然后将数独结果写回去。将矩阵打印出来,解出数独值。
2023-05-17 16:44:19
114
原创 debase64
发现最后是一个比较,由于采用小端序,所以图中第一行注释为加密数据,LOBYT为取取参数最低位字节,HIBYTE为取最高位字节,进入加密函数,看起来像base64,但不是。值得注意的是a2 +v5,a2 +v5+1,a2+v5-1表示的是一个整数类型,所以依然采用小端序存储,结果应该是倒着的。根据提示末尾三位为===,还差以为根据hash值爆破。读取的值为:Y0uReallyKn0wB4s。
2023-05-15 15:29:19
133
原创 BabyAlgorithm 1
进去后发现两个函数,第一个是对密钥进行了一些加密,值得注意的是密钥采用小端序,所以v5,v6应该为倒序,“Nu1Lctf233”很有趣最终解码的时候还是和乱码的字节流直接进行异或,应该是不编码中间传输会出现变化,试了下事实上上不加密也可以直接传入。可以发现先把乱码转换成了utf-8编码,然后进行base64编码后继续编码成utf-8的字符串传入进行解码。下面这个函数则是RC4加密,虽然没有标志性的%256,但仔细分析算法,会发现有RC4加密的细节,交换S等。开始的时候没发现是RC4应该是移位符的缘故。
2023-05-12 21:32:44
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人