- 博客(174)
- 收藏
- 关注
原创 Java - 常用API&日期类
各位同学,接下来我们学习String这个类,也就是学对字符串进行处理。为什么要学习字符串处理呢?因为在开发中对于字符串的处理还是非常常见的。比如:在用户登录时,用户输入的用户名和密码送到后台,需要和正确的用户名和密码进行校验,这就需要用到String类提供的比较功能。再比如:同学们在直播留言时,有些小伙伴可能不太文明说了一些脏话,后台检测到你输入的是脏话,就会用***把脏话屏蔽掉。这也需要用到String类提供的替换功能。
2025-09-05 08:53:25
617
原创 Java代码审计-JavaSE-5
比如,先定义一个Animal抽象类,里面定义一个cry()方法,表示所有的动物有叫的行为,但是因为动物还不具体,cry()这个行为并不能具体化,所以写成抽象方法。内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。我们会看到,枚举类A是用class定义的,说明枚举确实是一个类,而且X,Y,Z都是A类的对象;虽然枚举类中可以像类一样,写一些类的其他成员,但是一般不会这么写,如果你真要这么干的话,到不如直接写普通类来的直接。
2025-08-21 10:07:49
859
原创 Java代码审计-SE-4
前面我们定义的Movie类,仅仅只是用来封装每一部电影的信息。为了让电影数据和电影数据的操作相分离,我们还得有一个电影操作类(MovieOperator)。因为系统中有多部电影,所以电影操作类中MovieOperator,需要有一个用来存储多部电影对象;同时在MovieOperator类中,提供对外提供,对电影数组进行操作的方法。如用于打印数组中所有的电影信息,方法根据id查找一个电影的信息并打印。//因为系统中有多部电影,所以电影操作类中,需要有一个Movie的数组。
2025-08-19 16:41:51
693
原创 this关键字
this就是一个变量,用在方法中,可以拿到当前类的对象。我们看下图所示代码,通过代码来体会这句话到底是什么意思。上面代码运行结果如下通过this在方法中可以访问本类对象的成员变量。
2025-08-19 16:32:45
258
原创 Java - 面向对象基础
现在假设我们需要处理的是学生的姓名、语文成绩、数学成绩这三个数据,要求打印输出这个学生的总成绩,和平均成绩。遇到这样的需求,我们以前都会定义方法来做,如下图所示注意:这里每一个方法有定义好方法之后,我们调用方法的时候,需要给每一个方法在上面案例中,这种编程方式是一种面向过程的编程方式。所谓面向过程,就是编写一个的方法,有数据要进行处理就交给方法来处理。但是实际上,然后让对象提供方法对自己的数据进行处理。这种方式称之为面向对象编程。
2025-08-19 16:30:48
1028
原创 Java代码审计-JavaSE-3
方法是什么方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。这句话什么意思呢?意思是,把一段功能代码围在一起,别人都可以来调用它。下图是方法的完整格式// 1、李工。int a = 10;int b = 20;System.out.println("和是:" + c);// 2、张工。System.out.println("和是:" + c1);阅读上面的代码,我们不难发现。两次求和的代码中,除了求和的数据不一样,代码的组织结构完全一样。
2025-07-27 22:23:47
700
原创 Java代码审计-JavaSE-2
数组就是一个容器,用来存一批同种类型的数据的。比如:想要存储 20,10,80,60,90 这些数据。我们可以把代码写成这样比如:想要存储 “牛二“,“西门“,“全蛋“ 这些数据。我们可以把代码写成这样String[] names = {"牛二", "西门", "全蛋"};各位同学,我们已经知道数组是用来干什么的。那么如何使用Java语言写一个数组呢?这里就需要学习一下数组的初始化格式。数组有两种初始化的方式,一种是静态初始化、一种是动态初始化。我们先用静态初始化来学习数组的操作。
2025-07-27 19:30:44
615
原创 Java代码审计-JavaSE-1
到这里关于循环结构的所有内容就都已经学习完了,我们再把几种循环结构在什么场景下使用,再总结一下。1. 什么是流程控制答:流程控制是用来控制程序的执行顺序的2. 分支结构if和switch,如何选择?答:if分支:一般用于对一个范围进行判断switch分支:对一个一个值进行匹配3. for循环和while循环、do-while如何循环答:知道循环次数用for、不知道循环次数用while想要先执行,再判断,用do-while。
2025-07-27 11:49:02
743
原创 Java代码审计-工具安装与环境配置-1
本文详细介绍了Windows和Linux系统下JDK环境变量的配置方法。在Windows中,需设置JAVA_HOME、Path和CLASSPATH三个变量,其中CLASSPATH包含当前目录、JDK库文件路径。Linux系统则需修改/etc/profile文件或使用/etc/profile.d/目录配置环境变量,特别指出非登录shell需要特殊处理才能保持配置生效。两种系统最后都需通过java -version命令验证配置是否成功。文章还特别强调了路径设置中的注意事项,如避免多余空格等问题。
2025-07-25 09:14:26
435
原创 Web渗透:CORS漏洞
这边的域特指同源策略中的“域”,在浏览器安全中,同源(Same-Origin)策略中的“域”指的是:协议 + 域名 + 端口跨域其实就是不同源的网页想拥有对方的权限资源,此时需要进行跨域资源获取。
2025-07-21 15:05:01
1141
原创 PHP基础-函数
PHP 函数准则:函数的名称应该提示出它的功能函数名称以字母或下划线开头(不能以数字开头)functionfunctionname(参数1, 参数2, ...) {// 函数体:写你想要执行的代码return返回值;//调用。
2025-06-17 10:40:11
365
原创 PHP基础-控制结构
使用for处理已知次数的循环;使用while处理条件判断驱动的循环;使用foreach处理数组或对象遍历;理解每种语句的适用场景与边界条件,写出更高效更安全的代码。通过本篇文章,我们系统地了解了 PHP 中常用的控制结构,包括条件判断(ifswitch)以及各种循环语句(forwhileforeach掌握这些控制结构,是编写高效、清晰 PHP 程序的关键一步。下一步,建议结合实际练习,巩固语法,提升逻辑思维能力。
2025-06-13 16:11:57
1007
原创 PHP基础-运算符
运算符虽然只是 PHP 中最基础的一部分,但却无处不在、至关重要。理解它们的工作方式,是成为一个合格 PHP 开发者的第一步。
2025-06-13 16:07:15
694
原创 PHP基础-语法&变量
PHP(Hypertext Preprocessor)是一种广泛使用的 开源服务器端脚本语言,专为Web 开发设计。最初是 Personal Home Page 的缩写,后来演变为递归缩写:PHP: Hypertext Preprocessor可以嵌入 HTML 中执行,生成动态网页内容。代码在服务器上运行,返回的是纯 HTML 给用户浏览器。PHP 最核心的用途是开发服务器端的 Web 应用程序,即用户访问网站时,在服务器上处理业务逻辑、数据库、接口等。
2025-06-11 17:00:07
861
原创 解决:‘java‘ 不是内部或外部命令,也不是可运行的程序-Java环境变量配置(含JDK8、JDK21安装包一站式配置)
在使用命令行运行.jar这个报错表明系统无法识别java命令,通常是由于 Java 没有正确安装,或是系统环境变量没有配置好。本文将从原因分析入手,手把手教你如何解决这一问题。java.exe。这通常有以下几种可能:系统中未安装 JDK 或 JRE。Java 已安装,但未将其安装路径添加到系统的环境变量Path中。安装路径设置错误,或 JDK 安装不完整。
2025-05-08 21:35:38
1996
原创 fine:一款集网络空间资产测绘、ICP备案、天眼查股权结构图、IP138域名解析与IP反查与小程序反编译
网络空间资产测绘、ICP备案、天眼查股权结构图、IP138域名解析与IP反查、外部HTTP调用与小程序反编译。
2025-04-10 17:40:19
492
1
原创 .DS_Store文件泄露、.git目录泄露、.svn目录泄露漏洞利用工具
一款图形化的 .DS_Store文件泄露、.git目录泄露、.svn目录泄露漏洞利用工具。
2025-04-10 17:32:30
442
原创 Web基础:CSS快速入门
CSS(Cascading Style Sheets,层叠样式表)是用于控制网页外观和布局的代码语言,它与 HTML 配合使用,可以让网页从“纯内容”变成“美观的界面”。CSS是一种样式语言,告诉网页浏览器如何呈现HTML元素。CSS溢出就像你往一个小盒子里塞了太多东西,盒子装不下了,这时候内容就会“溢出来”。用专业的话说,当元素的内容(比如文字、图片)超过了它自己设定的大小(比如固定宽高),多出来的部分就会溢出到盒子外面。
2025-03-10 08:34:54
1069
原创 Win32:关闭窗口
当用户关闭窗口时,该操作会触发一系列窗口消息。用户可以通过单击“ 关闭 ”按钮或使用 Alt+F4 等键盘快捷方式来关闭应用程序窗口。 任何这些操作都会导致窗口接收 WM_CLOSE 消息。
2025-01-22 15:29:47
562
原创 Win32:窗口消息
在 GUI(图形用户界面)应用程序中,事件驱动编程是核心概念。应用程序需要响应用户和操作系统的事件,以提供交互性和动态行为。
2025-01-22 10:14:13
834
原创 Win32:WinMain 应用程序入口点
每个 Windows 程序都包含一个名为 WinMain (使用ANSI 字符集)或 wWinMain (使用Unicode 字符集)的入口点函数。
2025-01-21 16:23:06
787
原创 Win32:窗口概念
如下是一个窗口:这种类型的窗口称为应用程序窗口或main窗口。它通常具有带有标题栏、最小化和最大化按钮以及其他标准 UI 元素的框架。
2025-01-21 15:32:01
869
原创 Win32:字符串的使用
为了在 Windows 编程中更方便地使用宽字符,Windows SDK 提供了一些相关的数据类型和定义。头文件 WinNT.h 还定义了以下typedef。若要声明宽字符文本或宽字符字符串字面量,请将L置于文本前面。#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址在反汇编界面查看字符串地址。Windows SDK 提供的通用机制(如TCHARTEXT。
2025-01-21 09:31:33
1268
原创 Win32编程:编码约定
如果你刚开始接触Windows编程,确实会遇到一些独特的编码风格和约定,这些可能会让你感到困惑。不过,一旦你熟悉了这些约定,它们实际上会帮助你更好地理解和使用WindowsAPI。
2025-01-19 09:19:47
805
原创 PE文件:节表-添加节
在所有节的空白区域都不够存放我们想要添加的数据时,这个时候可以通过添加节来扩展我们可操作的空间去存储新的数据(如导入表、代码或资源)。
2025-01-17 23:32:23
1194
原创 PE文件结构:节表
在 PE(Portable Executable)文件结构中,是 PE 文件的重要组成部分之一,位于 PE 头之后。节表记录了各节的虚拟地址、大小、节在 PE 文件中的实际大小和节属性等内容,用于定义程序在内存中的逻辑布局,操作系统加载 PE 文件时,根据节表将不同节的数据映射到正确的内存区域;定义了各节的属性,如是否可执行、可读、可写等,操作系统会根据这些属性对相应内存区域进行保护。在调试过程中,节表可以用来定位代码和数据在文件和内存中的位置,辅助调试器解析程序结构。
2024-12-19 17:47:52
1118
1
原创 PE文件结构:NT头部
RVA,全称为Relative Virtual Address(相对虚拟地址),是PE(Portable Executable,可移植执行文件)格式中用于指定地址的一种方式。在PE文件中,RVA是一种相对于PE文件的基地址(ImageBase)的偏移量,用于在内存中定位各个部分(如代码、数据、资源等)的位置。基地址(ImageBase)子系统是操作系统提供的环境,用于支持不同类型的程序。PE 文件中的子系统信息决定了程序将运行在什么样的环境中。
2024-12-10 15:02:38
1224
原创 工具集:010 Editor基本使用
010 Editor是一款功能强大的十六进制编辑器,专门设计用于查看、编辑和分析二进制文件。它提供了丰富的功能,广泛应用于软件开发、逆向工程、数据恢复、文件格式分析等领域。以下是010 Editor。
2024-12-01 11:24:25
6464
原创 PE文件结构-DOS头部
(Portable Executable File)是Windows操作系统下可执行文件使用的一种文件格式,广泛用于存储可执行程序(EXE文件)、动态链接库(DLL文件)、驱动程序(SYS文件)以及其他类型的程序代码,它是Windows应用程序的基本运行单元。PE文件结构是经过精心设计的,以支持程序在不同版本的Windows操作系统上能够移植、执行,并能与操作系统的加载机制和动态链接功能兼容。事实上,在Windows上,文件的拓展名并不直接决定文件是否是PE(Portable Executable)文件。
2024-11-30 16:15:58
989
原创 C/C++逆向:虚函数逆向分析
(Virtual Function)是C++中实现的一种机制,它允许在运行时通过基类的指针或引用调用派生类中的函数,而不是基类中的版本。虚函数通常与和结合使用。通过在基类中使用virtual关键字声明函数,允许派生类重写该函数。当通过基类指针或引用调用时,根据对象的实际类型决定调用哪个版本的函数;它依赖虚函数表(vtable)实现,用于动态绑定,常用于多态场景下的接口设计和扩展。每个包含虚函数的类都有一张虚函数表:如果类没有派生类,则虚函数表存储类自身的虚函数地址。
2024-11-25 21:35:59
1491
原创 C/C++逆向:对象布局&thiscall
在逆向工程中,类的逆向分析非常重要,尤其逆向分析的对象为面向对象的编程语言(如C++)所编写的程序时类的分析就显得更加重要。这是因为类结构往往承载了程序的核心逻辑和设计模式。通过还原类的结构、继承关系和成员函数,逆向工程师能够理解程序的整体架构、功能实现以及开发者的设计意图,从而有效识别关键模块、提升分析效率。类的分析比结构体更复杂,因为类除了数据成员外,还包含了方法(函数)和继承关系。
2024-11-17 10:51:52
1194
原创 C/C++逆向:结构体逆向分析
在C/C++程序的逆向分析中,结构体的逆向分析是非常重要的。结构体是C/C++中管理和组织数据的一种主要方式。了解它们的布局可以帮助你理解程序是如何存储、处理和传递数据的,结构体常用于组织和管理复杂的数据,理解结构体有助于我们更好地还原程序的逻辑、推断数据布局,并解读与操作这些数据的函数。因此,识别并分析结构体可以帮助你更全面地理解程序的内存布局和数据流。接着我们可以来简单说一下如何识别结构体。
2024-11-11 08:29:26
1511
1
原创 C/C++逆向:二维数组分析
多维数组是指包含两个或两个以上维度的数组。常见的多维数组有二维数组、三维数组等。对于程序的逆向工程,多维数组的分析通常需要理解数组的内存布局、存储方式以及程序对数组的访问方式。
2024-10-31 11:58:24
1183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人