自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

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

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

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

2024-02-05 12:00:06 3761 3

原创 第十一课,end关键字、简单while循环嵌套、初识for循环

end关键字用于在print输出的内容后面声明结束的字符,我们之前学过并且十分了解print是默认输出内容之后跟着换行的,如果我们不希望换行而希望使用其它字符来代替换行,就可以用end关键字来实现特殊的,end之后的字符可以为空字符,表明输出的内容之后既不需要换行也不需要以任何字符结束循环嵌套和前面学过的分支结构(if...else等)嵌套十分类似,现阶段同学也不必太过于深究,暂时做个稍微了解,以后深入学习时便会更有得心应手之感。

2024-05-25 18:02:51 171

原创 第十课,while循环

结合这些课后知识,再用上学过的while循环、if分支、input()输入函数,就能完成一个类似木马的关机小程序,如果你能独立完成这个程序,就证明你把while循环、if分支、input()输入函数的知识掌握的很不错了!顾名思义,死循环就是一直不停地循环执行某段代码,死循环通常是我们的代码存在bug导致的,在python脚本代码中应当避免死循环,要给循环留有结束的“出口”,下面列举了常见的死循环代码样例。③while的条件表面上限定了范围,结果循环的变量却与设置的条件背道而驰,导致条件一直成立,这是。

2024-05-25 17:59:58 95

原创 第九课,习题课

2024-05-23 20:40:09 47

原创 第八课,分支语句嵌套、随机数函数、初识while循环

这一句话内含的判断并不像之前我们学的(例如正负数和零的判断)那样是一种并行的关系,而是一环扣一环、只有前置条件判断成功才会继续更深层次的进行判断,即只有当“放学后”这个条件先成立,才有继续判断“三年级的女同学”这个条件的必要,同理,只有当“三年级”这个条件成立,才有判断“女同学”这个条件的必要,该游戏的要求是:让玩家输入一个整数(就是猜的过程),如果猜的这个数和系统预先设置好的随机数相同,就提示猜对了并结束游戏,否则猜错了就提示猜大还是猜小!断成功,才会做想做的事(在程序中就是执行想执行的代码)

2024-05-23 20:36:27 362

原创 基于C#开发web网页管理系统模板流程-主界面管理员录入和编辑功能完善

基于C#开发管理系统,管理员录入和编辑功能完善,本篇以管理员的信息录入和编辑功能为利,事实上该套路也适用与其它表的信息录入!

2024-05-21 17:39:47 1243

原创 odbc用户dsn点删除点配置没反应个人解决经验

蒟蒻博主偶然发现mysql odbc 5.1的接口程序创建的连接点删除和点配置都没反应,删不掉,留了一堆没用的数据源在这,强迫症很抓狂,用又用不了删也删不掉,还导致我之后想创建的连接不能使用这些名字。

2024-05-21 17:38:29 292

原创 第七课,习题课

这题非常简单,主要的难点反而是同学们中文打字的速度太慢或者有些字不会拼音导致打不出来我们有很多思路可以解决这题,下面主要给出两种办法①使用五个print分别打印五行,我们已经学习过,print输出的内容是自带换行的,所以用5个print,分别打印从标题开始到最后一句诗句即可②使用一个print,但是利用三引号字符串中的内容可以换行这一点实现多句输出,这也是大多数同学想到的方法。

2024-05-19 15:45:49 237

原创 第六课,多分支结构

上节课学完了第一个分支结构if,if满足条件会执行相应的代码语句,如果不满足呢?有没有不满足的情况下,可供执行的代码呢?有的,if...else就可以实现*小练习:设计一个登录小程序,输入提前设置好用户名和密码,判断输入的用户名和密码是否正确,给出对应的提示。

2024-05-19 15:45:30 380

原创 第五课,输入函数、布尔类型、比较运算和if判断

