自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 编程思想

关于编程思想,自我从业以来认识过的几大编程思想,面向过程编程,面向对象编程,函数式编程,命令式编程。首先来讲讲面向过程编程,应该繁荣发在在C语言时期,即把要解决的问题或功能,拆分成每一个个的小过程,然后将所有的过程串联起来,这样做的好处是直接面向如何解决问题,并且灵活性高,过程中需要哪些就是用,组合哪些,坏处是当系统复杂起来之后,整个过程也变得非常复杂,不利于维护和扩展。面向对象编程,是把数据,属性和行为封装成对象,对象可以实现属性和方法的继承,对象提供的某个方法可以有多种形式,即最重要的思想还是封

2020-06-19 23:50:29 463

原创 dvwa第六题:cross site script(xss)

overview:跨站脚本攻击也是注入攻击的一种,他将恶意脚本代码注入到原本良好的被信任的网站代码。攻击者利用web应用来发送恶意代码,通常以一个浏览器端脚本的方式,来呈现给不同的终端用户。该缺陷非常普遍使得xss攻击成功,当一个web应用使用来自客户端的输入,而且并没有做任何检验和编码时。可以使用xss来发送一个恶意脚本给不知情的用户,终端浏览器无法知道该脚本是不可被信任的,并执行了它。...

2020-02-17 23:00:38 235

原创 dvwa第五题:cross site request forgery

跨站请求伪造csrf是一种诱导获得身份认证的终端用户执行一个他意想不到的动作的方法,在一个web应用程序。他可以用来指定一个特定的状态改变请求,而不是盗取数据,因为无法获得请求返回的数据。攻击者可以利用社会(社交)工程学,比如发送一个email链接或者聊天,来欺骗受害者执行他们想要的动作。大多数框架具有内置的CSRF支持,例如Joomla,Spring,Struts,Ruby on...

2020-02-14 15:09:36 477

原创 dvwa第四题:command Injection

当一个功能程序需要执行系统命令(system(),exec()),而且提供了用户输入入口时,则可能存在命令行输入。命令行注入可用于通过主机操作系统上的易受攻击程序来执行任意命令。命令行注入是可行的,当应用程序拿到一个用户数据并没有对它做安全性检查(比如表单,cookies,http头信息)到system shell,攻击方通过一个具有高级别权限的应用程序来运行系统命令,命令注入攻击可能很...

2020-02-12 11:26:13 263

原创 dvwa第三题:brute force

暴力破解,没什么好说的,就是无脑枚举尝试,优化点在于字典本身,或者能提前知道一些信息,优化字典,要防御也很容易。dvwa的两个等级都可以通过burp suite的intruder读入字典来爆破,high级别因为加了Anti-CSRF token防御机制,user_token需要每次都更新,所以需要写另外的脚本实现。另外是Hydra密码攻击工具,可支持AFP, Cisco AAA, C...

2020-02-09 23:59:35 173

原创 dvwa第二题:SQL Injection(Blind)

---level: low---1.采用bool法(猜具体数据采用二分法)-- table counthttp://192.168.43.140/vulnerabilities/sqli_blind/?id=1%27%20and%20(select%20count(table_name)%20from%20information_schema.tables%20where%20table_...

2020-02-08 17:50:44 646

原创 dvwa第一题:SQL Injection

---level: low---该级别的网页会把服务器报错信息和查询数据显示出来。#寻找注入点http://localhost/vulnerabilities/sqli/?id=1http://localhost/vulnerabilities/sqli/?id=1'http://localhost/vulnerabilities/sqli/?id=1' and 1=1ht...

2020-02-08 17:45:32 275

原创 umeng统计接入问题:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/umeng/analytics/MobclickAgent

在接入umeng时,代码没有报错,但启动应用闪退,报java.lang.NoClassDefFoundError: Failed resolution of: Lcom/umeng/analytics/MobclickAgent错误,原因是因为jar包没有编译进去,在gradle文件中,*.jar是provided。需要在project structure中Dependencies把include...

