自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

El Psy Congroo

写自己想写的东西。GitHub: https://github.com/xfgryujk

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

原创 微博登录和session恢复过程

很多微博登录的源码24小时后session失效不能恢复,所以自己研究了一下恢复的流程

2019-04-24 19:58:19 986 2

原创 51单片机播放音乐(三):PWM播放任意波形

51单片机播放音乐(三):PWM播放任意波形原理PWM仿真电路图音频文件转成PWM代码单片机代码仿真输出波形本文完整源码原理PWM详细的参考这篇文章,这里简单说一下脉冲宽度调制(PWM)的基本原理是冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同,低频段非常接近,仅在高频段略有差异。这样,输出频率相同占空比...

2018-11-25 12:55:37 6059 7

原创 51单片机播放音乐(二):DA转换播放任意波形

51单片机播放音乐(二):DA转换播放任意波形原理DA转换器仿真电路图音频文件转成C语言数组代码单片机代码仿真输出波形本文完整源码用数字信号带动蜂鸣器同一时间只能发出一种频率的声音,也没有和弦,会比较难听。而我们听到的音乐可以表示成任意波形的模拟信号,所以需要用DA转换器输出模拟信号原理DA转换器这是DA转换芯片DAC0832的原理图,这种DA转换电路叫R-2R倒T形电阻网络,其中切...

2018-11-22 22:47:14 2992 3

原创 51单片机播放音乐(一):蜂鸣器