与输出函数print()相对应的,是输入函数input(),前者是把程序中的数据展示给外界(比如电脑屏幕上),而后者是把外界(比如键盘)的数据输入进程序中input()函数可以接收来自键盘的输入通常,我们借助赋值运算符(=),把输入的内容存入变量中,方便后续的代码使用,就像下面这段代码。

2024-05-14 18:57:16 260

原创 第四课,python基础语法(算术运算符及其复合运算符、字符串三种定义方式)

我们写的第一行代码是print(“hello world”),这里的“hello world”其实是一种由双引号定义的字符串,今天来拓展另外两种字符串定义法单引号定义法:‘hello world’双引号定义法:”hello world”三引号定义法:”””hello world”””初学者暂时只需要明白,单双引号定义的字符串基本没什么区别,而三引号定义的字符串具有前两种方法不具有的一个特殊功能,就是三引号字符串是允许换行的,因此在需要换行定义字符串的场景可以使用三引号定义法。

2024-05-14 18:52:22 434

原创 第三课,python基础语法(二),基本算术运算符、3种数据类型、变量命名规则

数学中:+,-,×,÷*小练习请在程序中,定义如下变量:钱包余额(变量名:money),初始余额50请通过程序计算,再购买了:冰淇淋10元可乐5元后,钱包余额分别还剩余多少元?

2024-05-13 20:47:25 214

原创 基于C#开发web网页管理系统模板流程-登录界面和主界面

基于C#开发管理系统的登录界面和主界面的部分功能,实现连接本地数据库

2024-05-13 20:35:27 1510 5

原创 第二课,python基础语法(一),认识字面量和变量、注释

被写下来的的固定的值,称之为字面量变量是在程序运行时,能储存计算结果或能表示值的抽象概念,可以把它想象成一个用来装东西的盒子、杯子之类的容器*重中之重在程序中,一个等号(=)可以代表相等的意思嘛?绝对不行!在程序中,一个等号只代表赋值操作!

2024-05-12 20:16:38 285 1

原创 第一课,idle的使用

是咱们用来和计算机“交流”、“发号施令”的编程语言。但是,计算机是看不懂python的,我们还需要一个翻译官,把python翻译成0和1组成的二进制,才能让计算机明白!

2024-05-12 20:12:07 204

原创 CTF-reverse逆向分析解题可能用上的脚本

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

2024-05-11 20:42:07 647

原创 Navicat安装配置(注册码)连接MySQL

看图吧,图说的很清楚了(其实就填一个密码,root数据库的默认密码没改过的话就是root,如果改过的话,当然是填你改后的密码了)点击注册,输入注册码(在上一级目录中有key.txt文件)博主给你打包好了安装包,在网盘里,防止你下载到钓鱼软件。② 在根目录中找到navicat.exe,双击执行。①下载好压缩包后并解压。

2024-05-11 12:15:35 376

原创 CTF-reverse二维四向迷宫路径求解

二维四向迷宫是一个re中的常考点,说不上难,但也不简单,本篇记录了常规的二维四向迷宫解题套路以及帮助快速解题的脚本可能你看我的教程会觉得十分繁琐,但实际只要你用了一次熟练之后,基本都是拿到迷宫就一题一分钟解决的,教程繁琐是在力求讲解清楚!

2024-05-08 21:25:32 1097 3

原创 CTF-reverse,逆向分析,对“左移4或右移4,即(x<<4) | (x >>4)的加密探讨

逆向分析对“左移4或右移4,即(x<<4) | (x >>4)的加密探讨结论:若f(x)=(xshift)且shift属于集合(4,8,12,16,24),则f(x)的结果映射到ASCII表(0,127)中是对称加密。

2024-05-08 19:13:58 555

原创 ida调试技巧-通过修改eip寄存器的值强制运行程序中存在但未被调用的函数

ctf逆向分析过程中有一类情况是程序中有某个函数未被调用,但其中存在一些重要信息(例如flag)且需要运行(即动态调试)后才可以获取到因为主函数的进程中从未调用,因此单纯的调试无论如何也无法进入该函数eip寄存器故而修改eip寄存器的值可以让cpu直接执行某函数参考本篇->

