自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 XCTF-logmein

(char)(*((_BYTE *)&v7 + i % v6) ^ v8[i]) )//如果输入的字符串和经过运算后的后字符串不等,则进入sub_4007c0。//双击查看,可以看出输出字符串Incorrect password,然后,退出。if ( v3 < strlen(v8) )//如果长度比v8小,则进入sub_4007C0函数。//s是用户输入的字符串,先进行比较长度。补:这里(char)(((_BYTE )&v7 + i % v6) ^ v8[i])chr():是将ascii转换为字符串。

2023-10-29 19:51:58 109

原创 XCTF-HELLO,CTF

代码的第 18 行对 v10 进行了初始化,并在 32 行进行了拼接处理。分析循环,其逻辑是:依次取出用户输入字符串的字符,将字符值的 ASCII 码值转成 16 进制的形式拼接到 v10 中。因此,若想令 v10 的值等于 v13 的值,需将字符串 v13 中的值两个一组,当作16进制的值,换算。代码第 进行了一个字符串比较,如果 v10 的值等于 v13 的值会反馈一个 success 的输出。v13 的值在第 15 行给出,因此需要知道 v10 是怎么处理的。

2023-10-29 19:51:07 109

原创 XCTF-game

print(chr(a[i]),end='') #转化为字符类型,不想让他换行后面加end=''看到一个if语句,以及判断的条件推测这就是得到flag的条件(用1和0来判断8个灯的亮灭)for i in range(57): # 57次循环 0~56 前包后不包。当8个灯都亮的时候就输出flag,这里跟进sub_457AB4()继续跳转,看到提示,flag就在这里。题目更改了脚本异或的地方不一样。

2023-10-29 19:50:32 144

原创 XCTF-re1

虽然是查不太到 printf 到底打印了什么。因为是小端储存,所以倒过来就是flag了。但还是能判断打印的是这三行文字的。可以直接用快捷键 R 改成字符串。在去点点看函数里存了啥。

2023-10-29 19:50:02 60

原创 XCTF-xxxorrr

先查找到字符串发现s1和s2进行比较,相等则输出。查一下s1 和s2的引用(看看是怎么处理的)把题目给的两次异或算法带入写脚本。发现s1被进行过两次异或处理。再找到s2里面的数据。

2023-10-29 19:49:31 154

原创 BUUCTF-youngter-drive

线程1改变了字符串,而线程2没有改变,也就是说奇数改变偶数不改变,直到dword_418008减为0 ,线程结束,主进程也跟着结束.如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False。flagrange.find(flagpart[i]) 查找flagpart[i]在flagrange字符串中的位置。因为这里的ASCII码的值是大写和小写的a和z。(图和解释都是偷别人的,暂时不知道怎么实现的)这是off_418004[i]的值。

2023-10-29 19:49:00 38

原创 [MRCTF2020]XOR

且不是sp错误(后面有碰到sp错误的)如果只能看汇编一般就是看流程图比较清楚。一开始将byte_4212c0放入栈中。text view 一般不太行。如果不成功则返回然后再来一遍。接下来把edx放入al中。进行一系列对eax的操作。

2023-10-29 19:48:22 74

原创 BUUCTF-[GUET-CTF2019]re1

所以 sub_4009AE这个函数就为关键点。关于z3约束求解ctfwiki有明确解释。不过有别人爆破出来的答案所以问题不大?z3约束求解能用在非常多的地方。然后可以用z3约束求解来解。转换为字符输出即可得出答案。不过出题人少给了a1[6]就是相乘如果不相等则返回。逆向过来就是相除得相等?使用upx -d 大法。只有通过if条件的判断。小结:学了z3约束求解。才会显示正确或不正确。虽然我觉得都满麻烦的。问gpt也能得出答案。

2023-10-29 19:47:39 113

原创 BUUCTF-[WUSTCTF2020]level1

