- 博客(22)
- 资源 (11)
- 收藏
- 关注
原创 BrainFuck 语言的Python3实现,支持Ook扩展
BrainFuck是由Urban Müller在1993年创建的,最小的具有图灵完备性的语言。一共由8种运算符组成,其编译器长度只有两百多个字节。
2024-09-18 20:37:07
389
1
原创 CTF 逆向题之 Bwarm
这个题本次攻防大赛的热身题,难度不算太大,坑就坑在是vmp壳,好吧今天把这个硬骨头啃了吧 : )首先,还是查壳,没啥说的 vmp2.0.7根据vmp系列脱壳教程,这个壳是1.8以上的方案进行脱壳。先拖入OD,下一个API断点 VirtualProtect (教程建议是下硬件断点,可能是我的OD有问题,硬件断点断不下来,只能是F2断点了 T_T)然后F9开始...
2019-09-11 14:41:15
1774
原创 CTF 逆向题 shy
这个题目是攻防大赛的逆向题,是upx的壳,由于当时手头的工具无法脱壳,所以这题也就跳过了。经过学习了手工脱壳后,感觉可以拿这个题练练手,顺便写一个writeup。 首先查壳,丢到ExeinfoPE里面看一下,确定是upx壳于是丢到OD里面进行脱壳处理,由于是压缩壳,跟踪起来比较麻烦,我选择了个偷懒的办法,下一个api访问断点即:VirtualProtect ...
2019-09-09 11:25:36
2323
3
原创 CTF 逆向之MD5短爆破
参加了集团公司的网络攻防大赛后,有道逆向里面的jungle.exe这个题,很有意思。于是想挑战一下。首先查壳,丢到exeinfope里面一看,发现是asp的壳。于是用手头的asp脱壳工具尝试脱壳,发现都不行,不是不支持就是报错!没办法,只能老实手工脱壳了。根据ESP定律+IAT修复+重定向表修复后,脱壳的程序可以正常运行。用OD载入后,开始单步跟踪到用户输...
2019-09-08 15:02:53
3385
1
原创 VB类对象序列化与反序列化
'序列化类对象为二进制流Public Function ObjectToBinary(ByVal KeyName As String, Obj As Object) As Byte() Dim Byt() As Byte Dim objBag As New PropertyBag If Obj Is Nothing Or Len(KeyName) = 0 Then Ex...
2019-03-17 10:37:53
1689
转载 atoi函数gcc代码实现
最近学习进制转换,发现itoa不是标准的C函数,gcc不支持,网上找了一下,发现有人贴出了代码,不过显示有乱码,改进后正常显示转换了。 #include <stdio.h>void itoa(unsigned long val, char *buf, unsigned radix){ char *p; /* pointer t...
2018-11-25 11:04:03
537
转载 控制台显示图片
#include <stdlib.h>#include <conio.h>#include <windows.h>#pragma comment(lib,"user32")#pragma comment(lib,"gdi32")extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow();void Go..
2018-11-21 22:07:45
3222
翻译 Python NTP时间同步
# synctime.pyimport socketimport ctypesimport time,win32api#定义NTP数据包结构体class NTP_Packet(ctypes.Structure): _fields_=[ ('Control_Word',ctypes.c_int), ('root_delay',ctypes.c_int...
2018-06-30 16:06:04
3454
原创 Python PyQt4 文字朗读演示代码
from PyQt4 import QtGuifrom PyQt4 import QtCore import sysg_edit = None #全局编辑框def btnClicked(self): value = g_edit.toPlainText() #获取编辑框内容QString str =[unichr(value.at(i).unicode()) for...
2018-04-28 14:37:10
504
原创 Python读取Unicode文本
#coding=utf-8'''最近需要操作txt格式文档,用原本的文本读取方式不成功,于是搜索了一下找到原因。需要读取的目录下的文件有两种编码方式,一种是ANSI,另外一种是Unicode,但是Unicode的存储方式有UTF-8,UTF-16等,UTF即为Unicode Translation Format,就是把Unicode转做某种格式的意思。读取Unicode编码方式的文本时需...
2018-03-16 07:54:28
6544
原创 C++ string字符串分割成一个数组
C++的string类型可以很方便的操作字符串,但是在使用中发现不支持Split,为了满足使用的需要,我自己写了一个分割函数#include <string>#include <vector>using std::string; //使用string对象using std::vector; //使用vector//字符串分割到数组void Split(cons...
2018-02-10 13:27:34
8901
原创 windows网络编程之select模型(改进)
最近重温一下windows的网络模型(windows网络与通信程序设计),发现大多数的select模型都会做一个遍历,然后处理对应的数据。里面提到了一点:(2)将fdSocket 集合的拷贝fdRead 传递给select 函数,当有事件发生时,select 函数移除fdRead 集合中没有未决I/O 操作的套接字句柄,然后返回。 值得注意的是:select 函数移除fdRead
2017-08-02 09:53:44
514
原创 CodeBlocks与C-Free使用VC的静态库
CodeBlocks与C_Free在使用GNU GCC 编译器时统一使用的是linux的格式即为.a格式,而VC使用的为.lib格式,找了这方面的相关资料在 gcc g++ 怎样调用vc的 .lib库文件 帖子里面有介绍,为了方便大家实际操作,故写下这篇文章 ^_^ 有兴趣的朋友可以参考。 1、 CodeBlocks 下使用VC的lib库 首先,我们需要建立一个工程,取名随意(
2017-07-20 09:02:33
1192
原创 c++字符串与任意类型数据拼接
C++的string类非常好用,不过跟VB比起来有些不足的就是VB支持任意类型数据拼接在一起,比如: 123 & “abc” & “56” & 111 (&为拼接操作符),为了解决这个问题,我们重载一下&运算符,让C++的string类也支持这个操作。#include #include #include using namespace std;template string ope
2017-06-21 13:29:36
3590
原创 C++表达式解析(更新支持gcc)
最近学习C++的字符串使用,突然想起了通过解析字符串实现计算任意表达式。C++主流的解析方式就是使用stack进行数据解析,无意间发现一篇通过递归的方式进行表达式解析的帖子,算法确实很赞 (原贴地址:【算法分享】纯VB解析四则运算文字表达式。支持任意个数括号嵌套 )那么动手吧,于是我按照作者的代码设计思路,移植成C++代码,使用VC6.0进行编译测试,效果良好。用到的知识点也不少,包含了STL的s
2017-06-21 08:14:49
2657
1
转载 VC控制台内存泄露检查机制
在VC中,基于MFC框架的应用程序由模板生成时,已经自动添加了内存泄漏自动检测功能。当你的程序有内存泄漏,在Debug调式模式下运行就会在vc的输出窗口里显示出来,非常方便我检查程序漏洞。但是当我写一些测试程序时,往往喜欢用控制台程序来编写,但是控制台程序不会自动添加内存泄漏自动检测功能。我在网上搜索了下,找到了添加的方法,经过我的整理把他写出来,希望对我们都有用!第一步:在程序里定下一下
2017-06-13 11:21:34
589
原创 C++智能指针实现及改进
最近研究了一些智能指针的实现,基本都是基于引用计数的。但是网上的代码基本有同一个问题就是重复析构。如:C++面试题(四)——智能指针的原理和实现 和 C++中智能指针的工作原理和简单实现 都是这样的问题,用测试代码:int main() { int *p=new int(2); SmartPointer p1=p; SmartPointer p2=p; SmartPo
2017-06-12 15:23:09
518
原创 stat获取大于2G的文件
最近研究模拟linux下的tree命令,增加了一个文件大小统计的功能,发现stat获取超过2G的文件后返回的大小为0,解决这个问题其实也简单,采用64位的函数即可。 #include //获取文件大小__int64 FileLen(char* filepath){ struct _stati64 statbuf; int ret; ret = _stati64(fi
2017-06-10 10:13:15
1915
原创 C_Free5 使用C++11标准小记及单步调试异常问题
为了方便练手,安装了C_Free5和TDM-GCC-5.1.0版本的GCC编译器。挂接了对应的目录后,开始编程之旅。听过GCC从4.7开始支持C11标准,于是写了个测试代码验证一下,结果报错了,提示要加入编译参数-std=c++11 。方法如下:在C-free的 构建->构建选项 里面,切换到 命令 选项卡,然后点击 附加动作边上的命令 选项卡,在 C Compiler 的命令行里面改为:
2017-06-06 14:23:01
1860
转载 C_Free5使用VC6.0编译器配置完成后出现无法构建的问题
按照C_Free5的规范把对应的目录设置完成后,新建代码文件,点击编译出现了:--------------------配置: Microsoft VC6.0 - CUI Debug, 编译器类型: Microsoft C++ Compiler--------------------检查文件依赖性...正在编译 D:\My Documents\C-Free\Temp\未命名1
2017-06-05 10:15:24
3365
转载 C++ __int64的printf用法
在做数据通信的项目中,由于服务器长期运行产生的数据通信的字节不断增加,正常的数据类型的大小已经不能满足要求了。long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647。而unsigned范围是[0,2^32),即0~4294967295。也就 是说,常规的32位整数只能够处理40亿以下 的数。 那遇 到比40亿要大的数怎么办呢?这时
2016-12-08 09:14:23
12110
原创 C-Free 编译链接lib 出现错误的解决方案
为了方便学习C语言,选择了国产的IDE C-Free5进行C程序的开发测试。由于只学过皮毛,所以一直苦于不能解决lib库报错的问题,后来看了"橘哥"的一片博文关于“Mingw编译带lib的c代码出现cannot find 错误的解决”,里面提到了在Linker(CUI)里面的 -l(Libs) 去掉-l后就能通过编译,亲测可行,但是总觉得不是最好的答案。 于是又看了些在linux
2016-11-22 15:45:43
3315
1
内网渗透的利器,原版作者已经下架,有需要的自己下载吧,内附简单使用说明
2022-10-02
VS下格式化代码插件AStyle
2017-07-20
C-Free5 代码格式化工具Astyle
2017-06-09
dbg调试工具包
2017-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人