二进制行内hook方案(C/C++) 发表于 2021-01-03 更新于 2023-10-15 分类于 Program , C/C++ Valine: 本文字数: 1.6k 阅读时长 ≈ 1 分钟一、前言正常hook方案都是大家熟知的使用LD_PRELOAD=xxx.so,将其中的某个动态库的函数整个声明全部覆盖掉,利用比其so库先加载的特权将此函数覆盖掉。但是此方法只能对于动态库的函数生效,如果一个函数是二进制内部实现的函数,此方法就无效了。本文讨论如何hook二进制内部函数,并且实现回调。 二、原理1. 基础知识补充1.1. 二进制符号二进制符号 2. 困难点 由于二进制符号都会调用本 ...阅读全文 »
线程池讲解(C++) 发表于 2020-08-01 更新于 2024-01-09 分类于 Program , C/C++ Valine: 本文字数: 11k 阅读时长 ≈ 10 分钟1. 前言线程池是一般服务端或者客户端编程经常要用到的一种管理线程的类,从网上找到一个比较好的线程池实现,主要运用C++11。记录一下理解过程,帮助学习线程池和C++11。 2. 代码2.1 先上代码threadPool.hpp 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 ...阅读全文 »
minst手写数字识别——神经网络实战笔记 发表于 2020-05-12 更新于 2023-10-15 分类于 Program , AI Valine: 本文字数: 8.5k 阅读时长 ≈ 8 分钟一、前言神经网络、深度学习理论一片,基本都可以说道一下,但是真的上手搭建一个神经网络,并将数据处理并进行实践就难到我了。这里记录一下数据处理和神经网络实践。算作学习记录,或者说模板,后续搭建神经网络就参考这个博客,提供学习模板 这里做的是minst手写数字识别的数据集,数据和代码来源主要来自kaggle 二、正文1. 数据处理部分先看目录结构有啥 1234567import numpy as np ...阅读全文 »
零基础入门深度学习笔记 发表于 2020-05-11 更新于 2023-10-15 分类于 Knowledge , Study Valine: 本文字数: 2.3k 阅读时长 ≈ 2 分钟前言 此博客为学习零基础入门深度学习所记的笔记,有一些自己的思考 代码位置(原博客使用python2实现,这里使用python3实现): github 一、基础知识1. 名词解释 激活函数,神经元接收外部参数后通过加权和或者其他算法,处理最后结果的函数,常见的有sigmoid和relu等 FNN,前馈神经网络(全连接神经网络) 2. 几种激活函数sigmoid函数 $$sigmoid(x) ...阅读全文 »
eggjs笔记 发表于 2020-04-23 更新于 2023-10-15 分类于 Program , Nodejs Valine: 本文字数: 2.1k 阅读时长 ≈ 2 分钟一、知识1. session机制eggjs内置session机制,可设置超时时间等。在超时时间内,session内保存的信息均可以通过同一个cookie获得。 1234this.ctx.session.user_info = { name: 'test', age: 10}; 配置超时时间等信息,在/config/config.default.js中添加以下 ...阅读全文 »
plantuml笔记 发表于 2020-04-22 更新于 2023-10-15 Valine: 本文字数: 186 阅读时长 ≈ 1 分钟一、语法1. 主题 存在两种语法,theme和skin 12345@startuml' 老版plantuml主题skin rose...@enduml 1234@startuml!theme bluegray...@enduml 踩坑记和小技巧1. 显示转义字符类似_和*这类字符,plantuml会转义成相应的下划线、加粗等。想要不进行转义,可以前面加~ 2. 在线画图展示在线画图阅读全文 »
安全编码专项笔记 发表于 2020-04-03 更新于 2023-10-15 分类于 Program , Common Valine: 本文字数: 1k 阅读时长 ≈ 1 分钟本帖主要记录安全编码需要注意的一些东西,后续可能补充一些案例 一、注意项1. 设计相关1.1. 系统设计1. 服务开放 所有新增服务需要考虑按需开放,如果没有使用或者配置没有开启,就不要让服务运行,并且把端口用防火墙关闭 所有端口封锁,仅需要开的端口才打开 ssh连接不要一直开放,最好设置某些规则后才能连接 不要相信客户端,最好有一个ssl双向认证的机制,在某个可信的连接将证书下发,后续连接校验此 ...阅读全文 »
windows命令行记录 发表于 2020-03-18 更新于 2024-09-24 分类于 Program , Shell Valine: 本文字数: 20k 阅读时长 ≈ 18 分钟一、bat 脚本1. 一些基本语法1.1. 变量123456:: 声明变量set test_var="":: 变量赋值set /p test_var="aaa":: 文件内容赋值给变量set /p test_var=<D:\path\to\file.txt 其他123456789101112131415REM 这是注释:: 这是注释:: 打印环境变量e ...阅读全文 »
php学习笔记 发表于 2019-12-11 更新于 2024-01-09 分类于 Program , Web Valine: 本文字数: 4.3k 阅读时长 ≈ 4 分钟语法官方文档 内置定义常量字符串常量12345file_put_contents("xxx", "xxx" . PHP_EOL); // PHP_EOL根据系统决定的/r/n还是/n换行符// 同C一样有行数函数和文件的定义file_put_contents("xxx", "xxx" . __LINE__);file_ ...阅读全文 »
sqlite学习笔记(C语言) 发表于 2019-09-18 更新于 2023-10-15 分类于 Program , C/C++ Valine: 本文字数: 271 阅读时长 ≈ 1 分钟sqlite3函数sqlite3_snprintf12345678/* * sqlite3自带的防sql注入的snprintf * @param size 字符串最大大小 * @param str 打印输出字符串 * @param fmt 打印格式 * @return 字符串首地址,创建成功;NULL,失败 */SQLITE_API char *sqlite3_snprintf(int size, ...阅读全文 »