2024-04-25 20:41:00 374

原创 python逆向基础流程(纯小白教程)

使用工具查看文件信息,发现是pyinsatller打包的exe文件,如果硬用ida分析成汇编或c语言根本摸清楚程序的逻辑,所以思路是反编译成py文件直接分析python代码。】文件夹,双击进入此文件夹,找到一个pyc文件(此处有两个文件,我们关注的是除struct.pyc外的另一个pyc文件,如下图红圈)(注:因为GitHub是国外网站,如果访问速度过慢请参考本篇解决->uncompyle6库下载命令->cmd窗口输入【来到上一张图所在的文件位置,打开cmd窗口。在此处再次打开cmd窗口,输入命令【

2024-04-25 20:32:36 481

原创 64位整数高低位的数据获取与赋值操作探讨

参考本篇->

2024-04-24 18:47:57 598

原创 安卓逆向基础流程(纯小白教程)

本篇记录如何使用工具对安卓apk文件进行反汇编。

2024-04-24 18:47:49 398

原创 ida在kali-linux虚拟机上进行远程调试(提供可能的解决无法连接的思路)内含本机与linux虚拟机无法互相ping通的解决方法(见标题四.(七))

本篇记录本蒟蒻逆向博主在ida进行远程调试踩的坑,一是方便自己以后不再踩,二则便于后人少走弯路本篇的学习目的是要,因为大多数人想必和博主一样只有windows一个主系统,这种情况下逆向分析过程中如果遇到elf文件,且必须通过动态调试才能解决(或者说借助动调可以大大降低逆向难度),如果不能进行linux远程调试,那将只能!

2024-04-23 17:28:50 1550 1

原创 linux常用非基础命令/操作

本篇用于总结蒟蒻博主在使用linux系统的过程中会经常用到但老实记不住的一些非基础命令和操作,方便遗忘时查阅。

2024-04-23 17:27:55 457 3

原创 CTF-reverse-simpleRE(base64变表逆向)

看下来似乎是很复杂的加密,但有经验的话从特征不难识别出来是base64加密,比如红框里的三个经典等号(ASCII码是61)和循环里的位移操作。下载得到的文件使用ida64分析,如果报错就换ida32,得到分析结果,有main函数就先看main。密文中第一个字符是5,在换表中的索引(下标)为19,而在标准表中,索引19处的字符为【密文中第二个字符是M,在换表中的索引(下标)为37,而在标准表中,索引19处的字符为【这个数组,双击跟进看内容,这字符一看就base64了,而且是魔改换表版本。

2024-04-22 19:52:07 595

原创 z3求解器脚本(CTF-reverse必备)

CTF-reverse中有一类题目是通过约束方程求解变量的值,然后转化为对应的ASCII码,最终获得flag,约束方程以及要求解的未知数往往非常多,因此手算十分不现实,借助python中的z3模块可以很快完成求解!下面是某道CTF-reverse原题的反汇编代码,可以看到约束方程非常多,要求解的未知数也是多达16个,因此本篇用于记录z3求解器脚本方便使用。

2024-04-22 19:51:08 769

原创 ida数据提取技巧-利用LazyIDA插件实现一键提取无法识别的字符串

首先具体介绍一下这个技巧的意思,因为标题可能没有说的很明白在使用ida逆向分析的过程中,会遇到某些密文、密钥之类的字符串,而这些字符串往往不全是由正常字符组成的,其中存在一些非常规字符,而一旦ida在识别字符串的过程识别到这种字符,就会认为该字符串到此已经结束(但我们知道,字符串必须是由0来结束的),并把之后的字符当成内存中无意义的数据进行排列,例如下图所示的【】字符。

2024-04-05 18:54:05 605 1

原创 速通汇编(四)汇编and&or、shl、shr、inc、dec、xchg、neg指令

按位与操作符,将两个操作数的对应位进行与操作。

2024-04-05 18:52:30 425

原创 速通汇编(三)寄存器及汇编mul、div指令

溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1符号标志 记录运算结果的符号,结果负时为1零标志 运算结果等于0时为1,否则为0进位标志 最高有效位产生进位时为1,否则为0辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0方向标志 用于串处理,DF=1时,每次操作后使SI和DI减小,DF=0时则增大中断标志 IF=1时,允许CPU响应可屏敝中断,否则关闭中断陷阱标志 用于调试单步操作。

2024-03-31 21:29:24 1029

原创 速通汇编(二)汇编mov、add&sub指令

mov指令的全称是move,从字面上去理解,作用是移动(比较确切的说是复制)数据,mov指令可以有以下几种形式无论哪种形式,都是把右边的值移动到左边。

2024-03-29 19:26:32 1303

原创 数据库课堂作业

【代码】数据库课堂作业。

2024-03-29 11:01:56 136

原创 ida调试技巧-通过修改zf寄存器的值绕过简单反调试

不想看也没关系,蒟蒻博主概述一下,总之,在机器执行汇编指令时,标志(flag)寄存器中的一个zf (Zero Flag) 零标志位用来存放指令判断,他的值将决定程序的分支走向,比方说zf=1如果走if逻辑,那么zf=0就走else逻辑了。不想看还是没关系(哈哈),概述下来就是JZ命令通过ZF标志位判断是否跳转,当执行到JZ指令时,如果ZF=1则跳转,如果ZF=0,不跳转,反正无非就是一个if...else的逻辑。既然ZF=0时程序下一步往左边的线路走,那直接手动把ZF的值改成1。

2024-03-28 18:35:53 340

原创 AES加密解密算法

AES属于分组加密,算法明文长度固定为128位(单位是比特bit,1bit就是1位,128位等于16字节)而密钥长度可以是128、192、256位当密钥为128位时,需要循环10轮完成加密,在此基础上,密钥每增加64位,就要多循环2轮(即192位密钥循环12轮,256位密钥循环14轮)

2024-03-27 16:56:20 3047

原创 CTF-reverse-xxxorrr

发现这里的s1和main函数中的s1是同一个变量,这时碰到一个问题,sub_916函数在进行s1和s2的比对时,按照顺序结构的话,应该是先执行sub_916函数(即先比对s1和s2),再让s1和输入串s异或才对啊?跟进sub_84A函数,果不其然,发现这个函数也对s1进行过相关加密操作,但蒟蒻博主实在想不明白这个函数被调用的机理是什么,main函数中并没有对其调用过的痕迹,希望有清楚的大佬能够路过时指点一二!】,第二次是main函数中的for循环与输入串s异或。输入的字符串s与已经定义好的s1相互异或。

2024-03-20 18:48:39 832 1

原创 速通汇编(一)debug六种命令使用,四个通用寄存器

Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看 CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行使用【debug】命令开启此功能。

2024-03-20 18:48:21 734

原创 CTF-reverse-reverse_re3(全网最详细wp,超4000字有效解析)

本题基本没啥知识点,完全是初学者都能看懂的if...else代码,但如何从中察觉到是迷宫游戏并分析出对应元素的含义,以及写脚本提取出迷宫的操作是个大难点,能够很好地锻炼初学者的代码审计能力。

2024-03-19 15:37:18 680

原创 CTF-reverse-666

byte指针访问字符数组异或运算的逆向代码编写:^优先级小于+和-,如:enflag = key ^ (flag + 6) -> enflag ^ key = flag + 6 -> 【

2024-03-19 15:37:03 642

原创 CTF-reverse-Reversing-x64Elf-100

本题涉及到的知识点其实蛮多的,攻防世界把它放在题库里reverse方向新手模式的第一题,属实有点劝退新童鞋一维数组名的含义:数组首元素地址(指针)指针加法运算含义:指针地址向后偏移二维数组指针形式访问:*(char*)(arr[i] + j)完全等效于arr[i][j]

2024-03-18 12:17:27 717 1

空空如也

空空如也

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

TA关注的人

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