2018-05-19 12:03:48 6915 2

转载 lua sort 的快排边界值的问题

Lua 自己实现排序sort比较方法,抛出错误invalid order function for sorting明天新功能就要上了,结果刚刚突然QA说项目抛出了错误。握草,吓得立马出了一身汗。查了一下错误,发现可能是自己写的不稳定排序造成的。自己感觉应该就是。把排序方法写成稳定的之后,代码分离编译进手机,跑了一下木有错误了。脑残的自己为何要对服务器传过来的有序数据进行排序呢?脑抽不明

2016-11-02 23:19:29 1828

原创 关于消息协议的包头设计

通常消息头部会有一个标示长度的字段,但这会变成被攻击的一个漏洞。取自skynet的blog:另外,采用 4 字节的包长度还有一个安全漏洞,可能被攻击利用。一般的分割包的代码,在收到包头时,都会根据长度信息预先分配出相当长的空间,等着后面的数据达到后填入。如果攻击者不断在新建立的连接上发送一个恶意的长度信息,比如 2G ,服务器内存很容易被快速消耗光。早期 skyne

2015-11-28 13:09:28 582

转载 sscanf,sscanf_s及其相关用法及差别

#include 定义函数 int sscanf (const char *str,const char * format,........);函数说明  sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中

2014-10-26 22:35:51 1152

转载 cygwin编译cocos项目报错:make: *** No rule to make target 。。xxx.o'. stop 解决

