- 博客(57)
- 收藏
- 关注
转载 JS在当前页面插入<script>标签,并执行
将<script>标签绑定到<html>上, html可换成body,header等其他存在的标签。var htmm =document.getElementsByTagName("html")[0];var scri = document.createElement("script");scri.async="async"scri.src="...
2014-10-24 09:35:00
735
转载 linux下c/c++的文件操作
opendir,readdir,closedir,stat()查询文件状态open(),O_TRUNC这个Flag会把打开的文件清零...文件锁:fcntl,F_GETLK ,F_SETLK: http://man7.org/linux/man-pages/man2/fcntl.2.html http://blog.chinaunix.net/uid-2...
2014-08-26 08:13:00
132
转载 DNS解析
同步API,会阻塞: getaddrinfo: IPV4 and IPV6, linux依赖<netdb.h>, windows依赖<ws2tcpip.h> gethostbyname: only IPV4 异步: libevent getaddrinfo_a, 会执行注册的callback函数, c-ares库,另起一线程,selec...
2014-08-05 10:10:00
198
转载 移植spdylay到libcurl
Libcurl是第三方网络库,支持各种网络协议SPDY是Google提出的用来替代HTTP1.1的网络协议, 目前google.com, facebook.com, twitter.com服务器端都已支持SPDY, Chrome也支持SPDY。HTTP1.0 -> HTTP1.1 ->SPDY ->HTTP2.0SPDY协议的优势主要有以下几点头部压...
2014-07-15 20:21:00
129
转载 用到的C++标准库
std::set<type>, 模板写的平衡二叉树的集合容器, method: insert, count,std:map<int, string>,映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索std::vector<type>,存放任意类型的动态数组的容器, .push_back...
2014-06-16 10:30:00
101
转载 libcurl底层调用逻辑
libcurl就不多介绍了,一个支持HTTP,FTP,SMTP等协议的网络库只涉及multi部分,easy部分就不提了。两个线程,一个负责添加HTTP请求,另一个轮询,负责处理每一个请求Thread 1:初始化一次multi_handle,每次Request在分别初始化easy_handlecurl_multi_add_handle(CURLM *multi_hand...
2014-06-11 22:32:00
206
转载 socket编程
socket()函数bind()函数listen()、connect()函数accept()函数read()、write()函数等close()函数================>非阻塞IO,多路复用select, poll, epoll...转载于:https://www.cnblogs.com/zzSoftware/p/3777758.html...
2014-06-09 13:52:00
74
转载 linux的一些机制Signal, Fork,
signal(SIGCHLD, SignalHandler); 注册软中断,对应的apiclose(socket);ret=fork(): 父进程,返回子进程的pid. 子进程返回0, 出错返回<0set_process_name("Name"), 当前进程名称dpopen, dlclose,dlsym转载于:https://www.cnblog...
2014-06-09 10:26:00
93
转载 openssl 编程
背景: 生成私钥、公钥 --》 生成AES-key seed[32], iv[16] --》 公钥加密ASE-key, IV,传给Server --》 Server用私钥解密,得到AES-key,IV --》 Server私钥加密签名SHA1, 传给Client --》 Client用公钥解密,验证签名--》...
2014-06-05 21:37:00
82
转载 对称加密,非对称加密
对称加密:RC2、RC4、IDEA、DES、Triple DES、AES以及Camellia; DES(Data Encryption Standard), 1976, 容易被破解,不安全,密钥长度只有56bit AES(Advanced Encryption Standard orRijndael), around 2001,目前最流行 aes密钥长度有三种...
2014-05-29 11:32:00
68
转载 printf以及各种变种
int printf(char *format, [argument]); 其向终端(显示器、控制台等)输出字符int fprintf(FILE*stream, const char*format, [argument]); 传送格式化输出到一个文件中int sprintf( char *buffer, const char *format, [ argument] … ); ...
2014-05-28 13:24:00
142
转载 SPDY以及HTTP2.0
背景介绍HTTP2.0跟SPDY在不少理念上是相似的,目的都是为了提升HTTP1.1的性能。HTTP2.0将会是业界的标准,比SPDY要完善,今后可能会都转向http2.0而放弃SPDY。SPDY流程SPDY需要TLS1.1以上版本的支持,需要TLS的NPN扩展(Next Protocol Negotiation:13172),也就是加了一个域Query Supporte...
2014-05-26 21:14:00
121
转载 数字证书认证这点事, SSL/TLS,OpenSSL
1.概念数字证书 HTTPS请求时,Server发给浏览器的认证数据,用私钥签名,并且告诉浏览器公钥,利用公钥解密签名,确认Server身份。 证书还会指明相应的CA,CA能确认证书是否真的是CA颁发的。 可以用PEM、等编码SSL/TLS SSL是上世纪由Netscape设计的web安全协议,并获得了广泛应用,SSLv2.0, v3.0,目前主...
2014-05-25 15:37:00
99
转载 利用Fiddler,解密wireshark抓的HTTPS包
背景介绍HTTPS加密方式介绍浏览器-->SSL Client Hello(我支持这些加密方式)-->服务器浏览器<-SLL Server Hello(就用这种加密,然后下面是我的证书)-<--服务器浏览器-->证书验证ok,拿证书里的公钥加密key,告诉服务器-->服务器浏览器<--私钥解密,得到key<--服务器...
2014-05-19 19:11:00
472
转载 C跟C++
工作以来几乎就只写C,下周开始的新工作可能就要开始写C++啦~C:C++:1.template2.多态、重载、继承3.虚函数C++内存布局看两张耗子的图片就清楚了。其中虚函数表一般放在数据段里,ReadOnly。classDerive :publicBase1,publicBase2,publicBase3classB1 :...
2014-03-17 15:11:00
74
转载 [转]Windows 7 蓝屏后获取 MEMORY.DMP 文件及注意事项
转自:http://hi.baidu.com/guicomeon/item/d6753a177fc76f0f8fbde46a系统默认会在 C:\Windows 目录下创建 MEMORY.DMP 文件,来搜集内存错误信息。但有时却找不到。搜索后找到原因:系统分区剩余空间小于25G会自动删除该文件。Algorithm to decide whether to store...
2014-02-18 13:54:00
506
转载 project之chrome.exe
查看chrome.exe的以来文件可以得到下面这个列面,大部分是在%systemroot%/system32下面的系统dll文件,只有两个是chromium自己生成的:base.dll, content.dllSHLWAPI.dll =======> WinKERNEL32.dll =======> Winbase.dll ****...
2014-01-16 22:29:00
85
转载 Chromium之view
src\ui\views转载于:https://www.cnblogs.com/zzSoftware/p/3502259.html
2014-01-02 17:36:00
156
转载 Chromium之工程类别
虽然有700多个project,其实有很多是不成声二进制执行文件的,他们主要是调用cygwin的环境,执行一些python的脚本。具体这个.py文件做了哪些共工作,还要再研究,目前看到有打包一些.pak文件之类的。有时间会具体列一下,哪些是会生成二进制执行文件的,哪些是做一些辅助处理,生成下资源文件的.src\chrome_frame\locales:存放语言相关的proje...
2013-12-31 14:37:00
80
转载 Print之modile, level
一般print打印的design都会引入module, level。xxxprint(module, level, arg,...)...每个Module都可以有各自的bitmap,代表这个module的print level. 位数可调,2bit,4bit,8bit, etc...然后就是define各种shift,mask,set/get...转载于:https://...
2013-12-23 14:24:00
394
转载 Chromium之工程依赖关系.
Chromium各版本可能有差异,我的版本是chromium.r197479,2013/08前后下载的source code.Visual Studio Ultimate版本有工具可以自动生成项目依赖关系图,可惜我只有2010 express以及2012 professional...所以我就手动来绘制项目依赖关系吧,(726个项目)哭...每个.vcxproj文件都有类似下...
2013-12-20 17:48:00
267
转载 about !dbgprint to analyze BSOD dump file.
基本规则:只有debug mode enable的机器,产生的dump file才会保存dbgprint的buffer。默认!dbgprint的buffer size是4k.增加buffer size:...\Windows Kits\8.1\Debuggers\x86\kdbgctrl.exe比如设成 1M大小,kdbgctrl.exe -sdb 0x100000...
2013-12-16 18:21:00
101
转载 简述装载过程。
1.创建PDE,page directory entry,用来存放virtual memory <--> physical memory之间的映射关系2.创建virtual memory跟可执行文件(.exe,.dll...)之间的映射关系,缺页的时候需要从文件里那数据放到内存里的3.对CPU的PC寄存器设置为可执行文件入口地址这样就ok了,后续用到什么memor...
2013-11-08 16:56:00
115
转载 Chromium之各国语言切换
在\src\build\Debug\locales\目录下存放着各国语言所需要的资源文件xx.pak,我这边共有53中语言支持。命令行进入src\build\Debug目录,敲:chrome.exe --lang=zh-CN就能用中文简体,zh-CN可以根据需要换成各种语言版本。Chrome的整个solution中,每种语言都会有个相应的工程文件,如src\chrome_fram...
2013-11-03 21:47:00
467
转载 Chromium之文件类型
.grp: Generate your project。是由Json(JavaScript Object Notation)(or Python?)来解析,根据环境(OS,Compiler..)来生成相应Project的配置文件。对于工程生成之后,其实就可以忽略这些.grp文件了。<.xtb>.grd —————> .rc ———> .d...
2013-11-03 18:52:00
219
转载 To Chromium之浏览器外框UI(2)
之前一些文章本来是草稿状态,一次性全release出来了,排版上可能看上去不太舒服,等哪一天研究下改改排版。Here继续chromium的UI,看看,浏览器的外壳是怎么被画出来的:)可以先关注下几个project:chromium\src\chrome_frame\locales\th.vcxprojchromium\src\chrome\theme_resources....
2013-10-22 12:58:00
127
转载 union的代码有点难理解额
union跟位域都可以节省内存,而且union在某些地方还能起到更好看的效果?比如:struct Matrix{ union { struct { float _f11, _f12, _f13, _f21, _f22, _f23, _f31, _f32, _f33; }...
2013-10-12 13:52:00
59
转载 Graphic的一些基本概念
做了张很丑陋的图,估计还不准确...先凑合看吧~转载于:https://www.cnblogs.com/zzSoftware/p/3276434.html
2013-10-12 13:51:00
307
转载 windbg*****************************TBD
achieve structure from a simple address Dt addressknow pending IRP in a module!thread xxxxxx到底能提供哪些Information:3: kd> !threadTHREAD ffffe0000341f040 Cid 0004.0590 Teb: 000000000...
2013-10-12 13:51:00
103
转载 x86/x64的stack*****************************TBD
1.push parameter,%rdi,%rsi,%rdx,%rcx,%r8,%r9 用作函数参数,依次对应第1参数,第2参数。。。2. push return address3. push ebp,(current stack frame's base pointer)jump to the caller.4. push local variabl...
2013-10-12 13:50:00
86
转载 关于Assert
如果没有连1394线debug,assert不影响程序的执行,只会在dbgview里面答应"Assertion xxxx"这样的调试信息。当连着1394线的时候,OS会被hang住,不能进行任何操作,可以ignore,那么就会继续执行下去。也可以break,那么就会在assert的时候break住,可以debug.转载于:https://www.cnblogs.com/zzS...
2013-10-12 13:50:00
60
转载 Windows IRP
IRP(I/O Request Packet),是由IO manager发起的对device的IO请求。当用户调用系统API,如createFile类似的函数,其实是会交给IO manager来做相应的处理。首先IO Manager知道这次IO请求,涉及到的设备栈(Device Stack),每个Device都有相应的Driver。IO Manager然后会组一个IRP的结构...
2013-10-12 13:49:00
209
转载 PE文件格式介绍
Useful Tools:1. WDK安装目录下搜下depends.exe,这个工具可以查看.exe文件依赖的.dll,以及用到的dll中的api。2.PE文件格式分析器: 有很多的PE格式分析器,我随便试了两个,lordPE.exe,prjPEParserEx.exe都还不错,放我百度云盘了。 http://yun.baidu.com/share/link?s...
2013-10-12 13:49:00
82
转载 P2P(WFD)之RegClass *****************************TBD
三个Action Frame的IE会有带上RegClass的信息Listen Channel element, Channel List element, Operation Channel element.Negotiate Req/Conf 必须带Operation Channel element.Negotiate Resp可带可不带Operation Channel ...
2013-10-12 13:48:00
176
转载 processor control block(PRCB)*****************************TBD
To be done.转载于:https://www.cnblogs.com/zzSoftware/p/2915940.html
2013-10-12 13:47:00
107
转载 段寻址*****************************TBD
fffff880`01b05be1 ff9708020000 call qword ptr [rdi+208h] ds:002b:fffff980`0554ae88=fffffa8004bd81a00: kd> rrax=0000000000000000 rbx=fffff880161485a8 rcx=fffffa8005a26490rdx=fffff980...
2013-10-12 13:47:00
394
转载 Visual Studio 2012,创建工程Build Driver,基于纯Source Code.
拿到一堆纯代码,怎么去Create Project,设置Include路径,lib路径,要不要Pre-compile技术,配置Project之间的依赖关系。SourcesConverter Base on source file.哎,VS工具不熟,还真不太容易啊!由于我有现成的win7 build环境,有dirs, sources这些文件,WDK8之前用WDK自带的buil...
2013-10-11 14:19:00
210
转载 To Chromium之VS调试追踪
启动的code:for(;;){...WaitForWork()}base.dll!base::MessagePumpForUI::DoRunLoop /* base/message_loop/message_pump_win.cc */base.dll!base::MessagePumpWin::RunWithDis...
2013-10-10 21:35:00
134
转载 To Chromium之浏览器外框UI
先不去管那些webkit,V8 engine, Parser, security,IPC...先来看看Chromium的外框UI是那些code负责的,如果自己可以定制化一下,应该蛮好玩的。TBD.http://www.chromium.org/developers/design-documents/browser-window替换了Chromium web store的图...
2013-10-09 09:42:00
103
转载 To Chromium之版本管理
Git。1.由于想直接submit到Chromium的官方Branch需要申请权限,目前拿不到,所以打算snapshot一个chromium版本。本地搭建一个git的server/client,方便code trace.http://www.cnblogs.com/dabaopku/archive/2012/01/09/2316772.html看完上面的Link,再Goo...
2013-10-07 16:09:00
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人