自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于网络通讯的数据包是如何构造

了解网络模型基础及报文构造。

2022-08-07 02:47:17 748 1

原创 有关在编写安卓代码的时候使用全屏时的问题

前导前几天在写一个安卓的时候解决了一个问题,就是当安卓使用全屏的时候在代码中生成的app无法正常全屏的问题,问题在于窗体的代码中此处继承AppCompatActivity,所以导致代码中无法使用另类全屏或者其他窗口模式,具体这个问题的解决方案是直接将AppCompatActivity改为Activity即可解决上述问题。具体原因可参考AppCompatActivity类的作用,简单来说这个类默认处理不了除预设窗口模式外的其他窗口模式,所以才会导致报错。...

2022-01-20 21:34:02 2218

原创 c#接口和抽象类

一、抽象类:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口:接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化;2、包含未实现的方法声明;3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);

2021-02-21 04:58:42 762 2

原创 在WPF中如何设定一个控件的样式-Button

内容简介在WPF中让用户灵活的设置界面UI已成为WPF的特色,通过在编辑xaml中相关代码使得一个原本黯然失色的空间元素变得绚丽多姿,更可以在界面中撰写犹如HTML一样的风格,表格式的界面编辑、预提供的动画类也使得界面动态化以及前台代码和后台代码分离撰写的快感。控件Button控件这是一个按钮,黯然失色,没有一点生机,下面看它的代码:<Button Width="100" Height="35" Content="按钮" />这是它的代码,一个标签,三个属性,是不是很像HT

2021-01-14 15:13:39 1202

原创 WPF中几种容器的区别

在WPF控件中提供了几种布局排放的容器,使得开发者在排放控件的时候更加的灵活,而不会依靠像winfrom应用程序一样拖放内容,winfrom在实现窗口大小变迁的时候往往需要在代码中实现窗口与控件的1:1。通过WPF中的容器控件则可将代码量大大减少。常见容器DockPanel(泊靠式面板)WrapPanel(环绕面板)Canvas(画布)StackPanel(栈式面板)Grid(网格面板)DockPanel在DockPanel可以对每个控件进行排列,这完全取决于您自己,如果有多个控件停靠.

2021-01-13 21:59:37 1569 1

原创 Windows XP debug工具的使用

简介Debug工具,是供程序员使用的调试工具,使用者可以用它检查内存中任何内存中的字节、修改任何地方内存地方的字节,他还可以逐指令的执行某个程序、验证程序运行的正确性、追踪执行过程、比较一个指令执行前后的值、比较与移动内存中数据的范围、读写文件与磁盘扇区。如果你使用的windows系统是32位的那么一般都会自带有debug调试工具, 而64位没有,需要自己进行安装。打开debug工具:运行——CMD——debug命令一览表:命令作用使用示例r查看和修改寄存器rr ax

2021-01-03 03:44:01 1471

原创 程序设计中的递归(C语言为例)

首先看一段代码:#include<stdio.h>int f(int n){ if (n == 0) return 0; else return f(n - 1) + n;}int main(){ printf("%d", f(5)); return 0;}在此程序中定义了一个函数f,此函数的作用呢是一个简单的判断,当n等于0的时候则返回0,如果不为0的时候呢则返回f(n - 1) + n。大部分人对递归难理解可能就是在于这里使用了一个函数,那就是自己。

2020-11-25 00:50:17 373

原创 docker的基础使用

docker run -i -t 容器名 /bin/bash 运行一个容器并进入到该容器的shell-i: 允许你对容器内的标准输入 (STDIN) 进行交互。-t: 在新容器内指定一个伪终端或终端。docker exec -i -t -d 容器name /bin/bash 在存在的容器运行一个容器并在后台进入到该容器的shell-i: 允许你对容器内的标准输入 (STDIN) 进行交互。-t: 在新容器内指定一个伪终端或终端。-d: 在后台执行docker search 镜像名 搜索

2020-10-12 16:53:09 226

原创 kali R2工具

使用r2加载一个程序r2 file使用aa或aaa深度分析程序使用imports查看当前程序函数定位main函数入口并反编译,相关命令:s main;pdf这里有个sym.vulnerable_function函数,使用pdf反汇编此函数在此处我们可以看到程序栈的分配情况,当然也可以通过定位到函数的位置使用afv专门查看函数中所使用的栈使用vv进入图形界面使用iz搜索程序中所有字符串通过alf分析函数表fs搜索程序标识分析程序rabin2 -I查看程序开启的防

2020-08-05 11:28:56 650

