自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DASCTF2024冬

一个签到题目ida64位打开可以看到有base64变表,然后后面发现了一个异或最后解码。

2025-03-07 20:10:26 422 1

原创 源鲁杯2024 RE

使用了源代码级混淆,使得所有的函数和变量都以宏定义的形式给出。并且对源代码进行了不可编译的修改,使得选手无法编译出项目,只能肉眼观察项目,但是这样混淆下来实际上是很难看懂的,或者去修改宏定义,将宏定义名称修改成它本身的定义,再进行替换即可。crypt函数这里有一个魔改,逆向进行-20的操作,这里注意逆向的对象。RC4init有一个加1300的魔改,但是初始化不需要逆向。结合check函数,发现可能是一个数独,在线解密一下。但我们无法看到num的值,左侧有一个init函数。题目可得,go语言的简单逆向。

2024-10-27 17:12:04 478 1

原创 攻防世界 re 新手模式 2

32位无壳一些简单信息,看关键函数可以得到v7[i]的值比较简单的逆向把大写变为小写,然后加上EIS前缀即可。

2024-07-29 22:23:24 784 3

原创 攻防世界 re新手模式

在VC++6.0中,char的1字节,short是2字节,int和long都是4字节,因此可以认为BYTE、WORD、DWORD定义的变量分别是1节,2字节,4字节。强行解释:导出的数组有2700项元素,恰好202020是675个元素,观察,2700/4=675,每个数据后面会有3个零,所以,数据每四位取一位。看if语句,根据i的不同,选择不同的数组,后面的2*i/3选择数组中的某一个元素,我们输入的是a1。二维字符数组写法:前一个是代表有几个字符串,后一个是每一个字符串长度,会在最后默认有\0。

2024-07-19 22:25:41 1315

原创 C语言算法学习

