自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CTF-reverse逆向分析解题常用脚本汇总

注:本篇用于记录一些CTF-reverse中可能用上的脚本,脚本都来源于博主解出某道题后留下,如果遇上类似的题目,根据脚本中注释的提示更改对应的密文密钥或条件即可快速解题!持续更新!!点个收藏关注不迷路~

2024-05-11 20:42:07 2351 9

原创 第六篇:MySQL图形化管理工具

(百度百科)快速而简洁的图形化管理MYSQL数据库的工具SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库,由业界著名的Webyog公司出品。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。(百度百科)“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理MySQLOraclePostgreSQLSQLiteSQL ServerMariaDB和MongoDB等不同类型的数据库,它与阿里云腾讯云。

2024-02-13 12:07:46 2008 2

原创 第二篇:MySQL安装与配置(基于小皮面板(phpstudy))

在第一篇中介绍了数据库的相关概念,了解到SQL是用来操作数据库管理系统的语言,因此要学习数据库技术,数据库管理系统的配备是必不可少的!并且出于与的双考量而选择这款数据库管理系统软件。

2024-02-05 12:00:06 12101 8

原创 python脚本:十六进制数据小端序转大端序

大多数机器的存储方式都是小端排序,小端序指的是数据的高位(偏左边的)放在内存中的高地址(偏右边的)处,这样会导致存放好的数据对于我们看来好像是“倒过来”的。因此使用工具对内存进行一些作业时(如逆向分析过程中提取到的密文),我们提取到的预想的数据并不是正常的顺序,必须先让其转换成大端序,再进行后续操作。大端序则是我们看上去从左到右的正常排序。

2024-10-31 18:11:54 409

原创 台州ctf市赛reverse(easy_choice)超详细复现

分析到这里终于可以写逆向脚本了我们先把cipher提取出来然后或是脚本,或是手搓,反正把密文处理成你脚本适配的格式,注意一下大小端序的问题key这里还要注意,正向加密时,是第一次调用的key:TODA第二次调用的key:ASCT而逆向解密时要反过来,先用"ASCT",后用"TODA"然后做两个循环,各循环4次,每次传入v中的两个uint32_t(这里传入的-2是xxtea脚本的特性,负数是解密,正数是加密)

2024-10-31 17:57:59 1223

原创 C#(.NET FrameWork库)逆向基础流程(纯小白教程)

限时题目,只能用网盘来分享了,侵权联系删->

2024-09-22 15:01:41 760

原创 upx魔改壳大全

(一)overlay_offset被修改将此标志修改为正确的即可用工具正常脱壳。

2024-09-21 15:18:10 794

原创 最简单的编码(Ezbase.zip,base64魔改)

刷到一道有意思的base魔改,随手做个记录。

2024-09-21 15:14:12 1219

原创 速通汇编(七)BX、SI、DI寄存器,BP寄存器,直接寻址和间接寻址