if (i&1) {i 是 奇数,执行这里} else {.i 是 偶数,执行这里…i>>1 是 让 整型数 i 的数值 右移 2 进制 1 位 的运算。经过一个for循环和if判断后输出。从flag读数据到数组ptr中。我也不太清楚脚本是怎么来的。数据为奇数前面的才会执行。题目还给了另外一个文件。即奇数位移,整数乘法。

2023-10-29 19:46:43 48

原创 BUUCTF-CRACKRTF

进入被hash加密那部分(当然一开始是不知道的,后面知道函数后改的注释,正确应该是进行了一些处理。因为不知道具体数据但是知道一个范围,直接设置一个很大的范围进行比对。这次前面并没有提供范围,但还是需要对里面进行分析。这是与原本hashlib sha1脚本的区别。很多网站上md5解出来都是错的我感觉有些奇怪。# 获取 SHA-1 哈希值的十六进制表示。这么写的原因首先前面的条件是相等才会继续。在官方提供的文档中是 sha1 的加密。# 更新哈希对象,传入要哈希的字节数据。百度一下把这些不知道的函数百度出来。

2023-10-29 19:46:02 33

原创 BUUCTF-ACTF新生赛ROME

分析一下 进行了一个与ascii码表的加密算法 直接写脚本解密。查个壳先 32位 exe 文件 直接拖入ida分析。

2023-10-29 19:45:26 54 1

原创 BUUCTF-ACTF新生赛easyre1

"' #'一定要加\。可以用7zip 打开然后提取里面的文件 也可以在 linux 系统下用指令解压。sizeof v4 计算v4字节 v4有 12 个数组 所以是 12 个 字节。上面把字符串拷贝 但通常是按字节数拷贝 有个 size 变量控制。拿到文件,发现是一个tar文件。查下壳 有 upx 壳。

2023-10-29 19:44:48 135

原创 Buuctf-简单注册器

一般安卓启动一个activity 界面时 基本都会开启一个 oncreate 函数。一般会对androidmanifest.xml。底下这个main 是启动之后第一个应用界面。打开时候一定会有的 类似于初始化?直接把算法复制下来写java跑。按tab键可转为java。直接下来看java算法。

2023-10-29 19:44:11 161

原创 Buuctf-gwctf 2019 pyre

for x in range(len(code)-2,-1,-1): # 从后往前遍历,并且倒是第一个不需要异或操作。emm去模,由于(a%c+b%c)%c=(a+b)%c,所以num 等价于 (input1[i] + i) % 128。这里我们需要了解一下异或的特性,即当两个相等的数进行异或的时候则会变成0.比如:7 ^ 7 = 0。所以: A ^ A ^ B = B。我认为是+1了两次所以 -1 -1。然后每次都不包括 倒一个所以 -2。所以我们只要要倒序枚举,使用。pyc文件是由py编译而成。

2023-10-29 19:43:39 81

原创 Buuctf-luck_guy

因为时小端存储 所以字符应该为 icug`of\x7F \\ x7F反过来好像是因为ascii码表x7F代表的是del键 x7f不用带入也能算出flag可能也是这个原因。当为奇数时,程序会说 just finished //这不是我们想要的。这是在hex-view 里的,不用进行小端存储 //好像是内存?s = 'icug`of' #千万要注意IDA的字符是反向存储的!case1 把 f1 和 f2 进行拼接并告诉你这是flag。把对 f2 的处理写一个脚本并与 f1 拼接得出flag。

2023-10-29 19:42:54 39

原创 一道ctf题讲解python打包程序的逆向和pyinstxtractor的使用

一般是用 python pyinstxtractor.py 文件名.exe。反编译成字节码需要用到 pyinstxtractor这个工具。win11用这个好像有bug不会得到反编译后的文件。碰到这种的思路是直接反编译成python字节码。再把python字节码文件去在线网站反编译。可以得出是由python打包的程序。这个就是反编译的python字节码。把要反编译的文件放在工具目录下。发现一堆python的东西。找到带文件名的pyc后缀。github上项目地址。换个系统应该就能解决。

2023-10-19 14:59:29 963

原创 [从零开始的逆向学习] arct1cer加密与解密学习二 ida静态分析

用户可以使用ctrl+滚轮调整图形大小,使用空格键在图形视图和文本视图之间切换,或选择右键快捷菜单中 text view 切换到文本视图。将光标移到要创建函数的第一个字节上 edit - functions - create function 创建一个函数 (快捷键 P )ida会将数据转换为代码,以便分析函数结构 如果能找到函数结束部分 将生成新的函数名 如果无法确定函数结束部分或发现非法指令 操作将终止。输入窗口中列出了可执行文件调用的所有函数,双击函数ida将跳转到反汇编窗口的函数地址处。

2023-04-24 17:00:04 643 2

原创 【从0开始的逆向学习--arct1cer加密与解密学习笔记,破解第一个程序】

tips:大括号这一段是我从网上查来的资料(我在学汇编的时候并没有记下来所有的标志寄存器,只是草草带了一眼)^-^指令执行后,其结果是否为0,若结果为0,那么ZF=1;这里补充一个知识点:大部分数据是储存在eax里的,这里我们对汇编代码进行解析发现这个call引用了上面几个指令并且在je的时候进行一个判断并且跳转。但我们需要的并不是这些,这只是一个验证程序,我们只需修改返回值就好,我们按ctrl+9返回,边按f8单步过边查看系统窗口的提示。在windos中,只要api函数被使用,想隐藏东西是比较困难的。

2023-04-19 12:37:29 400 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除