在eclipse中编译cocos2d-x的项目可能出现这个问题。也许是你对项目没有clean,然后就让他编译造成的。 具体错误可能显示为:make: *** No rule to make target `/cygdrive/d/android/cocos2d-x-master/T12/proj.android/../../cocos2dx/CCConfiguration.

2014-06-18 22:59:37 2322

转载 cocos2dx多分辨率适配解析

Cocos2d-x 多分辨率适配完全解析从Cocos2d-x 2.0.4开始,Cocos2d-x提出了自己的多分辨率支持方案,废弃了之前的retina相关设置接口,提出了design resolution概念。有以下相关接口:CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //设计分辨率大小及模式CCD

2014-04-21 11:24:30 541

转载 svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted

svn提交遇到恶心的问题,可能是因为上次cleanup中断后,进入死循环了。错误如下: 解决方法:清空svn的队列1.下载sqlite3.exe   2.找到你项目的.svn文件,查看是否存在wc.db3.将sqlite3.exe放到.svn的同级目录4.启动cmd执行sqlite3 .svn/wc.db "select * from

2014-04-15 18:58:58 493

转载 cocos2d-x-2.2.3和vs2012环境配置

cocos2d-x真是个好东西,以前一直想学,总觉得C++自己搞不来,真后悔最近才开始。一平台编译,多平台运行,是在是诱惑人,如果学习好,就不用羡慕别人华丽的游戏了。既然是新手,一定要从最基本的环境开始,虽然网络上有很多的搭建教程,但多数都是基于旧版本,很多配置都不一样,对新手来说着实痛苦,多翻查询,零零碎碎的拼起来第一篇学习笔记,记录一下吧       本篇是基于cocos2d-x-2.

2014-04-10 15:36:36 732

转载 Windows下python环境变量配置

默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。 1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:(为了在命令行模式下运行Python命令,需要将python.exe所在的

2014-04-10 15:28:55 391

原创 cocos2dx之适配章

一.文件资源路径适配c

2014-04-09 12:21:09 483

转载 控制符号的可见性

在普通的C语言中,如果您希望将函数或者变量限制在当前文件中,需要对其使用static关键字。然而,在一个包含很多文件的共享库中,如果您希望某个符号可以被共享库内部的几个文件访问,而又不提供给外部,则对符号进行隐藏处理就会比较困难。大多数的连接器都提供一些便利的方法来隐藏或者显示模块中所有的符号,但如果希望更加具有选择性,则需要更多的处理。    在Mac OS X v10.4之前,有两种机

2014-03-03 22:25:47 1676

转载 cocos2d-x与ISO内存管理

之前项目一直在IPAD2上测试,一直很流畅。后来拿到ITOUCH上的时候,瞬间就崩了。用XCODE的内存分析工具分析,内存都快飙到200M了。。。。经过一番折腾以后,终于控制在80M以内。下边就写写折腾过程中遇到的问题。一,IOS与图片内存在IOS上,图片会被自动缩放到2的N次方大小。比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的。图片占用内存大

2014-01-17 21:49:58 594

原创 Hacker delight

将一个字的最右侧为1的位改成0x&(x-1)检测一个无符号整数是否为2的幂x&(x+1)解析出一个字的最右侧的1位(1010100 >> 0000100)x&(-x)解析出一个字的最右侧的0位(1010111 >> 0001000 )-x&(x-1)使一个字向右传播最右侧的1位x|(x-1)使一个字的最右侧连续的1

2014-01-07 22:53:25 724

原创 irrlicht

TerrainSceneNode:irrlicht采用LOD地形结构管理,该图把高度图分割成n*n个patch,每个patch根据其patch所在的上下左右的patch的LOD值(比较与临块的lod值,),再细分,得到该patch进入渲染的定点和索引

2013-12-31 14:34:17 580

原创 深度探索c++对象模型

2.1什么情况下编译器需要自己合成 default constructor?除了对象所含nonstatic data member,比如基本类型,指针等,都需要合成default constructor。

2013-11-24 10:38:59 512

原创 cocos2dx TouchDispatcher

touch分发器:在Layer::onEnter中设置setTouchEnabled之前,需要设置TouchMode,区别是调用ccTouchBegan(CCTouch* touch, CCEvent* event)与ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);或者在Layer中重载registerWithTouchDispatch

2013-11-16 12:44:40 682

原创 cocos2dx渲染流程

1.node调用autorelease时候,2.CCPoolManager获取当前的自动释放池CurReleasePool,当发现CurReleasePool为空,则调用push方法新生成一个CurReleasePool并压入自动释放池栈ReleasePoolStack,3.调用CurReleasePool的addobject方法,将自己加入CurReleasePool的一个object数

2013-11-06 00:10:06 600

原创 c++陷阱与进阶

1.  尽量不要给指针拷贝多份多处使用2. 单例模式注意多线程安全和编译器兼容...持续更新

2013-03-22 16:08:39 748

原创 CImage转换Gdiplus::Bitmap

Gdiplus::Bitmap* CImage2Image(const CImage* pImage ){if(!pImage)return NULL;Gdiplus::Bitmap* image = new Gdiplus::Bitmap( pImage->GetWidth(), pImage->GetHeight() );Gdiplus::Rect bound( 0

2013-02-05 11:16:27 3193

原创 利用二叉树解决表达式

看STL源码解析,突然想写一个编译器表达式树,写了一个晚上,只写完了解释树(杯具啊..),不过树既然写出来了,解析应该比较容易,不多解释了,看代码typedef struct node_{ int value; node_* leftChild; node_* rightChild; node_* parent; ntype type; node_():rightC

2012-11-13 01:23:07 599

原创 C++ 模板class与typename的区别

模板中,class与typename的差别:        在很多人看来,两者没有上门区别,但有的时候,必须使用typename,代码如下:templateclass MyIter{public: typedef T value_type; value_type *ptr; T& operator*()const{return *ptr;} MyIter(T *

2012-10-21 13:52:42 665

转载 改写版的tinyxml,HTML解析器

改写版的tinyxml,HTML解析器某个公司的笔试题要求提示用tinyxml解析HTML。文章开始前,先吐槽一下,哪里有多达几个月的笔试题啊~~我的时间很贵的,平常在公司,没钱我是从不加班的╮(╯▽╰)╭好了,现在开始本文……tinyxml只能解析XML,但是HTML却不一定遵守XML规范。具体表现在两方面:1、HTML中存在不成对出现的标签,例如:2、HTML中

2012-09-17 12:27:12 1087

原创 单进程静音

目前我知道的就只有:wave系列和dsounddsound的需要dx的支持, 而且在xp1会缺少某个dll.这里我说的是wave系列播放的音效静音, 比如flash, hook waveoutwrite, 然后把声音数据lpData置0, 注意lpData的长度,即可静音, 注意hook api的函数里面, 要把实际地址写回再调用waveoutwrite, 不然会死循环

2012-09-09 18:30:33 1236

原创 P2S、P2P、P2SP之对比

P2S、P2P、P2SP之对比一、下载原理分析         1、服务端下载技术(P2S):P2S下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protocol(超文本传输协议)与File Trans

2011-09-06 23:40:45 1264

转载 IOCP中的AcceptEx

接受连接请求服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一API就是AcceptEx()函数。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数

2011-09-06 22:18:05 677

转载 从内存启动进程

其实这篇帖子说原创有点牵强,毕竟无论是思路还是实现方法都是借鉴大牛公开的内容。前一阵子看了masepu大牛的编程免杀Poison Ivy远控那篇帖子,捣腾了下,感觉很有意思。于是就想,如果能够把其他的exe也照着这个思路做一遍,岂不是很好。当然实践证明我这个想法过于简单,中途走了不少弯路,不过幸运的是最终达成了目的。虽然方法有些折中,不够犀利。好,扯了半天这些有的没的,现在切入正题。主体思路其实就

2011-06-25 08:01:00 637

原创 lvalues(&)和rvalues(&&)

<br />    今天我要讲的是 rvalue references (右值引用),它能实现两件不同的事情: move 语意和完美转发。刚开始会觉得它们难以理解,因为需要区分 lvalues 和 rvalues ,而只有极少数 C++98/03 程序员对此非常熟悉。这篇文章会很长,因为我打算极其详尽地解释 rvalue references 的运作机制。<br />    不用害怕,使用 ravlue references 是很容易的,比听起来要容易得多。要在你的代码中实现 move semantics

2011-05-10 00:48:00 1110

原创 互斥变量内核对象的遗留问题

<br />互斥变量对象包含一个使用计数,一个线程ID,一个递归计数。它的行为和关键代码段一样,互斥变量是内核对象,关键段是用户模式下的同步对象。在这种情况下,等待资源的线程不得不由用户模式切换到内核模式,加大消耗,速度变慢。<br /> <br />互斥变量对象包含的一个线程ID是指当前拥有互斥变量对象的线程,这也是唯一一个会记住等待成功的线程ID的内核对象,当该ID为0时,互斥变量变为有信号状态。<br /> <br />在等待线程中,系统将该线程与互斥变量对象包含的线程ID对比,如果不一致则继续等待,

2011-03-23 22:07:00 473

原创 位图排序

位图排序算法

2011-03-20 21:36:00 398

原创 关于C++编程中字符与字符串的处理

一、Unicode标准:每个Unicode字符都是使用UTF-16编码,UTF-16将每个字符编码为2个字节,UTF-16在节省空间和简化编码之间提供了一个良好的折衷。ANSI标准:使用UTF-8编码,一个字符使用一个字节,占8位。c语言的char类型用来表示一个8位的ANSI字符。二、  WIndows系统与Unicode标准:自Windows NT起,Windows所有版本都采用Unicode标准,所有核心函数都采用Unicode字符串,如果调用一个函数传入的参数是ANSI字符串,那么函数会先将其转换冲

2011-02-12 00:27:00 877

csv导出工具3

csv导出工具

2015-10-27

csv导出工具2

csv导出工具2

2015-10-18

listview1

listview1

2015-10-13

COM_ATL 介绍

COM_ATL 介绍。。。。。。。。。。。。。。。。。。。。。

2011-06-20

VCWORK AND PRICATE

VCWORK AND PRICATEVCWORK AND PRICATE.............

2011-06-09

socketIocompletion

socketIocompletion.......................

2011-06-07

completionport

...............................................................

2011-06-02

空空如也

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

TA关注的人

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