随笔分类 - REVERSE
摘要:1.分析 mprotect(&dword_400000, 0xF000uLL, 7); 在这段代码中,mprotect 是一个 Unix/Linux 系统调用,用于更改一个进程地址空间中某个区域的保护属性。 &dword_400000:这是要更改保护属性区域的起始地址。 0xF000uLL:这指定了
阅读全文
摘要:1.UPX 010修改特征码后 脱壳 2.分析 ida python导出数据和后 写脚本爆破即可 注意 task()中的HIDWORD在我们写脚本是没意义的,它只是手动修改防止溢出而已 导出C数据脚本 import ida_bytes start_addr = 0x405020 end_addr =
阅读全文
摘要:RC简介 在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。 特点 RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,
阅读全文
摘要:def tea_encrypt(v, k): # TEA加密 delta = 0x9e3779b9 sum = 0 v0, v1 = v[0], v[1] for _ in range(32): sum += delta v0 += ((v1 << 4) + k[0]) ^ (v1 + sum) ^
阅读全文
摘要:设置IP方法: 当是直接在这里修改函数名的 这里用设置IP的方法 拓展一下知识 在此下断点 运行到这里 如上设置IP 运行得到flag 还有一种方法是: 慢慢跟getflag函数的伪代码,本质上是函数嵌套,可以慢慢跟。 另外: 为什么直接改了会崩溃,这是因为printf后面的参数传少了"%d",导致
阅读全文
摘要:1.分析还原逻辑 这是一道需要nc的RE远程题,但是也给了我们文件进行分析 这是我么进去后的main,进introduce()和work()看看 这里的介绍告诉我们这个地图明显就是一个动态的地图,没走一步变一次 我们nc也是知道的 这个work()函数里面则是我们重点要分析的 move()里面看看
阅读全文
摘要:1.分析题目 这个文件是sb3后缀 非常得奇怪 拖到如下看看发现zip? 解压后得到这三个文件? Open all types of files through your browser (openfiles.online)在网上查找相关资料后发现这个网站 把json文件拖到这里面看看 这里有一些我
阅读全文
摘要:1.检查函数并且去花指令 根据提示我们可以知道是花指令? 程序的逻辑是非常的清晰明了的,就是将我们输入的buf进行加密最后与b1进行比较 根据这个jz jmp我们很容易知道这是一个花指令我们选择直接nop掉 重定义函数发现没反应? 按C强制转化为代码,重新在函数头p重定义函数 F5进行反编译 于是我
阅读全文
摘要:1.初步分析 sp恢复平衡 得到假flag 根据这里所谓的提示我们大概就能知道这里的flag就是假的,但是我们来试一下? v2是我们这里的值 我们可以shift+e或者右键如下 然后在下面进行提取就好了 非常明显的假flag 我们从这里也可以看出来它把str传给了Destination但是并没有利
阅读全文
摘要:RC4分为两个部分 一个是初始化 第二个就是加密或者解密了 载入IDA 以下是对这个程序进行的分析 法一: 因为本题的RC4加密算法是没有进行魔改的所以我们的思路是非常清晰明了的 我们把V4给提取出来然后直接写脚本(或者直接CyberChef)进行解密即可 动态直接V4读取完毕之后点击v4进去直接复
阅读全文
摘要:找到字符串窗口之后交叉引用再F5反编译 我们可以很容易看到更改的内容 此处就是对加密的整体实现所以我们可以写tea的解密脚本来将其解密出来 而这里就是加密的密文了 与常规的tea相比这里的do while里面的tea加密外面还有一层for循环来处理sum 所以我们也要对其进行处理 从最后往前进行处理
阅读全文
摘要:观察程序可以把这个类型改为char OK修改完毕 &savedregs其的地址是[rsp+180h]所以&savedregs-368为[rsp+10h] 也就是我们的v8 这时候我们的思路就是写脚本一个一个把我们的v8也就是所输入的flag一个一个算出来 采用python的Z3约束求解(顺便学习一下
阅读全文
摘要:根据提示nc 10.1.5.114 20005大概可以发下这个题目需要nc最后 查壳可知是64位的elf文件 拖入IDA中我们大概可以知道这是一个登录程序 所以只要我们输入正确的密码就可以拿到shell得到flag 通过这里我们可以知道首先是通过一个 rc4_init 然后 base64_encod
阅读全文
摘要:[院赛2023]babyAES Shift+F12进入看到这个双击 Ctrl + z交叉引用 F5反编译进入 根据题意我们可以知道是这个是AES加密 处理的点就是这两个函数 对密钥进行处理然后存入v12 再进行对比得出答案 而前面对密钥也要一定的处理 但是已经是处理完了之后 所以我们可以直接通过动态
阅读全文
摘要:我们点进去 CreateMap()这个子程序 我们shift+e讲这里的数据提出来放入我们要写的脚本中 我们先看check里面 exp #include<bits/stdc++.h> using namespace std; int main() { unsigned char map[] ={ 0
阅读全文
摘要:[院赛2023]消失的眼角膜 unity逆向方法:unity游戏的主要逻辑、脚本 都在Assembly-CSharp.dll,因此我们可以使用dnspy之类的工具就能够轻易的反编译出源码 再依次查看的时候发现这里直接出现了flag代码的大意是通关到第五关可以直接拿到flag并且是没有加密的 同理我们
阅读全文