每组数据首先是一个正整数N(1

2024-07-15 23:29:48 302

原创 [UTCTF2020]babymips

水一篇32位c++写的,长得比较丑陋进入sub-401164函数V7的数据可以得到大概意思应该是异或那里相等V7传到形式参数a1里面我不知道他为什么没有后面那一半我知道了。

2024-07-14 23:01:49 361

原创 c++ learn

超市里有 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le10^5)n(1≤n≤10 5 ) 个寄包柜。每个寄包柜格子数量不一,第 i ii 个寄包柜有 a i ( 1 ≤ a i ≤ 1 0 5 ) a_i(1\le a_i\le10^5)a i (1≤a i ≤10 5) 个格子,不过我们并不知道各个 a i a_ia i的值。1 i j k:在第 i ii 个柜子的第 j jj 个格子存入物品 k ( 0 ≤ k ≤ 1 0 9 ) k(0\le k\le 10^9)k(0≤k≤10。

2024-07-06 23:18:00 1156

原创 [V&N2020 公开赛]strangeCpp

根据12-15行的算法,加上上一张图里的dword_140021190 <= 14549743,可以穷举暴力破解出result里的值。看着挺奇怪的,然后想动调,出现了一点错误。然后观察,最开始有一堆数据,不知道干嘛的。对welcome中间的数据交叉引用发现。然后根据flag提示,找个网站md5加密。每天水一道题计划,打卡第三天。沉默,反思,不解,疑惑。

2024-07-06 23:13:27 289

原创 [V&N2020 公开赛]CSRe

查了后得知是NET混淆,就是一种防反编译的方法。

2024-07-06 00:12:38 311

原创 buuctf re

他这个结果差一个花括号,比较容易修正。看到了长得像base64加密的东西。然后这是个base64解密函数。先打开,然后看关键函数。

2024-07-04 00:12:53 358

原创 程序设计实践

已知一个非递减有序的单链表,输入一个整数,在链表中查找,若找到,请删除这个整数,链表始终保持有序(若有多个,只删除第一个)。Roliygu曾经沉迷于SICP大半个学期,在沉迷期间,他对LISP语言的算术表达式很感兴趣,于是类比写出了一种后缀表达式。接下来的n行,每行一个后缀表达式,保证表达式合法,且不使用除四则运算之外的操作。有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的。

2024-06-16 22:55:11 1300

原创 HNCTF2022 RE

64位ELF,ida打开主函数decrypt函数,为tea加密,v ,k 已知tea加密解密函数(C语言)function函数根据以上写脚本即可,不用逆向,直接写。

2024-06-08 14:45:43 984

原创 HNCTF2022 REVERSE

不懂python,转成C语言char s[36];int i;s[0]='N';for(i=1;i

2024-06-02 20:55:06 538

原创 LitCTF2024

pythonEXE附件拖到和pyins一个目录下找到ezpy加后缀pyc在第一个文件里找一个文件看字节戳,复制打开ezre把ezpy 加上.pyc然后执行python3.11的用不了,去在线网站,用不了啊使用pycdc工具,严格来说无法还原为python文件,但能看到其源代码将pycdc.exe文件跟要还原的pyc文件放入同一个文件夹,在命令行输入命令可以在命令行显示pyc文件内的python源代码如果想要保存到一个文件中:先用在线网站吧。

2024-06-01 16:41:37 2133

原创 rust语言初识

Rust语言在2006年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,而 Mozilla 于 2009 年开始赞助这个项目。第一个有版本号的 Rust 编译器于2012 年 1 月发布。Rust 1.0 是第一个稳定版本,于 2015年5月15日发布。内存安全Rust 中的所有内存访问都经过了编译器的严格检查,并且在运行时不会出现空指针异常或数据竞争等问题。这意味着 Rust代码具有更高的可靠性和安全性,可以避免常见的安全漏洞。

2024-05-27 17:01:05 2037

原创 LitCTF2023

下面那个逗号,写的很迷,然后AI转了一下,emmm,人工智障,,。rc4加密,buf2是一个256字节的s盒,密钥是litctf。32位,盲猜有SMC,猜错了,用不到,阿巴阿巴。010 打开,第一行是空的,需要补齐,得到换的表以后,套了一个脚本就出来了。找了一个别的,要加一个中间变量。提示了python3.7版本。一个假的flag,再分析别的。把那个buf1转为十六进制。进入下面那个4015A0。4015220函数进入。里面有一个换表的函数。

2024-05-23 20:14:01 452

原创 re--SMC

SMC,即Self Modifying Code,动态代码加密技术,指通过修改代码或数据,阻止别人直接静态分析,然后在动态运行程序时对代码进行解密,达到程序正常运行的效果。SMC的实现方式有很多种,可以通过修改PE文件的Section Header、使用API Hook实现代码加密和解密、使用VMProtect等第三方加密工具等。

2024-05-14 21:46:02 662

原创 汇编--栈和寄存器

CPU针对栈顶应该也有对应的寄存器记录,8086寄存器中有两个寄存器段地址寄存器SS以及偏移地址寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中,PUSH指令与性的时候从SS:SP中获取到栈顶的地址。这些寄存器名字分别是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,ES,PSW。一个典型的CPU由运算器,控制器,寄存器等器件组成,这些器件靠内部总线相连,内部总线实现CPU内部各个器件之间的联系,而CPU于外设(主板上的其他器件)之间的联系则由外部总线连接。

2024-05-09 22:34:23 1483

原创 buuctf re findKey

32位,ida打开f5,先不管呢winmain函数看看字符串进到flag那里,没法反编译。

2024-05-04 22:30:55 788

原创 A加密算法

例如输入单字节字符“%”,它对应的二进制值是“100101”,前面补两个0变成“00100101”(二进制值不足8比特的都要在高位加0直到8比特),从左侧开始按照5比特切分成两组:“00100”和“101”,后一组不足5比特,则在末尾填充0直到5比特,变成“00100”和“10100”,这两组二进制数分别转换成十进制数,通过上述表格即可找到其对应的可打印字符“E”和“U”,但是这里只用到两组共10比特,还差30比特达到40比特,按照5比特一组还需6组,则在末尾填充6个“=”。,因此可以准确的人工录入。

2024-05-01 22:54:13 1521

原创 buuctf re 45-48

环境中建立项目时,会产生.csproj文件,这是C#的工程文件,其中记录了与工程有关的相关信息,例如包含的文件,程序的版本,所生成的文件的类型和位置信息等。.csproj,是C#项目文件的扩展名,它是“C Sharp Project”的缩写。对所给进行sha1解密,在进行md5加密即可。base64的,困了,思路比较简单,有空说。这是一堆,仔细看,是个游戏。

2024-04-26 23:25:13 281 1

原创 buuctf 41-44

新表ZYXABCDEFGHIJKLMNOPQRSTUVWzyxabcdefghijklmnopqrstuvw0123456789+/应该是base64换表。有一个base64函数。看字符串应该也是换表吧。

2024-04-21 21:55:49 364

原创 buuctf re 37-40

先处理v4,然后v3,最后v5即可。进入下面那个400770函数。进入上面那个400686。长得好复杂啊不长得真高级。等以后心情好了再说吧。

2024-04-19 23:07:14 475

原创 buuctf re 33-36

此对象创建成功后此线程内核对象句柄(Handle)的引用计数是2, 2这个值包括:创建此线程的线程有一个计数,此线程自己也会有一个计数,此线程自身会在线程函数执行完毕后自动close其句柄也就是计数减一。注意,调用了CloseHandle(hThread)之后,hThread的值不会发生变化,因为这个值只是一个内核对象句柄表中的一个id而已,它只是间接的表示一个内核对象的句柄。如果将hThread值或者伪句柄值传入其他线程或者进程,实际操作的目标句柄可能是当前进程或线程也可能是未定义的。

2024-04-19 22:19:32 685

原创 buuctf re 29-32

可以不看那头疼的汇编φ(0 ̄*)啦啦啦_φ(* ̄0 ̄)′。就..........离谱。

2024-04-18 22:57:26 394

原创 buuctf re 25-28

观察分析得到10次base64得到那个off6cc090进去发现·很长一串数,提取数据base64解密。v6 = m = c的e次方mod N。那个you found me交叉引用Ctl X(反编译不了好怪啊)经多次base64解码(怀疑ing)得到一个网址emmm没啥作用。看那个gmpz就想到前天rsa下载gmpy的那个找了半天没找到。加上那个pow函数(第二个)底数指数模推测rsa。shift +12查找拖到底。可以导出两个数组的数据。qmemcpy函数名。

2024-04-18 21:37:09 375 1

原创 buuctf re(21-24)

那个40100A函数进去有一个hash,得出有哈希加密。只有第六位不知道的话可以一个一个试0-9,a-z。看中间rotflag那个代码,有一个+13。(shift +f12查找flag也可)还有一个就是对后面那个270的一串MD5。发现没有a1[6],将上面转化为字符型。然后sha那个解密没有在线网站。所以第一次输入123321。进入400e28运气使然。加上flag{}就行了。一个个手算或者z3都行。0x8004u是标识符。找了解密的网站真难找啊。

2024-04-18 16:06:08 941

原创 re加密算法

作为对真正术语像“双重DES”的嘲讽,半路杀出的术语“双重ROT13”、“ROT26”、“2ROT13”、以及玩笑性质的学术论文“关于2ROT13加密演算法”。因为套用ROT13到已经加密过的ROT13文字,将会打回原形;ROT13通常作用于MD5、flag等字符串上,而我们通常知道MD5的字符只有ABCDEF,其对应的ROT13就是“NOPQRS”,flag对应的就是“SYNT”。ROT13是凯撒的一种特例,当k=13,且只作用于大小写时,称之为ROT13,准确来讲他不能算是密码,而是编码,它没有密钥。

2024-04-17 22:56:09 421

原创 buuctf re

上述所说的算法安全性与大数分解有关,就体现在这了,我们反过来想,如果 p 和 q 选的很小,那对于 N 的求解将会变得非常简单,密码就容易被破译;所以说, E 和 N 是RSA加密的密钥,换句话说,E 和 N 的组合就是公钥,表示为公钥是(E,N)私钥:在已知密文的情况下,只要只要 D 和 N 这两个数,任何人都可以完成对解密的运算。所以说, D 和 N 是RSA解密的密钥,换句话说,D 和 N 的组合就是私钥,表示为私钥是(D,N)RSA的密文是对代表明文的数字 m 的 e 次方对 N 求余的结果。

2024-04-16 22:45:31 607

原创 HGAME2022

大概先左移,后右移,在异或,逆回去的话肯定先异或,然后就不太清楚了。那个&0xff不太明白,搜了一下。

2024-04-13 21:14:37 161

原创 HGAME2024 RE

所以就是左移4位=2的四次方=16与左移五位。用010打开把Ari改成upx,学一下思路。emm用ida打开发现蛮奇怪的。有一个什么信号异常,看汇编。先跳过这一部吧,以后再补。看*16,*32怪怪的。open,进入main。不是很懂这一堆的意思。进入1708那个函数。

2024-04-04 17:48:50 231 1

原创 HGAME 2024 week1

用16进制编辑器(此处为010)打开生产的文件夹下struck文件(与pyc在同一文件夹),复制前面8个字节(由于用PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。前四个字节为python编译的版本,后四个字节为时间戳。四个字节的magic number、四个字节的timestamp)打开文件夹里的一个.pyc文件取第一行数据用010插入到第一行。打开包名(无后缀名)的文件,把刚才复制的第一行信息添加到首行。添加好信息后,给该文件添加后缀..pyc.反编译py。

2024-02-01 20:08:21 443

原创 Re 河北科技大学第二届超会杯

shift +f12flag{we1c0m3_to_r3v3r5e_&$23_42q2}先脱壳upx-d然后有一个加密写脚本。

2024-01-23 12:42:52 404 1

原创 pip安装

安装pip install pyinstaller。

2023-12-27 23:13:03 356 1

原创 buuctf 挫折

2023/12/17不让粘贴。

2023-12-18 19:28:35 467

原创 upx脱壳机脱壳

复制路径在桌面右击找属性,保存地址。

2023-12-10 09:55:12 614 1

原创 ollydbg的使用学习

在文件里打开文件。

2023-12-09 15:36:02 206

原创 PTA问题遗留

输入字符串的前3个字符移到最后。

2023-12-05 21:13:34 396 2

原创 buuctf密码

摩斯密码 在线解密,一堆点和横线的,注意大小写吧,基本都大写好像。变异凯撒 一个个查找ASCII码差得不一样但有规律。Quoted-printable 在线解码。凯撒密码 对字母移位,有花括号存在。base64 有=补位的。rsa 不是很懂,以后说。Rabbit 在线解密。

2023-12-03 21:19:16 157

原创 BUUCTF Re

跟进一下flag {hacking_for_fun}进入Str2发现 {hello_world}即flag{hack1ng_fo1_fun}得到flag{hell0_w0rld}好像要脱壳,软件还没下好,以后再说吧。这是异或完了的结果然后写个代码逆回去。idaapk还没下载Java网站注册。然后上面那个if即i,r用1替换。水平不够,再学学数组跟志臻再说吧。有一个比较嘛然后就是那个所以。不知道C语言能不能写,试试。shift e是导出数据。alt +t 搜索字符串。python会不了一点。

2023-11-09 22:46:04 183 1

空空如也

空空如也

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

TA关注的人

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