原创 WPF中DataGrid控件

看一下DataGrid的独特属性:AlternationCount:设置ItemControl中交替项的数据,可以理解为隔几行换色设置AutoGenerateColumns:是否自动生成列CanUserAddRows:是否允许添加新行CanUserDeleteRows:是否允许删除行CanUserReorderColumns:是否允许用户通过使用鼠标拖拽列标题,更改列的显示顺序CanUserResizeColumns:是否允许用户通过鼠标更改列的宽度CanUserResizeRows:是否允许

2020-07-29 19:15:40 818

原创 .NET core连接MSsql

下载必要的库打开安装相应的库接着就是一顿操作了跟大部分语言差不多,顺序就连接,查询,执行,返回,关闭。查询完毕!

2020-07-25 22:19:34 397

原创 使用C语言创建套接字及连接

两部分代码注释已全部给出,扩展的话也比较容易。上代码:服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <stdio.h>#include <winsock2.h>#pragma comment (lib, "ws2_32.lib") //加载 ws2_32.dllint main() { //初始化 DLL WSADATA wsaData; WSAStartup(MAKEWORD(2, 2

2020-07-23 13:04:15 1569 2

原创 学习PHP的一些伪协议(更新中)

给看一下环境代码:很简单的一个文件包含,看一下PHP中支持的伪协议的函数:include、require、include_once、require_once、highlight_file,show_source 、readfile 、file_get_contents 、fopen 、file……可以看出这函数在写的时候都可以通过输入相关的一些路径执行操作,我们常见的伪协议有:file:// 访问本地文件系统http:// 访问 HTTP(s) 网址ftp:// 访问 FTP(s) URL

2020-07-22 18:40:45 164

原创 使用数据模板做一个简单的LISTBOX

看一下页面文档<Window x:Class="WpfApp1_test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/200

2020-07-22 14:36:17 259

原创 关于linuxPHP中可控字符任意命令执行的解题思路

首先审计一下代码当时在写环境的时候我把if语句里面打成了strlen($_GET[1]<7),然后测试了半天,一搞就是卧槽怎么能正常输出?!!!把代码给群里的水友看了一下卧槽写错了,汗- -。这道题将可以输入的字符控制在了6位,所以在我们正常输入的时候一次性无法使用一长串代码去查看flag文件。通过一段简短的代码可以看出flag文件就在网站根目录的上一层,现在要像个办法突破可控。不行……但是在学过linux命令的小伙伴都晓得,linux命令是可以使用"\"拼接的,所以试试这个方法为

2020-07-21 22:02:02 290

原创 分享一段用C语言获取系统jmp esp地址的代码

#include <windows.h>#include <stdio.h>void main(){ BYTE* ptr; int position, address; HINSTANCE handle; BOOL isOver = FALSE; handle = LoadLibrary(L"user32.dll"); if (!handle) { printf(" load dll erro !");

2020-07-20 23:51:14 484

原创 分享一段jsp小马

