- 博客(23)
- 资源 (6)
- 收藏
- 关注
原创 Kotlin读写Excel文件
下面是一段本人开发的一个真实项目中的使用方法。package io.patamon.geocoding.utilsimport org.apache.poi.xssf.usermodel.XSSFWorkbookimport java.io.Fileimport java.io.FileInputStreamimport java.io.FileOutputStreamclass ReadWriteExcel { fun readExcel(index:Int,cellnum:Int
2021-09-19 20:52:21
3177
原创 ASP.NET MVC商城网站后台管理系统
本项目使用了大量的插件,所有的商品数据皆为动态加载,全部从数据库中读取呈现在界面上,具备商品管理、用户管理等功能,还可查看商品的相关数据汇总。本项目对应的网上商城在上一篇文章中。界面展示(部分)代码太多了,就不进行部分展示了。...
2021-01-19 19:13:26
4932
291
原创 ASP.NET MVC商城网站
本项目使用了大量的插件,所有的商品数据皆为动态加载,全部从数据库中读取呈现在界面上,具备商品评论,添加/移除购物车商品,邮箱发送验证码进行注册等功能。同时本项目配备商品后台管理系统,用来对商品信息和用户信息进行管理,同时还可查看商品的相关数据汇总。本项目仅用于学习参考,作为练习或者是实训项目也是刚刚好。界面展示(部分)代码太多了,就不进行部分展示了。...
2021-01-14 09:49:42
3688
158
原创 使用ftrace进行Linux内核hooking解决方案
通常命令行解释器(比如Bash)使用标准C库中的常用函数fork()和execve()来启动一个新进程。在系统内部,这些函数分别通过系统调用clone()和execve()来实现。我们hook execve()系统调用,以获得启动新进程的控制权。下面的图给出了一个ftrace示例,并说明了hooking处理函数的过程。在此图中,我们可以看到用户进程(蓝色)如何执行对内核(红色)的系统调用,其中ftrace框架(紫色)从我们的模块(绿色)调用函数。下面,我们详细描述这个过程的每一步:SYSCALL
2020-09-08 09:25:57
665
原创 使用ftrace进行Linux内核hooking
在大量方法描述的资料查找中,我们注意到了Linux ftrace,一个可用于跟踪Linux内核函数调用的Linux内核框架。使用ftrace执行Linux内核跟踪是常见的做法。但是事实证明,ftrace比jprobes更适合跟踪函数调用的需求。ftrace可以通过名称来hook内核中的任何函数,并围绕其调用执行代码。Ftrace允许我们通过函数名称hook关键Linux内核函数,并且可以在不重建内核的情况下安装钩子。使用ftrace进行Linux内核hookingFtrace是一个用于在函数级别跟踪内
2020-09-07 19:37:46
632
原创 hook Linux 内核函数
可以尝试使用如下几种方案来拦截Linux内核函数:使用Linux安全API修改系统调用表使用kprobes拼接使用ftrace处理程序使用Linux安全API从最佳实践的角度来说,我们认为使用Linux安全API的hook函数是最佳选择,因为这个接口就是为此而设计的。 内核代码的关键点包含安全函数调用,这些调用可能导致安全模块安装的回调。该模块可以研究特定操作的上下文,并决定是允许还是禁止它。不幸的是,Linux Security API有两个主要限制:安全模块无法动态加载,因此我们需
2020-09-03 21:12:14
554
原创 ELF文件结构重点详解
Header(头部):ELF header在文件开始处描述了整个文件的组织,如程序头表的位置和数量,节头表的位置和数量,等Program header table(程序头表):指出怎样创建进程映像(指出Load segment的位置),含有每个program header的入口Section(节区):Section提供了目标文件的各项信息(如指令、数据、符号表、重定位信息等)Section header table(节头表):section header table包含每一个section的入口,给.
2020-09-03 18:30:56
845
原创 生成pem文件
我们使用openssl生成pem文件。生成私钥pem文件:openssl genrsa -out rsa_private_key.pem‘2048’生成公钥pem文件(从私钥中提取):openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem生成自签名证书:openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650一条命令生成自签名证书:openss
2020-09-03 16:37:46
1498
原创 常用的三种非对称加密算法
RSA(RSA algorithm):由RSA公司发明,是一个支持变长密钥的公开密钥算法,需要加密的文件块的长度也是可变的,非对称加密算法。DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准),严格来说不算加密算法;算法标准,速度快,安全级别高,在21世纪AES标准的一个实现是Rijndael算法。ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学,也属于公开密钥算法。...
2020-08-29 11:45:37
7170
原创 常用的三种散列算法
MD5(Message Digest Algorithm):对于长度小于2^64位的消息,会产生一个160位的消息摘要。SHA-1(Secure Hash Algorithm 1):由美国国家安全局 (NSA)研发,是一种安全散列算法,对于长度小于2^64位的消息,SHA-1会产生一个160位的消息摘要。SHA-256(Secure Hash Algorithm 2):由美国国家安全局 (NSA)研发,是SHA-2的一个分支,是一种安全散列算法,对于任意长度的消息,SHA-256都会产生一个256.
2020-08-29 11:40:33
3780
原创 C语言解析pem私钥文件
直接上代码。。。/*按行读取一个pem文件所有字符并拼接为一整个字符串返回,去除首行、尾行及换行符*/char* LoadPemFile(char* pemFilePath,int* length){ FILE* file; size_t size = 0; char* buff; file = fopen(pemFilePath,"rb"); if(file==NULL) { return NULL; } fseek
2020-08-28 14:31:23
1119
1
原创 C语言解析pem公钥文件
不说废话了,直接上代码了。。。/*按行读取一个pem文件所有字符并拼接为一整个字符串返回,去除首行、尾行及换行符*/char* LoadPemFile(char* pemFilePath,int* length){ FILE* file; size_t size = 0; char* buff; file = fopen(pemFilePath,"rb"); if(file==NULL) { return NULL; }
2020-08-28 14:27:31
1971
原创 接单平台强烈推荐汇总
(1)程序员客栈https://www.proginn.com/(10)码市https://codemart.com/(11)猪八戒网https://luoyang.zbj.com/(100)开源众包https://zb.oschina.net/(101)码易https://www.mayigeek.com/tab/taskList?type=10&price=&bidEnd=(110)云沃客https://www.clouderwork.com/(111)特赞ht
2020-08-11 15:41:32
4672
原创 IN指令和OUT指令
Windows控制硬件借助的是输入和输出指令。其中具有代表性的两个输入输出指令就是IN和OUT指令。这些指令也是汇编语言的助记符。可以通过IN和OUT指令来实现对数据的读入和输出,如下图所示:IN指令和OUT指令也就是说,IN 指令通过指定的端口号输入数据,OUT指令则是把CPU寄存器中存储的数据输出到指定端口号的端口。那么这个端口号和端口是什么呢?你感觉它像不像港口一样?通过标注哪个港口然后进行货物的运送和运出?下面我们来看一下官方是如何定义端口号和端口的。我们今天说说输入设备和输出设备,这两
2020-08-04 21:51:18
31803
原创 二进制数及其运算
计算机的底层都是使用二进制数据进行数据流传输的,那么为什么会使用二进制表示计算机呢?什么是二进制数呢?如何使用二进制进行加减乘除?二进制数如何表示负数呢?本文将为你揭晓。为什么用二进制表示计算机内部是由IC电子元件组成的,其中CPU和内存也是IC电子元件的一种,CPU和内存使用IC电子元件作为基本单元。IC电子元件有不同种形状,但是其内部的组成单元称为一个个的引脚。有人说CPU和内存内部都是超大规模集成电路,其实IC就是集成电路。IC元件两侧排列的四方形块就是引脚,IC的所有引脚,只有两种电压: 0
2020-07-28 08:14:13
4798
1
原创 C语言文件读写操作(详解)
数据流和缓冲区是什么?文件类型和文件存取方式都有啥?数据流就C程序而言,从程序移进,移出字节,这种字节流就叫做流。程序与数据的交互是以流的形式进行的。进行C语言文件的读写时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。缓冲区在程序执行时,所提供的额外内存,可用来暂时存放准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。当使用标准I/O函数(包含在头文件stdio.h中)时,系统会自动设置缓冲区,并通过数据流来读写文件。当
2020-07-21 23:02:51
139140
28
原创 存储过程(详解)
概念存储过程(Stored Procedure)是一组编译好存储在服务器上的完成特定功能T-SQL代码,是某数据库的对象。客户端应用程序可以通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。存储过程是一组为了完成特定功能的SQL语句集。可以接受参数、输出参数、返回单个或多个结果集以及返回值。优点使用存储过程而不使用存储在客户端计算机本地的 T-SQL 程序的优点包括:(1)允许标准组件式编程,增强重用性和共享性(2)能够实现较快的执行速度(3)能够减少网络流量(4)可
2020-07-21 18:50:30
7407
原创 C#建立网络通信详解(二)
兑现上一篇文章的诺言,这篇文章将提供异步Socket服务端和客户端程序的例子。具体步骤和知识点就不赘述了,上一篇文章里有详细的说明,异步只不过就是在同步的基础上使用了多线程。话不多说,上码!服务端using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Net;u
2020-07-20 18:03:35
1073
1
原创 C#建立网络通信详解(一)
C#建立网络通信可以使用Socket类或者TcpListener类,本文详细讲解使用Socket类建立网络通信。Socket简单介绍Socket接口是TCP/IP网络的应用程序接口(API)。程序员可以用它们来开发TCP/IP网络应用程序。Socket可以看成是网络通信上的一个端点,也就是说,网络通信包括两台主机或两个进程,通过网络传递它们之间的数据。因此为了进行网络通信,程序在网络对话的每一端都需要一个SocketTCP/IP传输层使用协议端口将数据传送给一台主机的特定应用程序,当传输层模块的网络
2020-07-20 13:46:47
7737
1
原创 C语言中的各种占位符
C语言占位符占位符这个名词想必都不陌生,C语言中的%d,%c就再熟悉不过了,那么C语言中究竟都有哪些占位符呢,又都表示什么含义呢?%d:整型%ld:长整型%o:八进制数形式整数%u:十进制数unsigned(无符号)型数据%x:十六进制数形式整数,或字符串的地址%i :十进制,八进制,十六进制整数%c:一个字符%s:一个字符串%f:小数形式的实数,默认情况下保留小数点6位%e:指数形式的实数%g:根据大小自动选f格式或e格式,且去掉无意义的零...
2020-07-19 13:16:31
12029
原创 C#学生信息管理系统
C#学生信息管理系统会搜索学生信息管理系统,想必兄台是个正在实训阶段的大学生吧。如果你的实训内容是用C#开发一个学生信息管理系统的话,那么这篇文章或许可以帮到你,说不好还可以让你的实训作品脱颖而出,让其他人眼前一亮。话不多说直接上码!功能快捷键如何改变文本的样式强调文本 强调文本加粗文本 加粗文本标记文本删除文本引用文本H2O is是液体。210 运算结果是 1024.插入链接与图片链接: link.图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我
2020-07-16 21:15:31
10297
403
人工智能抠图制作证件照
2024-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人