- 博客(31)
- 收藏
- 关注
原创 第四章 C语言中的基本输入输出(六)
本文介绍了C语言中常用的输入输出函数:putchar用于输出单个字符,getchar用于读取键盘输入的字符,printf用于格式化输出数据。详细说明了printf函数的格式控制字符串使用方法,包括格式字符串和非格式字符串,列举了常见格式字符及其功能。同时讲解了printf的修饰符用法和特殊字符输出技巧,以及printf函数的返回值含义。文章通过示例代码演示了这些函数的具体应用,强调上机实践的重要性。
2025-12-02 08:39:58
307
原创 C语言数据类型和关键字大全(五)
本文介绍了C语言的基本数据类型和关键字。基本数据类型包括整型、字符型和实数型,分为short、int、long、char、float、double等,配合signed/unsigned修饰符。文章提供了32位系统下各数据类型的大小和取值范围表格。同时列举了C语言的32个关键字,分为基本数据类型、流程控制、存储类别和其他类型。强调在实际编程中要根据需求选择合适的数据类型,并指出隐式类型转换的注意事项。最后建议通过实践来掌握这些概念,比单纯学习理论更有效。
2025-11-24 21:22:45
908
原创 第三章 C语言变量与常量数据(四)
本文摘要: 第三章介绍了C语言的数据类型,重点讲解了变量与常量的区别。常量是程序运行时不可改变的量,而变量则可改变其值并用于存储数据。文章详细说明了标识符的命名规则(字母、数字、下划线组成,首字符非数字,区分大小写)以及32位系统中各基本数据类型(如char、int、float等)的字节大小和取值范围。通过数值计算的例子展示了如何选择合适的数据类型,并提供了C语言32个关键字的列表。本章内容为后续学习C语言编程奠定了数据类型基础。
2025-11-17 01:12:50
697
原创 章节小训练(三)
本文是C语言入门教程的实践章节,提供了8个基础编程练习题及参考答案,帮助初学者巩固输入输出操作。题目包括:Hello World输出、数字与字符的格式化输出(指定宽度、对齐方式)、单精度/双精度浮点数的精度控制(保留3位、12位小数)、%f/%e/%g格式输出,以及字符图案输出(等腰三角形)。每个题目都配有完整的示例代码,强调动手实践的重要性。通过这些练习,学习者可以掌握C语言基本的输入输出格式控制技巧,为后续学习打下坚实基础。建议初学者完成这些基础练习后,继续寻找更多题目进行巩固。
2025-11-17 00:50:31
300
原创 解剖实例C语言(二)
好的,第二小结我们回顾了上节的内容,并对C语言有了更多的基本认识,希望你们有所收获,我会尽快更新接下来的内容本节内容由Dotcpp编程的C语言快速入门提供,穿插着博主的思考以及一些认知,希望对大家有所帮助。
2025-11-08 15:11:17
908
原创 回过头来重新对C语言进行深度学习(一)
目标:回过头重新学习C语言,加深对C的理解和人知。用通俗易懂的语言来表述出来,希望你我能有新的收获。刚开始学习C语言的也可以观看,比较通俗易懂。
2025-11-06 21:06:31
704
原创 buuctf Crypto 做题学习相关知识
本文分享了12道常见密码学题目的解题思路和方法,包括Base64、MD5、URL编码、凯撒密码、摩斯密码等基础题型,以及变异凯撒、Quoted-printable、栅栏密码、Rabbit加密和RSA等进阶题目。每道题都提供了相关知识点介绍、解题思路分析以及推荐的在线解密工具,如UU在线工具、SOMD5、锤子在线工具等。其中Base64可直接解码,MD5建议在线破解,凯撒密码注意偏移量,变异凯撒需逐个字符分析,RSA题目给出了具体参数计算私钥d值。文章还包含部分题目的flag示例和简易解题脚本,为密码学初学者
2025-06-17 01:04:15
772
原创 28.[MRCTF2020]Xor1(保姆教程)
嗯,大致是,输入flag,对flag的数位判断要等于27,否则报错,之后对flag进行异或,结果为MSAWB~FXZ:J:`tQJ"N@ bpdd}8g,脚本直接写:(拿捏)!按空格键,会呈现出地址,找到了,call指令调用 一个函数,跟进一下。跟进进去,F5可以使用了,左侧找到main函数,直接进入。F5报错,根据提示,找到401095。查壳了解基础信息:32bit。
2025-04-13 15:09:27
262
原创 27.[2019红帽杯]easyRE1(保姆教程)
刚好36位,和下面对应上了,我们跟进一下第一个函数 sub_4406E0,不知道你们怎么想,我是直接 { 玛卡巴卡······ }了,看不懂,而且还套着函数 ,先看下一个函数 sub_424BA0,嗯,更看不懂。点击关键字,ctrl + x 交叉搜索一下位置,跟进,顺便菜单左侧 Edit --> Plugins--> findcrypt 确认一下加密方式,果然是base64加密,ok,稍微留意一下,我们继续跟进函数。我不信,绝对在这附近,返回上一级,ok,找到可疑的地方了,还在这附近,哼哼哼,猛攻!
2025-04-08 21:03:21
1059
原创 26.[MRCTF2020]Transform 1
打开文件是可执行程序.exe,打开看一下,顺便拖入ExeinfoPE 查询一下基本信息。嗯,先取得最终的密码,我们跟进byte_40F0E0,提取数据。shift + E 就行。无壳,且是64-bit,打开执行文件也没有什么特别的信息。那就 IDA-x64 分析吧。
2025-04-05 17:14:18
370
原创 25.CrackRTF1(保姆级教程)
本节内容对新手可谓是一点都不友好,全是新知识。我只能说尽量顾全每个新知识,建议多找几篇本题的答题思路看一看。OK!进入正文,本篇文章提供两种解法。一是较为详细的在线破解的方法,及其麻烦,理论知识都在这里面。
2025-04-05 15:33:18
1820
原创 24.[WUSTCTF2020]level21
老样子,ExeinfoPE查一下信息。UPX脱壳,我的博客上一个有详细解释。就是一个UPX脱壳的问题,脱完IDA就行,直接出现在面上了。无语,我还以为假的呢,尝试一下,解开了。我以为啥呢,实在懒得写了。
2025-04-03 20:49:15
222
原创 [GUET-CTF2019]re1(小白可看,较详细)
结合外面的代码,嗯,大概懂了,数组a[ ]就是flag,但是需要我们求出来,麻烦。右边脚本很费事,可以写成//,就不用int了,当时忘记了,啧。去网上搜索了一下,确实有简单的脚本,直接调用函数复制代码就行,可以去了解一下,还有就是说什么爆破第七位数字,我也不理解为什么是从1~10进行爆破,有点迷,毕竟也有字母啊。两个文件,一般第一个这样的文件夹都是没什么用的,可以去搜索一下,记得有文章说过,不管它。ok,脱完壳了,再次拖入ExeinfoPE,无壳,64.。像是我们今天这个文件,不是可执行文件,还是一样。
2025-04-03 14:28:15
459
原创 22.[WUSTCTF2020]level1(新手必看,较详细)
IDA打开后,左边有明显的main函数,直接找到他,F5伪代码操作,分析也在图上了。🆗,经过分析,也能看出来,出题人用 flag.txt 里的 flag 文本进行操作,最终得到了 output.txt ,欧克,那我们只要去反向编译 output.txt 文本就行,欧克,代码走起来。🆗啊,因为文档只显示是文件,我们不知道是啥,先用笔记本打开look一下,嗯,一连串的看不懂的代码,可以拖入ida分析,output.txt 明显是个文本,需要留意一下,可能就是我们需要反编译的数据。语句块内的代码将不会被执行。
2025-04-02 17:39:05
386
原创 reserve rsa 1(新手版,持续发布ing)
右边的 key 文件中,包含一段公开密钥信息,以 “-----BEGIN PUBLIC KEY-----” 开头,以 “-----END PUBLIC KEY-----” 结尾。我们可以在线工具求出N,E。接受的文件还有一个flag没用,再看看这个。给他转为10进制看一下。有点像是rsa加密,题目也叫rsa,那我们去了解一下什么是rsa加密。到这,我们知道了公钥(N,E),之后我们去反向求解两大素数,P,Q;之后再将N转换为十进制,方便后面的运算。依然是在线工具,进制转换。接受文件,发现有点陌生,没见过。
2025-03-19 00:50:49
455
原创 reserve [FlareOn4]login1
接收文件后,会发现给的是一个文本和网站,打开文本提示我们去打开网站,但是打开网站会发现什么都没有。我们直接按F12(在大多数现代网页浏览器中,按下 F12 键可以打开浏览器的开发者工具。这是因为浏览器的开发者工具被设计为可以通过 F12 键快速访问,方便开发者对网页进行调试和查看源代码)去查看网站的原代码。很好发现是一种新的加密方式:rot加密。打开我们的在线工具,直接解决。新知识,新的加密方式。
2025-03-16 01:59:58
253
原创 reserve [ACTF新生赛2020]rome1
老样子,shift +F12找关键字符串,CTRL + X 找到位置,F5开始分析。可以看到采用了两个for循环,v使字符数组,c是我将其改为了数字数组。由于是凯撒加密嘛,我们可以求出偏移量,在进行计算,就会方便许多。很正常的一个加密,应该是上一个采用过的凯撒加密。接收文件,很正常的一个32-bit文件,拖入ida分析。一:直接爆破法(也是经常采用的一种方式)
2025-03-16 01:34:42
315
原创 reserve findit 解题思路
我找了一下别的文章,也有这个情况存在,但是python写的代码就不会,我又去使了python,博主对python写代码还是不能得心应手,还是的多练。python写的代码就是正确的。询问了一下ai,说我,由于char的符号性导致转换后的数值溢出为负数,条件判断失败,且无法调整。嗯~,按照他说的改了一下,还是有乱码,但flag显现出来了,很明显。往下看,if语句,判断a数组得到的字符串和用户输入的是否一样,一样就执行下面的循环。简单明了,给a数组和b数组,分析对a数组的for循环,对字符更改,得到一串字符串。
2025-03-15 17:04:34
155
原创 reserve [GWCTF 2019]pyre1 解题思路
输入flag,对flag 的字符进行更改,还用到了异或方面的知识,反编译就行。所以,第一步,用反编译工具去将 .pyc 反编译为 .py。这个是 .py 经过编译得到的二进制形式。如图,这是反编译后的结果。如图,收到的文件是 .pyc。
2025-03-14 11:47:34
195
原创 reserve 简单注册器 解题思路
但是还是很繁琐,我们再换个软件,jadx-gui 这个软件对安卓逆向题目简直绝杀。直接拖入是不行的,我们按照上图左侧找到你安装 AndroidKiller 的位置,打开projects 后,按照上图左侧的位置就能打开了。进入软件,分析结果,从图片蓝色的位置开始运行,右边是一种代码,看不懂,没关系,拖入jd-hui 再次分析一下。给的文件名是 .apk ,直接拖入AndroidKiller ,分析一下。进入后,就是这个样子。清晰明了,显然给了你一串字符串,经过转换,得出flag;
2025-03-13 17:33:49
168
原创 reserve [ACTF新生赛2020]easyre1 解题思路
老样子,左侧寻找 main 函数进入。或者,shift +F12 把所有字符串列出来,寻找关键字符串,如本次的 " you are correct "。之后ctrl + x 寻找字符串的位置,F5进入伪代码行类。接收文件,拖入 Exeinfo PE 进行审查,有壳,用脱壳软件脱壳。经过查验,显示无壳,且显示32-bit。打开IDA -32.OK,写代码:flag就出来了。欧克,脱壳成功,再次查看。
2025-03-13 12:05:10
318
原创 reserve 刮开有奖 解题思路
左下角是原代码,对于这种代码很长,参数又是知道的,我们可以改写为c代码。c++编程,32bit,无壳。我们先不跟进,继续向下分析,v18是获取了string数组的部分元素,然后进行了一个处理,我们跟进这个处理看一下。首先,string[0] 和 v7[0] + 34 的值是相等的,string[1] 是和v10 的值是相等的。然后,我们继续往下分析,知道了v7 和v10 ,我们便能求出来,string【0】和string【1】的值。strcmp 是判断一下,两者是否相等,由于要满足条件,必然是相等的。
2025-03-10 20:39:02
346
原创 reserve [BJDCTF2020]JustRE1 的解题思路
同时博主也比较推荐x64dbg 这个也是不错的,功能强大且免费的开源调试软件,比IDA-Pro更加直观的界面,丰富的调试功能,博主就是使用的x64dbg,当然看自己的需求。ok,这里也是涉及到了动态调试,对于一些初接触的人来说,又又又到了知识空白区了。我们直接shift + F12查询关键字符串,很显然没有直接出现flag相关的字符串,但是我们可以看到一个类似flag形式的字符串,我们可以跟进一下看看。根据,软件的help 里面,提示我们BJD很重要,可以猜测一下,上面BJD{}里得到的应该就是flag。
2025-03-09 20:45:18
222
原创 reserve Java逆向解密 解题思路
新的知识点,这是一个 .class 的文件名,涉及 Java 的一个逆向工具 : jd-gui。CSDN 内搜索可以直接下载,但是需要 Java 的运行环境,不然打不开。大致是让我们输入flag,然后对 flag 的字符进行加密并存入 resultlist 中,然后定义一个数组key,在对key进行转义,最后将两组数据对比,一样就输出congratulations。由于是Java运行环境,所以是Java的代码,很繁琐,需要我们自行了解一下,不求会写,但要知道代码大概是什么意思。
2025-03-09 01:48:58
834
原创 reserve [GXYCTF2019]luck
flag{GXY{do_not_hate_me}} 这个不是flag,博主还以为求错了,福了,flag{do_not_hate_me},这个是答案。由于前面有个伪随机,大概意思就是这里的case执行是有一个固定的顺序的,找到顺序就破案了。如图,输入的幸运数字如果是奇数,输出文字,如果是偶数,再次执行一段函数,跟进一下。很清晰的代码,输入一个幸运数字,执行patch-me函数,跟进一下这个函数。首先,srand随机一个数字,但是电脑的随机都是伪随机,可以注意一下。所以初步判断,4,5,1。
2025-03-08 22:17:45
217
原创 reserve SimpleRev1的解题思路(小白)
(这里看到博主写的v9的字符串跟系统给的不一样,这里涉及到一个新知识:就是像 elf文件,通常使用小端序存储,(字节存储主要分为大端序和小端序,大端序:高位字节存入低地址,低位字节存入高地址,就是正序存储。然后会进入一个界面,直接 shitf + F12 ,把所有的字符串列出来,找我们想找的字符串,像是,input the flag ,wrong flag 之类的精准字符串,点进去 就是我们的数据视图,然后 ctrl + x ,交叉搜索一下用的 flag 的地方,进去之后也能进入反汇编窗口。
2025-03-06 23:45:47
356
1
原创 reserve 不一样的flag 的解题思路(小白)
下面的if判断,v5等于 2 的时候,等于3的时候,不等于4的时候 以及等于4 的时候,四种情况都已经涵盖了,往下看for循环,类似检查数组的越界的情况,越界会异常退出。我们接收文件后,还是老样子,Exeinfo PE判断一下有没有壳,显示无壳,也没有明确给出是32位还是64位,一般这种情况,博主优先考虑32,错了再换64。就是可以通过 * ,0 , #很显然,是让我们输入数字,1 向上,2 向下,3 向左,4 向右。flag也就出来了,我们根据程序给的语言:1 向上,2 向下,3 向左,4 向右。
2025-03-06 13:43:18
340
原创 reserve helloword 的解题思路(小白)
打开配置,点击Java,我这个是配置好了,第一次打开安装路径是空的,我们点击下载Java SDK,找到大标题 Java archive,往下滑找到Java SE downloads,在右下角,直接安装最新版本即可。将我们重命名的helloword.apk,拖入Android killer,系统会自动破解,会问你分析之类的,不想等待的选no就行,破解完成,打开入口函数,往下滑就会看到破解好的flag。安装好环境后,就可以选择安装路径了,就是博主下面的图片,根据自己下载的地方找就行,最后到 bin\ 就行。
2025-03-06 00:27:38
289
原创 reserve 3 的一些解题思路(小白)
然后我们需要找到改变后的flag,由于30行有个比较,就是改变后的flag和str2进行比较,所有我们判断str2就是我们要找的改变后的flag,点进去,'e3nifIH9b_C@n@dH',这就是我们要找的flag,之后写脚码,如下图所示。
2025-03-05 20:43:05
584
原创 reserve xor的一些解题思路(小白勿喷)
将文件拖入ExeinfoPE 判断一下有没有壳 有就用脱壳软件,没有就判断一下是32还是64。点入global后,会找到这一部分,我们可以shift+E提取我们想要的数据并进行转换。因为__b是最后和global进行的,所有我们可以去找global,两者相同才对。之后我们需要写个脚码,将flag求出来,但在此之前我们要找到__b的值。一些用到的工具, ExeinfoPE , IDA 之类的不多说了。之后将数据填进我们写的脚本,就可以得到flag.的对应二进制位进行异或运算,并将结果重新赋值给。
2025-03-04 23:42:55
162
原创 逆向初接触
在CSDN上初步了解的IDA的使用教程,并在哔哩哔哩上进行逆向题目解法学习。仍然要加强对逆向知识的了解,加强对工具的了解和使用,加油自己。运用IDA工具进行解题,不得不说IDA工具是真的好用。做了几个非常适合初学者的逆向题目,仍需努力啊。虽然解出来了,但是并不轻松。
2025-02-20 14:25:53
853
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