<% @ page language = "java" import = "java.util.*,java.io.*" pageEncoding = "UTF-8"%>< % !public static String excuteCmd(String c){ StringBuilder line = new StringBuilder(); try { Process pro = Runtime.getRuntime().exec(c); BufferedReader

2020-07-20 20:55:37 3656

原创 C/C++中动态分配内存(堆)

两个例子://C语言int intMalloc(){ int *p; p=(int *)malloc(sizeof(int)*10);//动态分配p内存10个整形大小 //p=calloc(5,sizeof(int)); *(p+1)=1;//给内存地址一个值 for (size_t i = 0; i < 10; i++) { printf("%d\n",*(p+i)); } return 0;}//C++

2020-07-20 20:22:33 127

原创 在kali安装pwngdb

安装git clone https://github.com/pwndbg/pwndbgcd pwndbg./setup.sh运行gdbtui其次就是gdb的peda插件git clone https://github.com/longld/peda.git ~/pedaecho "source ~/peda/peda.py">> ~/.gdbinit

2020-07-20 14:50:29 2309

原创 关于C语言几个操作内存的函数(此文章会被更新)

1.ssize_t write(int fd,const void*buf,size_t count);用于将数据写入到文件描述符对应的文件参数介绍:fd是文件描述符(输出到command line,就是1)buf:通常是一个字符串,需要写入的字符串count:是每次写入的字节数返回值:成功:返回写入的字节数 失败:返回-1并设置errno ps: 写常规文件时,write的返回值通常等于请求写的字节数count,而向终端设备或者网络写时则不一定示例代码write(1,"Hell

2020-07-19 20:36:27 496

原创 程序栈

介绍栈是一个遵守先进后出的数据结构,栈的设计让程序设计变得很灵活,其操作主要有压栈(push)与出栈(pop)两种操作所以栈有栈顶和栈底,在我们高级语言程序设计的时,代码最终都会被转换成汇编,在这个过程中就充分的利用到了栈这一数据结构。每个程序运行的时候都会分配一些虚拟空间,其中有一段空间就是用于存放程序对应的栈,用于保存程序中的局部变量和函数的调用信息。...

2020-07-18 20:36:43 730

原创 2020年7月16号晚上在写一套通讯程序时遇到的问题

前言在昨天晚上,我们老师测试了我一个脑力活,写了一套客户端与服务器连接的小程序,当时给的时候我觉得挺简单的,果断对这个项目就是开始操作,在开始的时候遇到的问题基本没有的,但是整套程序快要完结的时候,遇上事了。就一个小小的误区让我弄到深夜两点。错误的代码首先两段代码创建套接字时是完全没有问题的 /// <summary> /// 创建套接字 /// </summary> public void ListenTCPst

2020-07-17 13:57:35 158

原创 WPF数据绑定

数据绑定在winform程序开发的时候,常常需要通过代码给动态的设置值,这样复杂了代码的可读性,大大的提高了代码的量,在wpf中为了解决这方面问题,它支持数据绑定,可以通过xaml直接将两个控件进行绑定,大大的减少了后端代码的需求。看图识代码这里通过两个控件来简单介绍一下数据绑定的作用现在有Slider和Label分别有一个,我要通过label实时监测Slider的滑块位置,现在如果我们通过后台代码实现呢也很简单,这里我就略过了,现在要通过数据绑定的方式实现label能够与滑块的位置同步,看操作

2020-07-16 19:57:05 229

原创 WPF绑定数据模板

首先来看一波成品图上面我们的ComboBox里可以选择颜色,直接拖出来的话是不可以的,下面直接看代码吧:在这我定义了一个数据模板,并且数据源都是通过代码获得,接着就是给控件绑定:设置了一个Item模板,然后就是代码那边在这里我通过了点击按钮的方式向ComboBox绑定了数据源,需要创建一个实体类,然后想里面写出绑定的代码。code就是前面binding 后面的那个。...

2020-07-16 13:20:36 468

原创 WPF绑定控件模板

代码中我使用了ControlTemplate定义了一个按钮的控件模板,主要在里面绘制了一个图片以及文本内容,接着绑定上按钮。在下面使用Template属性即可绑定上去。

2020-07-16 12:47:37 397

原创 C语言指针的简单应用

指针是什么指针在C/C++语言中是一个重要的概念,他指向了一段内存空间的地址,而指针占用的内存空间是相同的,他仅仅将自己保存了一个内存地址。解决问题在平常写程序的时候都离不开函数的相互调用,如果在调用的时候我们直接参数设置为我们的变量,这将会新开辟一段内存空间,而这样是不行的,因为一个数据在内存里重复放几遍,这样就会占用空间,导致程序运行不顺畅。如果我们在main函数中定义了一个变量,char c[]=“Hello”,当我们要将c传给其他函数是如果直接将c传过去则其他函数就会重新分配一段空间,这样如果

2020-07-15 20:23:10 582

原创 使用委托让窗口之间互相传值

在我们平常窗口编程中,如果碰到一些窗口的信息交互的时候,这个时候往往需要用到委托来相互交流消息,触发事件,下面通过一个简单的窗口触发另一个窗口的事件来触发委托。看到我的两个窗口现在我需要用过Windows窗口将mainwindow的标题改掉。MainWindow fr = new MainWindow();fr.Title = "成功";这种方法肯定是行不通的,这是创建了一个对象,修改的属性都被添加到新的对象上去了。下面用委托的方式修改父窗口标题,先看看父窗口代码:using Syste

2020-07-15 10:06:34 338

原创 WPF触发器(Trigger)

看一段代码:在这个实例中呢定义了一个"简单的触发器"(Trigger),其作用呢是"IsMouseOver"意思就当鼠标进入的发生事件,这里面就是将按钮的字体颜色设置成白色。对应的既然提到了"简单的触发器",相对应肯定也有别的触发器:可以看到这张图里面是触发器的都是以trigger结尾下面简单介绍这几个触发器的作用第一个触发器就是简单的触发器,也叫做属性触发器,在开始的例子中提到过。第二个"DataTrigger"为数据触发器,他呢经常被用在做数据验证时用来显示验证错误信息。“MultiT

2020-07-14 23:42:45 2169

原创 C#简单的委托

简单的委托namespace test_1{ delegate int NUMADD(int n); class Program { static int num = 10; static void Main(string[] args) { NUMADD dg1 = new NUMADD(addNum); dg1(30); Console.WriteLine(

2020-07-14 13:08:03 88

原创 WPF动态修改控件样式

首先看一下窗口的xaml文档<Window x:Class="WpfApp1_test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/bl

2020-07-13 22:46:53 1916

原创 WPF中使用外部资源字典

首先看看我们文件树结构,其中外部资源字典在Style中即可创建一个新的资源字典然后再看看我Button_Style.xaml里面写的代码再这里我创建之后什么都没改就加了3行代码<Style x:Key="Button_Style" TargetType="{x:Type Button}"> <Setter Property="Background" Value="#FFFFFF"/></Style>这三行代码就是将按钮的背景颜色设置成白色之.

2020-07-13 22:05:48 744

原创 C#读取网页源码

需要用到的库using System.Net;using System.Text;上代码static string GetWebClient(string url){ string strHTML = ""; WebClient myWebClient = new WebClient();//创建对象,实例化WebClient Stream myStream = myWebClient.OpenRead(url);//存储流字节 StreamReader sr = new StreamR

2020-07-12 16:29:50 253 1

原创 汇编语言基础知识

首先介绍一下汇编语言的组成汇编指令(机器码的助记符)伪指令(由编译器执行)其他符号(由编译器识别)汇编语言的核心是汇编指令,他决定了汇编语言的特性机器指令与汇编指令一一对应机械指令:1000100111011000操作:寄存器BX的内容传送到AX中汇编指令:MOV AX,BX这样的写法便于人们的记忆汇编语言执行过程:存储器先来说说CPU,中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单

2020-07-11 17:39:11 248

原创 CSS自适应铺满浏览器全屏布局

分享一个HTML中的布局样式代码:<!DOCTYPE html><html> <head> <title>CSS自适应布局</title> <style> :root{ --topHeight:60px; --leftBox:300px } .topbar

2020-07-11 09:50:44 1210

原创 GDB命令

命令缩写简述使用listl显示多行源代码(list 1,10)显示1到10行代码breakb设置断点,程序运行到断点的位置会停下来并显示CPU内存的调用信息(b printf)让执行到printf处打断运行infoi描述程序的状态(info function)显示程序所有函数及对应的地址,还可以显示更多,单独输入info可查看具体聂荣runr开始运行程序(run)开始运行程序,跟普通运行一样的结果displayd跟踪查看某个变量,每...

2020-07-10 21:16:20 191

原创 Kali使用gcc编译32位的程序

上代码sudo apt-get install lib32readline-dev等待安装完毕,然后再执行gcc -m32 test.c即可生成一个32位的执行程序

2020-07-10 17:14:16 957

原创 Linux下使用NC工具

前言nc(netcat)是Linux实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口。他的使用方法建议易懂,因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。参数1. -l #用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。2. -p #设置本地主机使用的通信端口。3. -s #指定发送数据的源IP地址,适用于多网卡机。4. -u #使用UDP传输协议,默认为TCP。5. -v

2020-07-10 09:10:55 489

原创 关于CSS使用自定义属性(声明变量)及运算

前言在CSS文档中有时候会多出用到重复的值,使得在前端开发的时候变得繁杂,如果在做一个大型的项目来说,这不得累死。所以css此文档简单写出有关声明自定义属性,使用自定义属性,简单来说,这种效果和常用编程语言来说是差不多的正文自定义属性是一种css变量,使用过自定义属性之后可以供整个文档使用这个定义的值。用法在CSS中声明一个自定义属性由"–"(两个减号)开始.div{ --color:#FF0000; background:var(--color);}在以上例子中我们使用- -开始定义

2020-07-09 22:12:52 1009

原创 OSPF基础

简介OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。详细----百度百科命令介绍(华为)对于区域路由

2020-07-06 18:07:57 188

原创 Linux搭建DNS域名解析服务器(CentOS8)

关于域名服务器域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换。下载相关工具这里还是用比较广泛的dns服务器软件bind,有关软件说明可自行百度。yum install bind*systemctl start named.service // 启动服务(自选)systemctl enable named // 设为开机启动(自选)BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)BIND服务的名称称之为n

2020-07-05 21:15:09 2796

空空如也

空空如也

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

TA关注的人

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