
技术探秘
killcpp
目标:专注于底层...从驱动开始
展开
-
Edit控件密码窗口的秘密--一种全新的通用密码记录技术
原文地址:http://www.xcodez.com/?id=433# *目前的各类密码记录技术*目前各类密码记录程序多如牛毛,但实现原理无非有以下六个:一:调用CreateRemoteThread函数远程DLL或代码注入.二:调用SetWindowsHookEx安装键盘钩子记录按键,或是键盘驱动记录按键.(注五)三:伪造登陆界面.四:登录信息在网络传输过程中被嗅探.五:分析目标程序流层,转载 2008-08-20 17:07:00 · 1526 阅读 · 0 评论 -
Android JNI 多线程
http://writeblog.youkuaiyun.com/EditLinks.aspx原创 2011-07-28 10:47:42 · 520 阅读 · 0 评论 -
A trip through the Graphics Pipeline 2011, part 1
http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-graphics-pipeline-2011-part-1/A trip through theGraphics Pipeline 2011, part 1by fgiesen on July 1, 2011It’s been awhile since转载 2011-10-27 11:05:06 · 956 阅读 · 0 评论 -
A trip through the Graphics Pipeline 2011, part 2
A trip through theGraphics Pipeline 2011, part 2by fgiesen on July 2, 2011Not so fast.In the previous part I explained the various stages that your 3D rendering commands gothrough on a P转载 2011-10-27 11:06:36 · 1047 阅读 · 0 评论 -
DTM测试中的filter应用
http://social.msdn.microsoft.com/Forums/zh-CHS/2150/thread/0d184866-89fb-4a9b-ad8b-22b5c88087c1Filter 可以在DTM测试结果中过滤掉一些已知的不做要求的测试失败项。Filter应用于DTM的测试结果。所以在任何阶段都可以导入到DTM Controller中。在生成DTM submissi转载 2012-01-10 11:03:27 · 894 阅读 · 0 评论 -
Switch kernel mode debug to user mode debug
1) Process context - You're not necessarily in the correct process context when you break in with the debugger, so you need to force the correct process context somehow2) The user mode module list转载 2012-01-21 09:56:56 · 728 阅读 · 0 评论 -
很好的一片有关分段和分页解释的
http://bbs.chinaunix.net/thread-3586493-1-1.html首先实模式和保护模式是CPU的两种工作模式。一开始PC启动时CPU是工作在实模式下的,经过某种机制后,CPU跳转到保护模式。Intel 8086是16位CPU,它只有16位寄存器、16位数据总线和20位地址总线,它只能运行在实模式在实模式,物理地址=段值*16+偏移 段值和偏移都是1转载 2012-01-05 15:20:21 · 895 阅读 · 0 评论 -
Windows XP下USB整体结构
http://hi.baidu.com/jlgwxq/blog/item/6aa939cc053d8f0893457e40.htmlWindows XP下USB整体结构2010-01-22 13:57这里主要讲的是Windows XP下USB驱动协议栈的整体结构,以及内部的一些重要数据结构。在写这些东西时,参考了大牛Tiamo的相关论坛贴子 ,内容很多雷同,说是转贴也不为过。转载 2012-02-23 14:37:18 · 608 阅读 · 0 评论 -
Windows XP下usbport.sys驱动内部实现解析(一)
http://hi.baidu.com/jlgwxq/blog/item/a3bcc30356a3cc057aec2c64.htmlWindows XP下usbport.sys驱动内部实现解析(一)2010-01-22 18:10上一篇讲了USB驱动栈整体结构,说明了usbport.sys的重要作用,现在就具体分析usbport.sys的内部实现细节。首先再重复一下:转载 2012-02-23 14:38:25 · 1207 阅读 · 0 评论 -
Windows XP下usbhub.sys驱动内部实现解析
http://hi.baidu.com/jlgwxq/blog/item/6ac02b417362ad1873f05de9.htmlWindows XP下usbhub.sys驱动内部实现解析2010-01-25 13:12说过了usbport.sys驱动,现在来说说usbhub.sys驱动。usbhub是一个usb hub device的驱动程序。当kernel枚举到某个usb转载 2012-02-23 14:43:00 · 2139 阅读 · 0 评论 -
static_cast、dynamic_cast reinterpret_cast和const_cast
static_cast、dynamic_cast reinterpret_cast和const_cast (2009-09-04 10:41:56)转载▼标签: 杂谈分类: 程序代码关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,转载 2012-02-16 10:11:27 · 418 阅读 · 0 评论 -
单片机超频之PLL锁相环设置
http://blog.sina.com.cn/s/blog_627bb2cf0100svan.html单片机超频之PLL锁相环设置 (2011-04-12 08:35:42)转载▼标签: 飞思卡尔 智能车分类: 飞思卡尔智能车什么是锁相环呢? MCU的支撑电路一般转载 2012-04-25 16:25:29 · 1291 阅读 · 0 评论 -
linux内核学习(好东西)
转自:http://blog.youkuaiyun.com/michaelrun/archive/2010/05/30/5634390.aspxlinux内核学习(好东西) 2012-05-11 21:12:13| 分类: linux学习博客|字号 订阅1. 内核学习方法,编译、调试等常见问题1.1 关于编译升级内核到2.6.0的一些问题 作转载 2012-10-15 14:02:23 · 1224 阅读 · 0 评论 -
How to create a Windows can run top of Metro UI under windows8c
Steps:http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/8529357f-3ff8-4c83-baaf-5215ca9cc14aCreate new Win32 ProjectFinish the wizard with no changesChange the CreateWindo原创 2013-05-14 09:56:04 · 1588 阅读 · 0 评论 -
微软的COM中GUID和UUID、CLSID、IID
当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Internet地址一样的管理方式,成立一个管理机构,用户如果想开发一个COM组件的时候需要向该机构提出申请,并交一定的费用。第二种是发明一种算法,每次都能产生一个全球唯一的COM组件标识符。第一种方法,用户使用起来太不方便,微软采用第二种方法,并发明了一种算法,这种算法用GUID(Gl转载 2010-04-01 15:19:00 · 6672 阅读 · 5 评论 -
成员函数指针与高性能的C++委托
http://www.cnblogs.com/jans2002/archive/2006/10/13/528160.html成员函数指针与高性能的C++委托Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston 翻译:周翔 引子标准C++中没有真正的面向对象的函数转载 2009-07-07 15:16:00 · 747 阅读 · 0 评论 -
明晰C++内存分配的五种方法的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。转载 2008-09-05 13:36:00 · 520 阅读 · 0 评论 -
用Debug函数实现API函数的跟踪
作者:彭春华 来源:赛迪网 发布时间:2003.01.16如果我们能自己编写一个类似调试器的功能,这个调试器需要实现我们对于跟踪监视工具的要求,即自动记录输入输出参数,自动让目标进程继续运行。下面我们就来介绍在不知道函数原型的情况下也可以简单输出监视结果的方案——用Debug函数实现API函数的监视。 用Debug函数实现API函数的监视大家知道,VC可以用来调试程序,除了调试Debug程序,当转载 2008-11-21 16:58:00 · 541 阅读 · 0 评论 -
详谈HOOK API的技术
详谈HOOK API的技术 (作者:MGF 来源:邪恶八进制信息安全团队)HOOK API是一个永恒的话题,如果没有HOOK,许多技术将很难实现,也许根本不能实现。这里所说的API,是广义上的API,它包括DOS下的中断,WINDOWS里的API、中断服务、IFS和NDIS过滤等。比如大家熟悉的即时翻译软件,就是靠HOOK TextOut()或ExtTextOut()这两个函数实现的,在操作系统用原创 2008-12-06 14:00:00 · 708 阅读 · 0 评论 -
汇编中内存映射文件的概念 and 内存映射文件的实现原理
Org: http://hi.baidu.com/whyyit/blog/item/80616312c977a655f819b8e3.html内存映射文件提供了一组独立的函数,使应用程序能够通过内存指针像访问内存一样对磁盘上的文件进行访问。通过内存映射文件函数可以将磁盘上文件的全部和部分映射到进程虚拟地址空间的某个位置,一旦完成了映射,对文件内容的访问就如同在该地址区域内直接对内存访问一样简单。这转载 2008-12-10 09:11:00 · 1047 阅读 · 0 评论 -
Win 95下内存映射文件的工作原理及使用方法
一、引言 WIN32 API为我们提供了一种进行文件操作的高效途径,即内存映射文件。 内存映射文件允许我们在WIN32进程的虚拟地址空间中保留一段内存区域,把目 标文件映射到这段虚拟内存之中。我们可以用存取内存数据的方式直接操作文件 中的数据,就好像这些数据放在内存中一样。而实际上,我们并没有、也不需要 调用API函数来读写文件,更不需要自己提供任何缓冲算法,操作系统将会为我们 完成这些工作转载 2008-12-10 09:29:00 · 698 阅读 · 0 评论 -
学习技术的三部曲:WHAT、HOW、WHY
学习技术的三部曲:WHAT、HOW、WHY 最近几天有些网友在邮件里面问我关于学习的问题。有好几个人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会,希望对大伙儿(尤其是新手)有帮助。 先声明一下,本帖子讨论的三部曲是指你已经选定了某个技术方向之后,该如何学习;至于如何选定技术方向,则属于另一个话题,不在今天的讨论之列原创 2009-03-09 09:51:00 · 424 阅读 · 0 评论 -
把这个地址记下来
把这个地址记下来http://blog.youkuaiyun.com/absurd原创 2009-05-19 13:06:00 · 608 阅读 · 0 评论 -
字节对齐 详解
【原帖】http://blog.chinaunix.net/u1/36006/showart_569730.html一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,转载 2009-06-04 09:02:00 · 480 阅读 · 0 评论 -
ATL Windowing中的汇编:_stdcallthunk分析
1. 指令指针寄存器与正在执行指令指针关系: I: CPU正在执行指令; xIP: CPU指令指针寄存器内容; xIP(I): CPU正在执行的指令I的指针; LEN(I): 指令I的长度。 1)顺序执行:xIP = xIP(I) + LEN(I);转载 2009-08-14 10:04:00 · 833 阅读 · 0 评论 -
MSI安装程序中的文件替换
原帖:http://blog.sina.com.cn/s/blog_48ddd66f0100ce8u.html MSI安装程序中的文件替换(2009-03-04 19:05:10)标签:杂谈 MSI安装程序中的文件替换前言 最近有汉化朋友问起如何不重新制作MSI文件,而直接用汉化好的文件替换MSI安装程序中的文件。为此,将本人的实践经验作个总结,供各位汉化人参考。有错误的地转载 2009-06-13 11:14:00 · 1278 阅读 · 0 评论 -
创建Tooltip的时候,GetLastError是1309的解决方法
在创建Tooltip的时候,总是失败,GetLastError,一下,发现是 1309,意思是:目前未模仿客户端的线程试图在模仿令牌上操作。因为编译的是 Unicode 版本, 在SDK中有如下的定义:#define _WIN32_IE 0x0600#define WINVER 0x0502#define _WIN32_WINNT 0x0502 然后问题就来了typedef原创 2009-07-01 08:54:00 · 845 阅读 · 0 评论 -
Command Line Applications with Visual Studio 2008 and C++ Posted by omniplex in Errors
Command Line Applications with Visual Studio 2008 and C++Posted by omniplex in Errors From time to time the need arises for me to create a command line application for Windows using Visual Studio 20转载 2009-07-03 14:26:00 · 732 阅读 · 0 评论 -
直接调用类成员函数地址
http://www.vckbase.com/document/viewdoc/?id=1818作者:南风 摘要:介绍了如何取成员函数的地址以及调用该地址.关键字:C++成员函数 this指针 调用约定一、成员函数指针的用法 在C++中,成员函数的指针是个比较特殊的东西。对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用。但对成员函数来说,常规类型转载 2009-07-07 15:15:00 · 566 阅读 · 0 评论 -
把C++类成员方法直接作为线程回调函数
把C++类成员方法直接作为线程回调函数原文链接:http://blog.youkuaiyun.com/waiting4you/article/details/2000796我以前写线程时要么老老实实照着声明写,要么使用C++类的静态成员函数来作为回调函数,经常会因为线程代码而破坏封装.之前虽然知道类成员函数的展开形式,但从没想过利用过它,昨天看深入ATL时无意中学会了这一招:) 类转载 2013-09-01 22:34:17 · 735 阅读 · 0 评论