
其它技术
文章平均质量分 68
pankun
这个作者很懒,什么都没留下…
展开
-
用跨进程子类化技术实现对其它进程消息的拦载
大家都知道每个窗口都有默认的窗口函数来进行对窗口消息的处理. 而子类化技术就是替换窗口的窗口函数为自己定义的函数的技术.例如下面的代码:var Form1: TForm1; OldWndProc: Pointer;implementation{$R *.dfm}function NewWndProc(hHwnd, Msg, wParam, lParam: LongWORD): Lon原创 2003-10-09 22:04:00 · 2900 阅读 · 2 评论 -
emacs auto-complete
晚上在家写自己的网游服务端底层库,休息时在网上闲逛,无意中发现一篇介绍emacs auto-complete的文章,正是自己想要的东西。比hippie-expand使用更方便,快捷。于是便下载下来,配置成功。另补充原文没有详细讲解的二点: 生成etags:在工程目录下执行 find -name "*.h" -or -name "*.cpp" -or -name "*.c"原创 2009-03-03 21:55:00 · 2792 阅读 · 0 评论 -
一个emacs扩展,从指定目录或文件中搜索指定关键字
这段时间在熟悉一套系统的代码,经常要查找某个变量或函数名在哪些文件中被引用到了 ,虽然在linux下面grep一下就行了,但要查看每处的上下文,还是得打开文件.还好用的是emacs,有什么不爽就自己扩展 刚用elisp时倒郁闷了一把,elisp貌视不支持尾递归(??还需查证) ,我一上来就用在scheme中惯用的过程自调用的方式来进行递归查找目录中的文件,结果很轻易就会超过elisp原创 2007-04-25 20:52:00 · 8098 阅读 · 8 评论 -
放弃,才有所得。
觉得自己在技术上又到了一个必需放弃一些东西的时候了 前段时间学了保护模式编程,就有用WinGDB调试WIN内核,了解一下其内部实现的冲动,也有看看FreeBSD的代码,自己实现一个支持保护模式,多任务,虚拟内存的简单os的冲动. 一直很喜欢编译技术,现在在用lua语言,又有看看lua源代码的冲动。想研究语法和语义,就想看看和面向过程,面向对象完全不同思想的函数式语言,就又有原创 2006-12-31 15:01:00 · 1732 阅读 · 1 评论 -
反qj浩方...
一直喜欢玩魔兽PRG地图,少不了用浩方对战平台,但浩方对我们这些非付费用户一直是另眼相看,广告弹得比你关得还快,今天点快了,一不小心就被其装了雅虎上网助手,受不了了.决定反qj,我的浩方版本是 Ver 4.5.8 Build:0803 先是去掉弹出图形弹出广告,先用spy++查查弹出广告窗口的名字和类名,然后用od重运行GameClient,然后在登陆后,广告弹出前在ShowWind原创 2006-08-11 19:31:00 · 2235 阅读 · 8 评论 -
为什么我用emacs
本来从未打算过写这类东西,自己用什么只是自己的事,但最近在网上见过很多贴子中的回复,认为用emacs和vi"之流",弃强大的IDE不用,纯属装牛B. 对于这种可能连emacs,vi和记事本的区别都没搞清,却非要把我和其它emacs,vi用户定性为装B的人,实在没啥好说的,算算自己从初三后开始自学编程,到现在也有8年多了吧.由于自学,难免学得杂,不完全回忆,接触过(接触就是起码在上面写过程序,编原创 2006-12-05 22:47:00 · 3059 阅读 · 0 评论 -
一键在emacs中切换C++ .h文件和.cpp文件
一直用emacs写c++程序,有时候要在.cpp和.h文件中切换,下面的代码可以实现这个功能(绑定到了F11上),要使用的话添加到.emacs文件中即可,郁闷的是调试的时候,因为太久没用正则表达式了,忘了"."符号有特殊的含义而没有加转义符,花了不少时间来查错 :-( .另外也有.hpp结尾的C++源码文件(例如boost),有需要时可以修改;;定义在cpp文件和.h文件中切换的函数;;原创 2006-09-18 02:42:00 · 3624 阅读 · 1 评论 -
用C++模拟DELPHI的set数据类型.
很多时候,我希望能用一个变量方便的表示多种状态.例如我有一个窗口类,要表示此窗口是否具有系统菜单,最小化按钮,最大化按钮,帮助按钮,可能需要四个变量来记录.bool hasSystemMenu;bool hasMinimize;bool hasMaximize;bool hasHelp;这样要占用更多的内存.虽然用位域可以节约内存,但操作不方便. DELPHI这点就做得不错,用set of 关键字原创 2006-02-21 17:30:00 · 3162 阅读 · 5 评论 -
动态修改其它进程的代码,实现DLL注入
传统的远程进程控制方式有利用HOOK技术注入DLL,和利用远线程在目标进程中建立新的执行线程的方式.远线程不被win9x所支持,而hook技术会对目标进程性能造成一定的影响.并具可以通过枚举消息链的方式发现.本文给出一种动态修改目标进程代码,注入DLL到目标进程的方法,效率高,不需要额外线程.缺点是使用难度大于上面二种办法,并且修改目标代码的方法,受到编译器的影响.使用不同的编译器时,需要根据编译原创 2006-02-23 10:50:00 · 5389 阅读 · 9 评论 -
给C++添加属性机制
以前用DELPHI和C#时,对DELPHI和C#语法中的属性感到十分方便,在读写属性时能自动调用属性的get, set函数或代码.但我最喜欢的C++中没有属性机制.不过C++提供了范型编程和操作符重载机制,足以让一切变成可能. 假定要添加属性的类是目标类,给C++添加属性机制,我的想法是建立一个类,重载此类的 "=" 操作符,这样给这个类赋值时,会调用此类的operator = 函数原创 2006-02-08 13:03:00 · 4714 阅读 · 4 评论 -
IDA反汇编工具初探
看过>的朋友一定知道吸星大法吧,这是一种可以吸取他人内功来使自己功力增长的神功,(段誉的北冥神功也是这样, 扯远了...).对于程序员来说,增长自己编程功力的一个好方法是阅读其它人开发的程序的源码,从而把别人的技术来消化成为自己知识,这是不是很象吸星大法?但开源的程序毕竟是在少数,大多数程序都只会分发可执行文件及相关文件,这时我们要想查看此程序的代码,就只有把它反汇编,当然这需要一定的汇编功底,但原创 2003-11-13 00:11:00 · 14131 阅读 · 1 评论 -
实现一个lua 调试器
简介: LUA没有自带调试器,只提供了一套调试库,可以实现符合自己需要的调试器.晚上没事,改写了一下以前的一个GDB风格的LUA调试器,可嵌入到应用程序中,在需要的时候触发并调试,有需要的朋友可以参考下. 支持如下命令: h 帮助信息 c 继续动行 s 单步运行(不跳过函数调用) n原创 2009-04-07 22:46:00 · 7810 阅读 · 5 评论