51单片机播放音乐(一):蜂鸣器原理蜂鸣器乐谱转成循环次数单片机代码仿真电路图本文完整源码原理蜂鸣器蜂鸣器分为有(震动)源的和无源的,有源的无法控制频率,所以用无源的才能播放音乐。无源蜂鸣器需要自己控制输入变化的信号才能发声,最简单的就是输入方波信号了,通过单片机控制方波的频率就能发出不同音调的声音这是发出50%占空比方波的代码:int i;while (1) { for (i =...

2018-11-20 21:38:52 21776 8

原创 将洛奇的MML乐谱转为beep(蜂鸣器)乐谱

将洛奇的MML乐谱转为beep(蜂鸣器)乐谱转换器制作音高频率表词法分析、语法分析token转换为beep谱用法使用C++播放最近对蜂鸣器音乐感兴趣,但是找不到乐谱,于是想把其他乐谱转为蜂鸣器乐谱。直接用MIDI转换很困难,因为MIDI一个音轨可以同时发出不同的音,所以我想到了用以前玩过的游戏中的乐谱(MML乐谱参考)本文完整源码转换器制作音高频率表首先要知道每个音高对应的频率,按照十二...

2018-11-18 13:52:17 2890 2

原创 无DLL,直接将整个EXE注入其他进程

注入代码的方式比较注入shellcode优点: 1. 简单,只需要EXE的一部分。代码可以用C\C++或汇编写缺点: 1. 要写位置无关代码,这意味着不能直接使用全局变量、其他编译单元的函数(包括CRT的memcpy)、API等。如果要使用则要由源进程分配空间、计算API在目标进程的地址,并传到目标进程的shellcode。或者shellcode自己计算LoadLibrary和Ge...

2018-08-02 16:38:00 4876

原创 C++模板取函数参数类型和返回值类型的方法

假设要利用模板元编程获取位于index的参数的类型:template<int index, class FuntionType>struct ArgTypeAt{ // FuntionType的返回值类型和参数类型?};int f(int, short, float);static_assert(is_same_v<decltype(f), int(int...

2018-08-02 11:53:28 4875 7

原创 写一个微博上传图片自动加密解密工具

微博的和谐太厉害了,有时候发色图加了反色还是会被和谐,于是我就想写一个简单的程序用来自动加密解密图片GitHub 库在这里:weibo-img-crypto添加加密解密处理加密我的目的是在上传图片时自动加密,但是上传时的处理函数是在闭包里的,JS 好像没有办法访问闭包里没有导出的东西,所以无法动手脚。经过逆向分析,微博上传图片时调用了 FileReader.readAsData...

2018-07-15 22:58:11 2943 4

原创 Python实现一个强大的配置库

应用程序经常要读取配置文件,还要验证输入是否有效、没有配置时使用默认值,于是我就想怎么简化这一流程文件格式首先为了方便用户直接改写,文件格式一定要是可读的。Python 标准库里可以读写可读配置的库有 configparser(ini文件)、json、xml,其中 ini、xml 文件不分类型,读取到的都是字符串,所以选择了 json。不过 json 有个缺点就是不支持注释,可以忽略这个缺...

2018-07-05 12:39:42 987

原创 Python协程的底层实现

生成器协程的核心就是上下文切换,在Python中最简单的实现是用生成器生成器有个方法 send() 可以从调用者向生成器函数发送数据,这样就可以在生成器中 yield future 表示要等待 future 的结果,然后把上下文切换到调用者,等 future 结果准备好后调用者再 send(future.result()) 给生成器发送结果,并把上下文切换到生成器函数def gener...

2018-06-29 14:13:57 4494 1

原创 可靠性数据分析教程总结

常见的可靠性指标及其概率解释失效分布和平均寿命剩余寿命具有年龄t的产品从t开始继续使用下去直到失效为止所经历的时间,记为ξtξt\xi_tFt(x)=P(ξt⩽x)=P(ξ⩽t+x|ξ>t)=F(t+x)−F(t)1−F(x)Ft(x)=P(ξt⩽x)=P(ξ⩽t+x|ξ>t)=F(t+x)−F(t)1−F(x)\begin{aligned}F_t(x)...

2018-06-19 18:38:37 5652

原创 HTML5 Canvas实现自动换行和竖排文本

Canvas的渣渣API不支持自动换行和竖排,找了一下没有满意的解决方案,只好自己写一个了。方法1:根据文字尺寸计算在哪换行// 画个框用来调试const DEBUG = true// 画文本,支持多行、自动换行、竖排文字function drawText (ctx, text, x, y, width, height, hasStroke = false, isVerti...

2018-05-27 23:24:27 7018

原创 为了方便在微博上看小黄图,我写了一段JS

微博上有些博主喜欢在发色图时反色防止和谐,但是我又懒得打开PS,于是就想到了用JS自动将图片反色(JS是真的能为所欲为的)图片处理就用Canvas操作图片数据,把RGB取反就完事了。这里涉及到跨域,还好微博的图床是允许主站CORS的最后为了操作简单,就监听了打开右键菜单的事件,这样在图片上按一下右键就可以反色了。Chrome里Ctrl + Shift + J,把下面代码输入到控制台...

2018-05-18 13:58:29 41545 1

原创 获取bilibili直播弹幕的WebSocket协议

我已经写成了Python版弹幕客户端连接首先URL中的ID和真正的房间ID不一样,要先请求https://api.live.bilibili.com/room/v1/Room/room_init?id=URL中的ID获取房间ID。返回的是JSON数据,['data']['room_id']就是真正的房间ID然后用WebSocket连接wss://broadcastlv.chat.b...

2018-05-14 11:22:30 15232 22

原创 纯JS实现在前端制作GIF表情包的网站

在线制作沙雕图 源码受到在线生成Sorry动图的启发,也想做一个表情包制作网站。不过这个网站是在后端生成GIF,我觉得这种小程序直接在前端实现就好了,找了一下还真有制作GIF的JS库:omggif和gif.js。解码模板GIF用omggif:import omggif from 'omggif'// response由XHR请求GIF图片得到gifReader = n...

2018-04-11 00:02:56 6181 13

原创 tflearn的VocabularyProcessor用法:建立中文词汇表和把文本转为词ID序列

# -*- coding: utf-8 -*-from hanziconv import HanziConvfrom jieba import cutfrom tflearn.data_utils import VocabularyProcessorDOCUMENTS = [ '这是一条测试1', '这是一条测试2', '这是一条测试3', '这是其他测...

2018-03-21 12:28:51 6752

原创 tflearn 基于循环神经网络(LSTM)计算文本情感值

修改自官方教程对于中文文本,可以先用hanziconv把繁体转简体,英文转小写,再用结巴分词把句子转成词序列,根据词汇表转成词ID序列这个模型我用来分类淘宝的好评、差评,正确率达到了88.7%# -*- coding: utf-8 -*-"""tflearn教程,用LSTM循环神经网络分类文本https://github.com/tflearn/tflearn/blob/m...

2018-03-20 23:35:20 1231

原创 关于tflearn同时载入多个模型时错误

tflearn同时载入多个模型时会报错:tensorflow.python.framework.errors_impl.NotFoundError: Key XXX not found in checkpoint,大概是某些变量名冲突了解决方法from tensorflow import reset_default_graph,创建网络结构之前都要调用reset_default_graph...

2018-03-18 00:23:18 1163

原创 pip TypeError: parse() got an unexpected keyword argument 'transport_encoding'

pip install突然出现了这个错误:TypeError: parse() got an unexpected keyword argument 'transport_encoding',其实这是tensorflow的坑,装tensorflow时自动把新版的html5lib卸载了,换成了旧版的html5lib-0.9999999解决方法装上新版的html5lib即可。不过此时应该不...

2018-03-11 16:55:57 537

原创 C++/CLI实现inline hook .NET程序

hook .NET程序的难点在于.NET程序都是JIT临时编译的,函数的地址不确定。我翻了一下MSDN,发现可以用RuntimeMethodHandle的GetFunctionPointer获取编译后的函数地址,于是用C++/CLI调用.NET的反射和GetFunctionPointer就可以实现hook了

2018-01-13 20:10:46 1881 1

原创 如何理解离散傅里叶变换

解释了DFT做了什么和频谱泄露等常见现象

2017-12-26 21:04:46 3243

原创 Python将图片写到音频频谱

用到的库:pillow、numpy、matplotlib源码GitHub# -*- coding: utf-8 -*-import waveimport matplotlib.pyplot as pltimport numpy as npfrom PIL import Imagefrom matplotlib.mlab import window_nonedef img...

2017-12-21 23:12:04 2164

原创 用BASS库重采样音频

改变音频采样率

2017-11-19 21:08:46 842 3

原创 关于用vector管理CImage时遇到的坑

假设有一个类A,里面有一个CImage。如果用vector储存,erase前面的元素后,后面的CImage就无法使用,会报ATLASSERT( hBitmap == m_hBitmap );检查失败

2017-11-04 12:17:40 1053

原创 用Scrapy和Selenium+PhantomJS爬淘宝评论

总之就是爬淘宝评论啦

2017-10-22 16:38:51 2507

原创 用Scrapy爬动画列表

技术宅是如何补番的

2017-10-01 15:25:01 604

原创 C/C++的编码转换

本来以为转码只能用第三方库或者API的,没想到标准库也带了转码的函数

2017-09-09 11:55:11 1847

原创 东方文花帖无敌修改器制作思路

有人问到像文花帖这样没有残机数,一死就重置的游戏怎么做无敌功能,我想了下好像没有什么好办法,不过凭着前作的经验可以先找到玩家指针,然后找到玩家逻辑函数,看出玩家状态偏移量,就可以找到miss函数了

2017-08-26 23:39:20 1300

原创 东方天空璋修改器相关地址

无敌、无限bomb、满power、全屏擦弹、秒杀

2017-08-26 12:43:27 2263

原创 手动加载DLL(PE文件)

以前学重载内核时学到了手动加载一个PE文件,想在Ring3层也实现一遍,不过在GitHub上看到有现成的源码了就不自己写了。本篇文章就分析一下这个mmLoader,看看怎么实现手动加载PE文件

2017-04-30 21:28:00 3480

原创 C++11实现生产者消费者模式

并发编程中,数据产生和数据处理在不同的线程,这些线程传递数据常用的就是生产者消费者模式。以下是模仿Java的BlockingQueue实现的生产者消费者模式

2017-04-29 16:57:24 2888

原创 C++模板实现单例模式

单例模式的代码重复率太高,所以我就用模板来实现,提高了代码复用率

2017-04-06 21:54:36 1704 1

原创 C++11实现观察者模式

C++11中的std::function可以接受函数指针、std::bind、lambda表达式等函数,可以达到很松的耦合,简直就是为事件机制设计的

2017-04-06 21:23:37 2044 3

原创 游戏修改器制作教程四:用API读写内存

上一章讲了用CE读写内存,本章讲如何自己编程实现本文以制作东方辉针城修改器的实战讲解读写内存

2017-04-01 19:52:37 8719 2

原创 Minecraft的爆炸算法

MC中的爆炸其实挺科学的,在空中爆炸冲击波传得远,破坏范围比较大;在地面爆炸破坏范围小但是破坏深度较深

2017-04-01 13:40:09 2020

原创 Minecraft的世界生成过程(七)矿物和树

目前的世界是不是还少了点什么——没有树、矿石怎么致富!本篇应该是最后一篇了,研究下树和矿石之类的点缀的生成

2017-04-01 00:08:50 3058

原创 Minecraft的世界生成过程(六)村庄

本篇内容是生成村庄,生成其他建筑的过程也差不多就不研究了(代码太多也研究不完)

2017-04-01 00:06:49 3439

原创 Minecraft的世界生成过程(五)洞穴

有了地形接下来该生成结构和建筑了,由于这部分代码很长,本篇只研究生成洞穴

2017-03-28 16:29:20 1827 4

原创 Minecraft的世界生成过程(四)地表

本篇内容是生成起伏的地表和生物群系,这部分应该是MC中的世界看上去变化多端的重点了

2017-03-23 10:23:43 2336 2

原创 Minecraft的世界生成过程(三)噪声函数

接下来的地形生成代码会接触到噪声函数,所以本篇内容就先逆向MC的噪声函数吧

2017-03-20 20:31:14 4680

东方永夜抄修改器

供STG新手练习用,附VB源码......

2011-11-10

DLL函数查看器2.0

DLL函数查看....................

2011-11-07

百度贴吧postor_v2源码

整理好缩进方便阅读!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2011-09-11

空空如也

空空如也

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

TA关注的人 TA的粉丝

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