存档

2011年10月 的存档

FakeMac网卡MAC地址修改工具下载

2011年10月27日 10 条评论

软件简介:可以修改电脑活动网卡的MAC地址为任意值,方便一些绑定用户网卡MAC地址的功能操作。如大学校园网用户如果上网账号与MAC地址绑定,要使用他人的账号上网必须修改MAC地址,本软件就可以应用在这样活着类似的场景下。
下载地址:请猛击FakeMAC V1.0
注意事项

  1. 如果更改网卡MAC地址后FakeMac的下拉列表中该网卡消失,请重新启动系统并查看MAC地址是否发生变化,如没有变化请重新使用FakeMac更改该网卡的地址(此情况极少发生!请放心使用!)
  2. 本软件使用软件模拟方式来更改网卡[……]

继续阅读

SDK控件子类化和栈溢出

2011年10月26日 2 条评论

不知道起个什么题目好,所以就叫做“SDK控件子类化和栈溢出”吧!为了节约时间你可以只看本文最后一段话!颓废了一段时间之后,终于有点激情写代码了,写一个小工具,为了给Static控件做成超链接的形式,于是用了控件子类化,不幸的是程序Crash了。
为什么会Crash呢?于是赶紧在Visual Studio下Debug模式调试(本来也应该这样,不过前面提到VS2008链接器有个Bug【见Microsoft Increment Linker已停止工作】,下个有个朋友评论说打SP1补丁,考虑到C盘空间严[……]

继续阅读

使用低级键盘钩子实现键盘改键

2011年10月24日 14 条评论

很垃圾的文章了,大牛们直接飘过吧。
为什么要实现改键?
前几天玩一个游戏,因为ASDW这几个键不能控制方向所以感觉很不方便,于是就想出了自己写一个全局键盘钩子来实现改键的程序;一般能自己解决的问题我都会自己想办法解决,所以也没有用网上先有的程序了。
怎么实现键盘改键?
装一个全局的低级键盘钩子(WH_KEYBOARD_LL),在键盘钩子回调函数(LowLevelKeyboardProc)中判断是不是目标按键,如果是则通过keybd_event来实现模拟按键,同时直接用return TRUE;来对[……]

继续阅读

分类: Windows SDK 标签: , ,

QQScLauncher逆向分析

2011年10月21日 16 条评论

QQScLauncher逆向分析
逆向版本:QQ2011正式版(2425)
逆向目的:只是感兴趣,没有任何其他意图
版权声明:本文档由代码疯子整理,在保留本文档版权声明和原始出处的前提下欢迎转载!
需要工具:IDA Pro、Ollydbg
正文内容
什么是QQScLauncher?在QQ最新版(QQ2011正式版)中加入了不少新功能,如手写、视频群聊、语音输入等,另外还有一个功能是可以把好友拖放到桌面上,点击就可以直接与之进行聊天,处于好奇,本人对他进行了一下逆向,于是便有本文。
先去[……]

继续阅读

What is a First Chance Exception(什么是第一轮异常)

2011年10月20日 1 条评论

当你正在调试程序的时候,你是否曾经看到过消息窗口输出关于“First Chance Exception”(第一轮异常)的信息?也许有人会问,“什么是第一轮异常?”、“出现第一轮异常的提示意味着代码有问题吗?”
什么是第一轮异常?
(1)当一个程序被调试的时候,如果有异常发生调试器会得到通知,这个时候,被调试的应用程序将会被挂起并且调试器决定如何来处理这个异常。当一个异常第一次经过这种机制就是所谓的“第一轮异常”。根据调试器的设置,调试器可能会忽略这个异常并让程序继续执行,或者保持被调试程序的挂起[……]

继续阅读

分类: 逆向调试 标签: , ,

Microsoft Increment Linker已停止工作解决方案

2011年10月17日 3 条评论

在Windows 7下安装Visual Studio 2008,写SDK程序时链接器经常出问题,如果程序里面包含了资源,则出问题的几率就更大了。一般是Debug版本在链接时提示“Microsoft Increment Linker已停止工作”,如图所示。
不管是不是以管理员身份运行Visual Studio 2008,这样的问题都会出现;网上找了一下,有一个临时性的解决方案:打开项目的“属性”对话框,单击“链接器”选项,单击“常规”属性页,修改“启用增量链接”属性为“否(/INCREMENTAL[……]

继续阅读

分类: Windows SDK 标签: ,

一些Windbg命令

2011年10月16日 2 条评论

不是很多,以后再补充和完善。下面的命令是实际分析过程中比较常用的一些命令,抽出来做一个备忘。
vertarget
输出调试目标所在操作系统的信息
.lastevent
输出最后一个调试事件所在的进程、线程等简单信息
r [eax / eax = 1 / ZF]
显示所有寄存器、指定寄存器、修改制定寄存器、显示eFlags标志位
$name
伪寄存器,如$ip, $peb等,代表调试目标一些特殊结构。如果用在表达式中前面加上@
u / uf FunctionName
反汇编 / 反汇编整个函数
k[……]

继续阅读

分类: 逆向调试 标签:

Windbg事后调试

2011年10月14日 没有评论

dump文件生成
如果需要使用Windbg生成dump文件,可以使用.dump命令,该命令可以接/m或/f来生成minidump和fulldump,/m后面还可以接更多的命令控制,如/f控制生成内存dump,通常使用.dump /mf来生成dump,这样的minidump比fulldump包含更多的调试信息。
dump句柄信息
在minidump中如果要把句柄信息业dump出来(如句柄泄漏调试可能需要用到!handle命令),则需要加上/h参数,如.dump /mfh
事后调试器设置
事后调试器[……]

继续阅读

分类: 逆向调试 标签: , ,

句柄泄漏调试经验

2011年10月12日 5 条评论

句柄泄漏检测-简单
在调试之前首先确定是不是真的发生了句柄泄漏,简单的检测方法是通过任务管理器来查看进程的句柄数是不是居高不下,任务管理器默认不显示句柄数,要查看进程的句柄数需要先切换到进程选项卡,然后单击“查看”菜单,选择“选择列”,然后勾选“句柄数”。
句柄泄漏检测-更多信息
任务管理器只能简单检测句柄数,如果要获得更详细的信息,可以使用Process Explorer(官方下载地址为http://technet.microsoft.com/en-us/sysinternals/bb8966[……]

继续阅读

分类: 逆向调试 标签: , , ,

DllMain多线程死锁

2011年10月11日 4 条评论

在调试中遇到的一种死锁情况——DllMain死锁。DllMain是可选择的DLL入口指针,当进程和线程启动和终止时被系统调用,分别进行创建资源和释放资源等操作;而且也可以在DLL被装载进进程空间时(即DllMain响应DLL_PROCESS_ATTACH通知时)创建线程,在DLL从进程空间卸载时(即DllMain响应DLL_PROCESS_DETACH通知时)结束线程。但是在DllMain对创建或结束进程需要特别注意DllMain的序列化调用规则,使用不当将会造成死锁。下面是参考《Windows[……]

继续阅读

分类: 逆向调试 标签: , , ,