- 博客(178)
- 资源 (44)
- 收藏
- 关注
原创 libcurl:https认证控制参数简介
在使用浏览器访问https链接时,浏览器会自动请求网站的安全证书,并进行证书校验,以及(使用证书)参与后续的通道加密逻辑。而使用curl(不管是curl.exe命令行工具,还是使用curllib库)请求https时,在curl的标准逻辑里面,它也会使用类似浏览器的流程,进行证书校验和加密,此时这个证书校验流程对于使用者来说,可能是需要定制的(譬如不校验,标准校验,甚至双向校验东等)。本文主要讨论通过设置libcurl的参数,来控制这个校验过程。
2023-07-19 10:08:38
1905
原创 SSO(单点登录)技术漫谈
回到Web1.0时代,这里有“世界上最好的语言”PHP,也有新贵JSP等等,每个企业都有大量的内部应用系统(譬如oa系统,hr系统,休假系统……),小的企业可能十几个应用,大的可能有成千上万个系统,而且很可能每个系统都还是不同的语言写的。在日常工作中,人类为了能进入各个系统,必须得通过帐号和密码进行登录验证(身份验证)后,才能获取到跟自己身份相符的信息。那么问题来了,这么多的系统,每个系统都搞一个密码的话,大多数用户都要记忆不少于10个用户名和相应密码。为了便于记忆,很多人都在不同的站点使用相同的……
2021-01-10 23:30:33
9384
1
原创 Win32位程序(64位系统)文件对话框的文件重定向问题
最近有客户反馈,使用我们提供的安全软件,在一些特殊场景(譬如信任文件),无法找到C:\Windows\System32下面一个指定的文件的文件(客户是想加白这个目录下面的一个文件)。收到反馈后,我们试验了下,发现真的有问题,不过初步判断应该就是x64系统上面的文件重定向问题(无法在文件对话框看到真正的c:\windows\system32下的子文件夹或者文件的原因是,被重定向到了c:\windows\syswow64下面,看到的都是这个目录下的文件和文件夹)。然而真正去解决的时候发现,bug比想象中难修复。
2020-04-18 17:13:45
8302
2
原创 高效能人士的七个习惯 - 读书笔记(XMind)
书籍推荐:《高效能人士的七个习惯》 ★★★★★此书放在案头已有多年,最开始是某位神秘人士(也就是我忘记是谁啦)推荐给我的,偶尔挑选几章来读,不成体系,最新学习时间管理,要事第一,又把此书读了一遍,发现其对工作,生活,事业等都具有极强的指导意义,并能从中学习到优秀的处世智慧和哲学,因此推荐给大家。从此书中你能感受到力量和信念,可以说,在成功学书籍里面,观止!另外,本书作者史蒂芬柯维的大石头理论也...
2019-01-23 20:27:03
12886
原创 Snort源代码编译 _ 采坑之旅(for Windows VS2015)
系统环境:Windows7 sp1 x64 编译环境:VS2015 SP1 Snort版本:2.9.12 daq版本:2.0.6 Snort官网:https://www.snort.org/downloads#snort-downloads背景 最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《...
2018-12-18 21:20:43
8717
3
原创 “×品宅配”无下限营销 - 定向社交欺诈
背景 相信很多业主群都遇到过类似下面的广告轰炸,而且清理不尽,隔一段时间又出现类似的广告营销,往往下面又有愤怒的邻居吵着群主赶紧“送机票”,给河蟹的业主群带来那么一点涟漪。之前一直不知道这批人到底是怎么进群的,最近,这件事情竟然TMD的发生在了我的家人身上,因此花了一点点时间来溯源追踪这些广告党到底是如何运作的。 溯源 1、为什么很难溯源? 2、为...
2018-10-08 22:11:18
7147
原创 C++ API设计 - 读书笔记(XMind)
这本书面向的是中高级C++软件工程师,作者是软件行业的一名老兵,拥有多个大型项目的设计和研发经验,在书中也详述了许多对个体开发者和开发组织都有帮助的研发模式和实践,甚至还探讨介绍了很多非技术性方面的问题。读完本书,获益匪浅。 ...
2018-08-06 20:30:02
7453
原创 一个基于WinHttp的轻量级的分片下载库介绍
作者:magictong日期:2018/04/09资源下载https://download.youkuaiyun.com/download/magictong/10370195 主要目的1、下载文件到内存。2、下载分片Range文件(譬如下载某个资源文件的第100字节到第150字节的内容)。3、不需要回调线程是UI线程(有消息循环)。 适用场景1、小文件全量下载(注:暂未支持断点续传)。2、分片文件下载(注:...
2018-04-24 11:40:24
7955
原创 内存工作设置(工作集)、提交大小概念简述
Windows7的任务管理器(以中文版为例)里面"进程"Tab页的列里面跟内存相关的展示项有7项(分页池和非页面缓冲池跟内核内存有关,暂不讨论),做软件工程师多年,大家真的懂任务管理器中这些内存相关的列吗?譬如什么工作集,专用工作集等等,另外像其它的一些常用工具,譬如ProcessExplorer里面可能又是叫Working Set,Private Bytes等等
2018-01-08 00:28:58
38585
1
原创 Tinyhttpd for Windows
TinyHTTPd是一个开源的简易学习型的HTTP服务器,项目主页在:http://tinyhttpd.sourceforge.net/,源代码下载:https://sourceforge.net/projects/tinyhttpd/,因为是学习型的代码,已经有好多年没更新了,也没什么更新必要,整个代码才500多行,10多个函数,对于学习HTTP服务器的原理来说非常有帮助,把代码读一遍,再按照执行处理流程调试一下,基本上可以搞清楚Web服务器在收到静态页面请求和CGI请求的一些基本处理逻辑。源代码的注释我
2016-11-17 15:48:19
16171
1
原创 VS2010每次调试都出现“此项目已经过期”提示
问题描述 最近因为项目需要,开发平台从VS2005切换成了VS2010,把一些老项目也转换到VS2010平台,因为是从低到高升级,微软还是做了很多兼容,基本上可以无缝切换,编译调试也基本正常,但是发现有些项目(尤其是比较大的项目),刚刚编译完毕,马上F5启动调试,发现VS2010会弹出下面的框,开始以为是自己手误,不小心改动了某个源文件导致,后来发现每次调试都提示,把"不再显示此对话框"勾上...
2016-10-25 20:54:50
83666
18
原创 MS Office2016留下的坑
背景 问题源自论坛用户反馈,他用管家有几年了,之前使用IE都很正常,没有任何问题,但是最近突然发现,启动IE时,就会出现系统错误提示:无法启动此程序,因为计算机中丢失 api-ms-win-core-path-l1-1-0.dll。尝试重新安装该程序以解决此问题。点确定之后,IE依然可以使用,但是中途或者新建Tab的时候可能还会弹出来。 看到这
2016-10-12 19:41:58
27883
原创 怎样写一个与Windows10 IE11兼容的标准BHO?
其实Windows8刚出来的时候写过一篇关于BHO怎么与Win8 x86下IE11(增强保护模式开启)兼容的文章(传送门:http://blog.youkuaiyun.com/magictong/article/details/21280243),本文主要讨论的问题是Windows10 x86 & x64(是的x64也包含了)下BHO与IE11(增强保护模式开启)兼容的问题。其方法和思路跟Windows8下是类似的,但是修改了一些实现方法,修复了之前那篇文章里面的bug,并且针对x64做了一些必要的处理,本文后面说到
2015-11-16 17:34:50
13060
1
翻译 为什么不要特化函数模版?
函数模版的全特化版本不参与函数重载解析,并且优先级低于函数基础模版参与匹配的原因是:C++标准委员会认为如果因为程序员随意写了一个函数模版的全特化版本,而使得原先的重载函数模板匹配结果发生改变(也就是改变了约定的重载解析规则)是不能接受的。函数模版的全特化到底是哪个函数基础模版的特化,需要参考可见原则,也就是说当特化版本声明时,它只可能特化的是当前编译单元已经定义的函数基础模版。鉴于上面两个原因,为何还要进行函数模版全特化把自己搞晕呢?!因为函数的全特化的版本和定义一个普通函数基本上一样,把模版声明去掉
2015-09-19 11:30:13
13630
原创 STL字符串常用方法扩展
前言STL作为一个标准模版库,很多容器和算法都是很实用的,接口也相对比较友好,而且在实现上也比较轻量级。相对boost来说,要轻量得多,相对loki来说,使用的模版语法不会那么晦涩难懂,基本还是能看的,相对ATL来说,功能要更通用。 但是STL里面的string,使用过的都知道,很多常用方法没有内置,导致每每使用都会想起CString和AtlString的强大来,而混用这些字符串对象,对于一个
2015-09-08 20:10:53
12336
原创 浮点数字符串转换成浮点数实现(2)
其实几年前实现过一个面试题版本的,参考:浮点数字符串转换成浮点数实现。 最近因为工作的关系又拿了出来,做了一些简单的修改,支持了前端空格处理,溢出检测等等,当然精度处理这个难度有点大,没有特殊处理。另外带E(e)的浮点数字符串也进行了处理。
2015-07-28 23:23:59
13488
原创 一次网络反诈骗真人秀
回顾一下整个事件,信息泄漏其实是非常致命的,这是骗取信任的重要一环,没有这个精准的信息,我可能一开始就不会信任对方,也就谈不上什么诈骗了。另外,这里对方不再用什么你中奖了,你捡到宝了这样的事情来开始一个诈骗,说明随着一些安全公司的不遗余力的宣传,类似的诈骗已经很难见效了,用户的安全意识已经被成功培养起来了,知道类似这种天上掉馅饼的事儿是轮不到自己的。因此开始进行一些难度更高的社会工程学诈骗,像这次的这个诈骗里面,对方不仅知道我昨天买东西了,而且知道什么时候买的,买了什么,花了多少钱,而且知道我网上支付了,
2015-06-23 19:31:49
11408
原创 怎样使用projectproperty sheet(.vsprops)来管理工程
Project Property Sheet的意思是项目属性表,在大型项目中基本上都会使用。一般来说,在一个大型项目中,对于每个工程来说,很多属性设置是完全相同的,譬如公共头文件路径,公共通用函数/库,公共静态链接库,相同的编译优化选项等等,很多。而工程数目可能上则十数个,多则上百个,一个个的去配置工程属性,工作量大不说,还很容易配错,而使用项目属性表则可以明显减少工程的错误设置,明显减少工程的重复设置,显著降低程序员的工作量(虽然很多地方是项目经理统一配置的),本文主要讲述项目属性表的使用方法。
2015-05-03 22:24:45
14992
原创 SpartanBrowser产品和安全特性简介
微软为什么要开发新浏览器?IE的一些不好评价,尤其是安全性上的评价,已经直接在影响业界对微软技术能力的评价,很多软件公司甚至不愿意开发与IE兼容的软件。事实上,由于IE浏览器在网页响应速度、抵挡黑客或病毒攻击、对最新技术的兼容度、人性化浏览设置等方面一直存在缺陷,使得近年来软件业围绕浏览器的争夺战愈演愈烈。谷歌、火狐、360等中外软件企业都开发出了自己的浏览器,并各自吸引了一批用户,导致IE的市场份额持续下滑。新的Spartan浏览器主打轻快安全特点,刚好对应IE的重慢不安全等不良因素,微软计划凭借Spa
2015-04-03 23:47:24
9777
原创 C++大小写转换和性能
本文主要讨论最基本的一些大小写转换函数和API,不讨论一些常见的字符串程序库里面的大小写转换接口,另外本文的落脚点是这些转换函数的性能和日常开发中遇到的一些问题。
2015-03-30 20:21:32
14748
原创 VS2005的数据断点功能
内存断点在破解分析里面使用比较多,一般如果在使用VS2005进行调试,不需要使用数据断点,但是调试那种内存破坏,数组越界还是很方便,想象这样一个场景,某个内存数据,按理一直是不变的,或者很少变化,但是因为多线程等等的原因,它的数据莫名其妙的改变了,此时,祭出数据断点,分分钟给你找到罪魁祸首!
2015-03-26 20:22:53
6458
原创 Windows系统版本判定那些事儿
本文并不是讨论Windows操作系统的版本来历和特点,也不是讨论为什么没有Win9,而是从程序员角度讨论下Windows获取系统版本的方法和遇到的一些问题。在Win8和Win10出来之后,在获取系统版本时,可能很多人都碰到了类似的问题,为什么以前工作得很好的API,突然开始说谎了?
2014-11-03 23:16:54
45251
21
原创 Windows7驱动调试小Tips
调试是程序开发的根本,最近在做驱动方面的开发,积累的一些调试小点分享给大家,让大家在遇到类似问题时可以迅速解决。
2014-07-29 20:13:44
7936
原创 Detours修改段属性漏洞
一些安全软件出于安全考虑,会把安全模块注入到IE,Office等软件里面,而很多注入模块里面使用Detours库对系统API进行Hook操作,Detours库进行Hook操作时(DetourAttachEx函数)会将相关模块的PE头(具体是DosHeader,不可写段)修改为可写可读可执行,然后写入一些特殊数据,但是后面没有修改成原始属性。这样就会破坏这些模块的段属性,造成一些其它漏洞利用时降低了绕过DEP的难度。
2014-07-16 19:44:17
4220
原创 Detours信息泄漏漏洞
很多安全软件出于安全考虑,会把很多模块注入到IE,Office等软件里面,而很多注入模块里面使用Detours库对系统API进行Hook操作,Detours库里面存放系统API原始地址的内存有信息泄漏漏洞,这样就会破坏这些软件的ASLR安全机制,继而进行漏洞利用。
2014-06-10 19:45:13
4739
翻译 怎样重建一个损坏的调用堆栈(callstack)
在我的日常工作中,我经常阅读来之微软WinQual(译注:https://sysdev.microsoft.com/ http://en.wikipedia.org/wiki/Winqual)的报告。这些报告里面一般包含着dump文件(译注:崩溃转储文件,我们一般都是叫dump文件,是一种软件崩溃之后产生的文件,可用于事后调试),从这些dump文件里面我可以分析出一些常用的软件里面到底出了什么问题,造成它崩溃了。总而言之,这是一个超赞的系统,我强烈建议各个独立软件开发商(原文:ISV)去上面注册(尤其是这个
2014-06-02 23:30:36
12622
原创 红米手机真机调试问题记录
1、先打开红米手机上面的USB调试选项 方法:打开红米手机的USB调试,可能其它一些机器有一些不一样,先打开【系统设置】,切换到【全部设置】tab页,打开最下面的【关于手机】,里面有一项是【Android版本】,在这个选项上面连按4-5次,才会打开【开发者选项】,此时回到外面的【全部设置】,你会发现之前的【关于手机】上面多了一项【{}开发者选项】,点进去研究下吧,里面有【USB调
2014-05-22 16:15:04
15483
2
原创 VS2005宏无法运行的问题(打了补丁MS14-009之后)
部门很多同事都是使用VS的宏来给源文件添加文件头,给函数、类添加注释等等,大概是14年2月份之后(根据lucifer提供的时间),这些宏突然不工作了……包括VS2005,VS2008和VS2010等等。
2014-04-09 13:43:35
4147
原创 C++虚拟多重继承对象模型讨论
C++虚拟多重继承对象模型讨论 作者:magictong调试环境:Windows7VS2005 概述记得刚开始写C++程序时,那还是大学时光,感觉这玩意比C强大多了,怎么就实现了多态,RTTI这些牛逼的玩意呢?当时没有深究,后来零零散散看过一些介绍的文章,也看了一些相关的书籍,总觉得说得不甚清楚。而这些问题的本质还是在于C++对象的内存模型问题,数据结构决定了你的算法
2014-03-26 19:18:54
4004
原创 怎样写一个与Win8 IE11兼容的标准BHO?
微软在2013年6月份推出了Windows8.1并且带上了IE11,在一个不起眼的地方,偷偷的勾上了“启动增强保护模式”功能(最新消息,11月份的时候微软发了个更新又取消了这个勾,但是说不定哪天又发个更新给勾上)。然后你会发现一大批的IE插件沦陷了(迅雷,QQ下载助手等等,都无法生效了)。等等!我大微软不是号称兼容做得最好的吗……难道一棍子把所有的插件全部打死了?!
2014-03-15 12:14:17
8823
15
原创 遨游浏览器“广告快进”产品思考和技术初探
视频网站播放视频时,前面长达30秒,甚至60秒的视频广告一直是用户的痛点,这个在我们做广告过滤功能时多次听到用户反馈过,其实我们自己也挺烦的,但是我们之前的拦截方案是强技术的,直接拦截视频广告资源链接,干扰视频播放器的行为,更改用户的hosts信息等等方式,这种拦截方式有很大的法律风险(参考[1])。另外,腾讯视频那边也多次找到我们协商去掉对腾讯视频广告的拦截,迫于一些法律风险,视频广告频繁的对抗,造成拦截难度越来越高,因此后来我们的广告拦截逐步去掉了视频网站播放前广告的拦截。而最近遨游浏览器推出了一款“广
2014-03-14 13:44:11
4146
原创 一些Windows API导致的Crash以及使用问题总结
Windows API就没有问题、没有BUG吗?答案是否定的!代码都是写出来,怎么可能完全没有问题呢?下面我们就来看看目前发现有哪些Windows API是有问题的,或者说使用上面有误区的。
2013-09-12 20:04:27
6185
1
转载 这些并不是计算机科学
原文地址:这些并不是计算机科学*本文由IDF实验室志愿者童进翻译,章典校验,原文《What Computer Science Isn’t》由匿名作者撰写。免责声明:我希望这篇文章能清晰的表达我的意图。我绝不是来宣称编程、软件工程、测试、质量管理以及其他实际工作或相关领域没有计算机科学重要。这些高度相关的学科绝对与计算机科学一样重要和有用。相反,我想表达的是,
2013-06-27 18:18:19
2195
原创 BSTR使用误区以及隐藏的内存破坏和内存泄漏
BSTR使用误区以及隐藏的内存破坏和内存泄漏作者:magictong简介BSTR的数据结构是什么样子并不是本文讨论的问题,但是却是本文的基础。在解决COM的跨平台编程的问题时,需要定义一种通用的字符串类型,它就这样被发明了,而且它的结构很容易匹配到不同的编程环境中,对于C++程序员来说,要记住的最基本的一点就是分配BSTR结构时,并不是简单的调用new、malloc就可以完成的
2013-05-30 16:54:06
7627
原创 C++调用Python浅析
C++调用Python浅析 环境VS2005Python2.5.4 Windows XP SP3 简述一般开发过游戏的都知道Lua和C++可以很好的结合在一起,取长补短,把Lua脚本当成类似动态链接库来使用,很好的利用了脚本开发的灵活性。而作为一门流行的通用型脚本语言Python,也是可以做到的。在一个C++应用程序中,我们可以用一组插件来实现一些具有统一接口的
2013-05-19 21:09:18
63247
1
翻译 跨越DLL边界传递CRT对象潜在的错误
跨越DLL边界传递CRT对象潜在的错误翻译:magictong(童磊)2013年5月版权:microsoft 原文地址:http://msdn.microsoft.com/en-us/library/ms235460(v=vs.80).aspx简介当你把C运行时(CRT)对象(譬如文件句柄、语言环境和环境变量等等)传入传出DLL时(通过调用DLL里面暴露的一
2013-05-14 18:26:00
3234
Win32位程序(64位系统)文件对话框的文件重定向问题(源代码)
2020-04-18
Snort2.2入侵检测系统源码分析全文 - 独孤九贱(基于Snort2.2版本)
2018-12-18
Visual Assist X for VS2017破解版(VAX2210)
2018-08-20
计算机程序设计艺术(1 2 3卷)绝对高清版本
2018-08-07
一个基于WinHttp的轻量级的分片下载库介绍
2018-04-24
Mastering Mesos - Dipa Dubhashi
2017-12-06
TinyHTTPd for Windows源码
2016-11-17
兼容Windows10 IE11增强保护模式的BHO
2015-11-16
The Art of Leaks: The Return of Heap Feng Shui
2014-05-29
C++虚拟多重继承对象模型讨论-样例
2014-03-26
Spring3_权威开发指南 Spring3Security-3.0.1中文官方文档
2011-12-08
Windows XP中的新型向量化异常处理 Understanding SEH Exploitation
2011-11-15
DLL搜索路径和DLL劫持 演示源代码
2011-11-03
神奇的马甲Dll 关于dll劫持
2011-08-24
APE-Plug For Windows Media Player
2011-04-07
AutoFlowchart_专业代码流程图的工具
2011-01-12
py2exe-0.6.9.win32
2010-10-29
剪贴板监控DEMO 源代码
2009-04-19
智能注册表定位器 定位器
2009-02-13
svn清理器 清理svn的垃圾
2009-02-09
让程序只运行一个实例
2008-12-25
Outlook 最小化到托盘
2008-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人