(1)[idata]用一个常量来表示地址,可用于直接定位一个内存单元(2)[bx]用一个变量来表示内存地址,可用于间接定位一个内存单元(3)[bx+idata]用一个变量和常量表示地址,可在一个起始地址的基础上用变量间接定位一个内存单元(4)[bx+si/di]用两个变量表示地址(5)[bx+si/di+idata]用两个变量和一个常量表示地址(注:本图取自《王爽汇编》P165处表8.2,不商用,仅供学习参考。下图表格中第4列【常用格式举例】中出现的一些特殊表示形式。

2024-09-19 19:17:13 2494

原创 速通汇编(六)认识栈,SS、SP寄存器,push和pop指令的作用

栈是一种具有特殊访问方式的存储空间,特殊在于,进出这块存储空间的数据,由于栈的这个“先进后出”的特点,我们可以利用其来很好的操作内存在《王爽汇编》中,作者用三本书十分形象地来描述了入栈和出栈的操作,对栈比较陌生的同学可以仔细理解,很理解的同学则可跳过入栈:将数据放在栈的顶部出栈:将栈顶部的数据取出也就是说,无论是入栈和出栈,当前操作的数据一定是当前栈中最顶部的数据,我们假想有一个指针,它会一直指着栈顶数据,帮助我们定位。

2024-09-19 19:17:05 2036

原创 速通汇编(五)认识段地址与偏移地址,CS、IP寄存器和jmp指令,DS寄存器

通常所说的地址指的是某内存单元在整个机器内存中的,把整个机器内存比作一个酒店,内存单元就是这个酒店的各个房间,给这些房间编的门牌号,类比回来就是内存单元的物理地址在第一篇介绍debug的命令时使用过很多命令,不知你还记得与否,可点击快速复习->接下来我用e命令和d命令进行两步操作:在[0000:0000]地址处写入一串数据"123456789abc",然后再用d命令读取以验证是否成功写入可以看到确实成功写入。

2024-09-16 19:00:56 3750 2

原创 tea 加密解密算法(面向ctf-reverse使用,光速学会tea逆向套路)

tea算法的主要特征表现在sum和delta变量,以及3行核心加密中出现的右移4左移5,两行各有3个小括号互相异或在题目中看到这些特征时就应该警醒这是tea相关算法delta的值一般为0x9E3779B9(-0x61C88647),但题目中往往会改变它的值,并不影响算法的逆向。

2024-09-16 18:59:50 4149 4

原创 第八课,多分支判断

但学过除法的小朋友都知道,0是不能作为除数的,因此如果y是0并且c是’/’,你的程序不应该帮用户计算x/y而是输出“学过除法吗?请根据输入的字符c计算对应的x和y的运算(例如输入的x,y,c分别为10,20,+,那么你就应该计算10+20的结果,以此类推)用户能够输入两个整数x,y和一个字符c(输入的c只可能是’+’、’-’、’*’、’/’这四种运算符)在这个场景中,“男生”是一个前提条件,满足这个前提条件之后、再进行二次判断“力气大”的同学。比如老师说:“下课后,男生里力气大的同学,留下来帮老师搬东西。

2024-09-03 17:55:02 369

原创 第七课,条件表达式与初识分支判断

/小练习:编写一个程序,模拟登录界面plus版,只有当用户输入的账号和密码都正确时,才提示“登录成功”,否则提示“账号或密码错误!作用:if就像一个开关,只有当小括号内的条件表达式为真(true)时,C++才会运行if大括号里面的代码,否则这段代码就根本不会被C++运行,而会直接忽略掉。同样,在程序中,进行逻辑判断也是最为基础的功能,如果没有判断,这些功能都难以实现。③a比b大但是a比c小(a,b,c分别为30,20,10)⑩a等于b并且a等于c(a,b,c分别为20,20,20)

2024-09-03 17:52:28 352

原创 批量替换字符串中的某子串序列为对应的另一子串序列(z3求解器解多元方程时很好用)

标题有点拗口,看问题需求就理解了——

2024-09-02 12:09:23 961

原创 第六课,模运算进阶,计算机存储单位

人们住的房间一般用“平方米”来作为单位,也就是大家数学里熟悉的面积。例如:4%2==0,9%3==0,10%5==0。在学习变量的时候,让同学们形象地记住:变量像一个房间,可以让字面量入住。,那么a显然是2的倍数,在数学中称其为偶数,偶数的反义词是奇数。一个整数,/10的结果是砍掉个位数,%10的结果是获得个位数。*因此:房间大小的单位通常用平方米,变量大小的单位通常用字节。电脑中的一个硬盘的大小在512G、1T因价格高低不等。例如:12345%10==5,987%10==7。int变量a的大小是4。

2024-08-31 10:18:45 439

原创 第五课,学习注释与深入字符

注释是指解释字句的文字,也指用文字解释字句,大家对语文课文中的注释不会感到陌生吧?图 1古诗中的注释代码的注释正是给程序员看的,因为计算机在运行代码时会忽略掉注释的代码,因此注释不会影响到正常代码运行随着编程知识的越来越深入,代码只会越写越复杂、越写越多,对于不写注释的代码,转眼忘记自己写出来的代码的作用是家常便饭图 2复杂代码的冰山一角。

2024-08-31 10:16:06 546

原创 第四课,接收键盘输入

这是因为我们用到了新的工具fixed和setprecision,它们是工具箱<iomanip>中的工具,因此请在你的代码最顶上补上“#include<iomanip>”,表明你向C++借用了这个工具箱。作用:当C++运行到这行代码时,能够接收多次键盘输入的操作,每次输入需要使用空格或者换行隔开,最后需要使用回车键结束这一次输入,C++才会继续执行之后的代码。:如果你想在你的代码中使用工具箱里的工具,C++会很大方的让你用,但前提是你必须在本页代码的最上方用“int类型的整数变量能存放的字面量最大不能超过。

2024-08-29 18:01:50 602

原创 第二十五课,字符串操作函数(二)

在用电脑办公时,会出现这样的情景:一篇很长的文章中有一个人的名字全部被错写了,我们需要修改,但一个一个找错掉的名字修改,显然十分繁琐、不优雅,如何利用python快速完成所有错误的修改?如果一个字符串中含有空格,可以使用该函数对其进行分割,得到的结果是一个列表,列表的每个元素是按空格分割后的子串。你会发现,在使用input()函数输入时,会将一整行内容赋值给同一个变量,单纯只用input()函数,怎么也。#③小袋鼠想原路返回了,但它忘了来时的路,请用列表的反向索引将来时的路倒着告诉它(走了9步)

2024-08-29 17:58:34 594

原创 第三课,像房间一样的变量

/小练习1:使用C++完成算术作业,分别计算5+2,5-2,5*2,5/2,5%2的结果,结果黏在一起太难看了,你会把各个结果换行显示吗?//小练习,定义一个整数变量a和一个整数变量b,分别赋值为5和2,然后分别计算a+b, a-b, a*b, a/b, a%b的结果。使用变量的时候,必须确保这个变量中有值(即这个房间中有字面量),否则会发生谁也难以预料的错误……有:加(+)、减(-)、乘(*)、除(/)、模(%)既然是房间,那当然是可以住的,给谁住?(形象的来说就是让字面量入住变量房间)

2024-08-27 10:20:48 226

原创 第二课,字面量与cout的基本用法一

作为例子时,他回答说,『我只记得,我好像看过一幅漫画,讲述一枚鸡蛋和一只小鸡的故事,在那副漫画中,小鸡说了一句‘Hello World’』。正如破壳的小鸡来到一个新的世界一样,每一个初学编程语言的人,就如一个新的世界,以Hello World向一个新的代码世界打招呼。//小练习:尝试将”hello world”打印在屏幕上,然后试着打印随意的整数、小数和字符3种类型的字面量各一个。在写完前面的小练习后,你是否感到一丝成就感,“诶,不知不觉写了这么多行代码了,感觉自己好腻害!怎么简化刚刚写好的代码呢?

2024-08-27 10:17:10 476

原创 第一课,认识C++,和计算机对话

编程是编写代码来实现需要的功能,C++就是用来编程的语言,计算机没法直接听懂人类的语言,需要用编程语言C++来和计算机交流。: 按住它不动,取键盘中拥有两个符号的、上面的符号。,要达到信手拈来、拿到键盘就能快速打出框架的程度。: 调出“作业本”,以方便写代码。③维护网络安全,抵制黑帽子黑客。Ctrl 鼠标滚轮前后滚动。: 删除光标左边的字。①让机器人“活”过来。

2024-08-26 21:12:01 329

原创 vscode C++脚本代码格式化(解决格式化后乱换行问题)

然后可以关掉设置页面了, 回到脚本页面,以后格式化代码时就不会再出现逆天换行了(但是已经出现的逆天换行可能需要自己手动还原)再搜索format on save,勾选如下图红框设置,能够实现保存时自动格式化代码。都2024了,vscode代码格式化的问题,很多文章都有介绍。如下图,红框对应位置上分别输入Google和下面这行参数。本篇主要做个设置的简单总结,并解决这逆天换行问题。左下角,齿轮图标->【】,左边栏目里找到【

2024-08-26 21:09:05 2317 1

原创 第二十四课,字符串操作函数

和列表一样的,当你需要知道一个字符串中含有多少个字符时,可以使用len()函数,将字符串的变量名放入len()函数的括号中,它将告诉你这个字符串中有多少个字符,也就是它的长度!*小练习,用字符串.index(字符)函数找一找,”hello world”中,小写字母o所在的位置?#②使用字符串.index(字符)函数计算《乡巴佬国王扣税》原文节选中,”国王”这个词出现的位置。#③使用字符串.count(字符)函数计算《乡巴佬国王扣税》原文节选中,”扣税”这个词出现的次数。抗议以上的税要扣税!

2024-06-30 19:04:00 309

原创 第二十三课,再识字符串

但这么说并不意味着你一个字符(例如”a”或”*”这样的)不能叫字符串,不能产生这样的固性思维,毕竟所谓的定义只是为了方便人类更好的进行学习和认知。字符串是我们学习python编程第一眼见到的东西,一行print(“hello world”)可谓是太亲切了,但在此之前我们对字符串的认知也。而字符串和字符的区别主要就是符号的数量差异,会习惯将多个字符凑在一起称作字符串,就好像烤串似的,把字符串起来。*小练习,根据以上定义,再类别列表的定义,尝试写出字符串的字面量、变量、空串。

2024-06-30 19:01:36 446

原创 第二十二课,列表的操作函数(二)

不同于列表.append(元素)函数只能把新元素添加到末尾,这个函数可以指定新元素添加的下标位置。你可以把列表想象成一个班级,列表.append(元素)则像是往班里插入一个新同学。*小练习,列表lst = ['小张', '小李', '小明', 3.14]#③列表中有名为3.14的元素,这是一份错误数据,请你写出两种删除它的代码。该函数会将你传入的下标对应的元素从原列表中删除。该函数用于将你传入的元素从原列表中删除。列表.insert(下标, 元素)在指定下标处,插入指定的元素。列表.append(元素)

2024-06-29 16:37:17 280

原创 第二十一课,列表的操作函数

小练习,列表lst = [‘张三’, ‘男’, 13, ‘李四’, ‘女’, 14, ‘王二麻子’, ‘男’, 12, ‘李明’, ‘男’, 13, ‘赵红’, ‘女’, 12, ‘孙空’, ‘男’, 13]lst = ['张三', '男', 13, '李四', '女', 14, '王二麻子', '男', 12, '李明', '男', 13, '赵红', '女', 12, '孙空', '男', 13]根据某位同学的名字也能得到它的座位号,列表.index(元素)这个函数就是用来实现这个功能的!

2024-06-29 16:34:58 465

原创 第二十课,认识列表与定义列表

小练习,班上有4名同学:小张、小许、小胡、小朱,定义一个列表name_list,来存放4名同学的名字,完成三次打印的内容——①打印完整的列表,②按正向下标(索引)列表的标志性符号是一对中括号,在中括号中用英文逗号隔开多个元素,这里的元素可以是我们学过的任何类型的,例如:整数、浮点数、字符串。或者,可以反向索引,也就是从后向前:从-1开始,依次递减(-1、-2、-3......)如图,列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增。答:No,我们使用列表就可以了,

2024-06-28 20:29:00 319

原创 第十九课,编写并调用自定义函数

在编写python自定义函数时,需要先理清楚自己的目的实际上,初学者完全可以把函数看作一个具有特定功能的python程序,因此,编写自定义函数代码和编写普通代码的套路几乎相同。

2024-06-28 20:25:22 480

原创 基于requests模块爬取网易云歌曲评论并制作热词云图(2024七月最新可用,超详细讲解,从零开始完成项目,python爬虫高分大作业)

在本次项目中,成功从网易云音乐通过其公开的api接口爬取到了特定歌曲的用户评论数据。这些原始数据随后被清洗和预处理,去除了不必要的信息,并进行了格式化,以便于后续分析。另外利用这些清洗后的数据生成了一张热词云图,直观地展示了评论中最常提及的词汇和话题。采用的方法:requests模块发送请求:使用Python的requests模块向网易云音乐的api接口发送http get请求。数据清洗和处理:对提取到的数据进行清洗,包括去除符号、去除换行符、统一数据格式等。

2024-06-26 14:13:21 3045

原创 第十八课,函数基本语法规则

库函数:指的是python中已经预先定义好的供开发者使用的函数,一些常用的例如print()、input()均是库函数,因为它们使用十分频繁因此不需要引入库,而像turtle库中的大量函数则需要使用”import turtle”这行代码来将turtle库引入才能使用,在python中还有数不清的库,每个库中也还有数不清的库函数。自定义函数:指的是由开发人员自己定义的,具有开发人员预想设计功能的函数,有些时候库函数不一定能全部实现我们预想的功能,这时开发人员会选择自定义函数供自己使用。

2024-06-26 14:12:50 512

原创 第十七课,海龟画图习题课(一)

【代码】第十七课,海龟画图习题课(一)

2024-06-18 08:05:24 1511

原创 gridview自带编辑功能如何判断用户修改的值的合法性

在使用GridView的编辑功能更新值时,确保输入的值合法性是十分重要的。为了实现这一点,你可以在GridView的事件中加入代码来检查用户输入的值。如果发现输入的值不合法,你可以取消更新操作并向用户显示错误消息。下面是如何实现的步骤和示例代码NewValues属性是一个字典集合(Dictionary),它包含了用户在 GridView 编辑模式下修改后提交的新值。这个字典的键(Key)是数据源中的字段名,值(Value)是用户输入的新数据如果输入的值不符合预期或不合法,你可以通过设置来取消更新操作。

2024-06-18 08:01:16 723

原创 gridview的模板按钮如何判断用户点击的是哪一行

在asp.net的 GridView 控件中,判断用户点击的是哪一行通常可以通过处理 GridView 的RowCommand事件来实现。RowCommand事件会在 GridView 的每个按钮(除非另有指定的CommandName)被点击时触发,并且事件参数中包含了足够的信息来确定哪一行的按钮被触发。

2024-06-13 17:01:44 530

原创 基于C#开发web网页管理系统模板流程-打包发布

本系列中,作为开发者我们通过ASP.net Web模板设计网页,网页的任何设计、源代码都是直接可见的,在实际应用开发中,显然这些都是商业、公司机密通过打包发布操作,可以将设计和源代码整合成特殊机器码文件,除非有很高端的逆向技术,否则一般不会被反编译出源代码,也就实现了既能让用户正常使用功能,又能保证机密源代码不泄露。

2024-06-13 16:51:53 1463

原创 基于C#开发web网页管理系统模板流程-参数传递

当用户长时间未在管理系统界面进行操作,或者用户密码进行了更改,显然用户必须重新登录以验证身份,如何实现这个功能呢?HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据。浏览器会存储 cookie 并在下次向同一服务器再发起请求时携带并发送到服务器上作为开发者,可以设置一个具有时间限制的cookie,在限时内允许用户可以不必验证身份即可直接访问网页,但一旦超过限时,就必须重新登录以验证身份。

2024-06-12 20:22:24 798

原创 基于C#开发web网页管理系统模板流程-主界面密码维护功能完善

一个合格的管理系统,至少一定存在一个功能——用户能够自己修改密码,理论上来说密码只能有用户自己一个人知道,就算是数据库中存储的密码记录,在实际开发应用中也应是严格加密后的密文(即开发人员也无法查看用户的密码)本篇就来实现用户修改密码的功能,其实现本质其实很简单:接收用户输入的新密码->判断新密码合法性->使用update语句更新数据库中的密码记录。

2024-06-12 19:31:57 814

原创 基于C#开发web网页管理系统模板流程-总集篇

但是这样做会产生一个问题需要读者自行避免,C#开发中,一个控件功能的实现主要归结为三部分:①控件本体、②控件脚本、③点击事件链接。,OnClick属性正是③点击事件链接,它的作用是将控件本体与控件脚本链接。③点击事件链接的名字需要与②控件脚本的接口函数名完全一致,例如下图所示——答案是不能,你会发现无论怎样点击按钮,它都没有反应,这是什么原因?以上三部分缺少任一个,都无法正确实现控件预想的功能,甚至会报错。请问:运行后,点击统计按钮,能够产生对应的结果吗?中的所有控件的脚本放入同一个。

2024-06-11 22:21:18 2376

原创 基于C#开发web网页管理系统模板流程-主界面统计功能完善

紧接上篇->统计功能是管理系统很常见的功能,例如仓库管理系统要统计某时间段的出入库以整合利润情况,再例如论文管理系统要统计男女生的分数情况等等不可否认的是其实现思路与上一篇实现的出库管理功能中的【】按钮的功能基本相同,都是通过编写按钮的脚本,实现select查询sql语句,然后将查询的结果通过合适的控件显示出来。

2024-06-11 22:20:18 1343

原创 第十六课,海龟画图:设置画笔颜色、宽度函数,移动画笔函数

使用该函数可以直接让画笔移动到你需要的位置,你只需要传入一个位置坐标即可,同时你需要认识数学中的“平面直角坐标系”这个函数能设置画笔画出来痕迹的宽度,传入一个整数,这个数字越大,画出来的痕迹越宽。"white" 白色(建议在修改画布颜色不为白色之后使用)将你想要的颜色的英文字符串传入该函数,就能改变画笔的颜色!"black" 黑色(画笔默认颜色)*小练习,画出如下图所示的“棒棒糖”"yellow" 黄色。"orange" 橙色。"purple" 紫色。"green" 绿色。"brown" 棕色。

2024-06-01 17:36:18 1543

空空如也

空空如也

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

TA关注的人

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