Windows开发相关
野男孩
坚持做技术的土人
展开
-
Windows rootkits of 2005, part two(翻译)
上一篇文章中,我们谈到了当前的rootkit开发技术。本文更深入一点,将焦点集中在rootkit技术的最前沿。在第三篇,也就是本系列的最后一篇中,将重点论述rootkit侦测的各种方法及安全方面的专业的应对措施。 本文讲述的方法是在Black Hat 2005大会上介绍的Shadow Walker的rootkit原型试验时提出的。这些方法使得攻击者通过控制扫描器在翻译 2007-06-27 12:24:00 · 1978 阅读 · 0 评论 -
VC++6.0调试篇:定位临界区(critical section)导致的死锁
在多线程程序的开发中,因为效率的关系,通常会选用CriticalSection作为同步的机制。初学者在设计开发多线程程序时经常会出现死锁的情况,昨天就看到有个哥们在发帖问这个(明显是郁闷中阿)。这里通过一个例子说下不用Intel的Thread Checker,Thread Profiler,也不用强大的WinDbg,只是用土土的VC6自带的调试器如何来轻松的定位这种死锁问题。原创 2008-12-10 05:08:00 · 9570 阅读 · 11 评论 -
VC++6.0调试篇:远程调试续--DLL篇
在上一篇文章中提到exe的远程调试后,有人问怎么远程调试动态库,所以再发个远程调试的续篇补充一下。 基本流程还是一样的,只不过调试动态库的话,除了需要动态库本身外,还需要调用该动态库的执行程序。这里假设要调试的动态库为TestDLL.dll,其中导出一个函数int Add(int a, int b);在可执行程序TestCSDN.exe中会调用TestDll原创 2008-11-24 20:12:00 · 7095 阅读 · 20 评论 -
VC++6.0调试篇:远程调试
VC开发环境之所以提供远程调试的能力,是因为有些情况下单机调试会让你崩溃掉。。。比如,调试GUI程序的WM_PAINT消息,因为要单步调试,所以调试器会对界面的重绘产生副作用(Heisenberg不确定性原理)。当然还有些别的情况也适用,比如程序在测试环境运行的好好的,但是在客户那行为总是异常,这时候如果可以TCP远程连接上去维护的话,就能通过远程调试的特性在出现状况的系统环境中原创 2008-11-23 21:02:00 · 8356 阅读 · 12 评论 -
实战:结合Dr.Watson系统日志和Vc6来定位多线程环境下程序异常退出的错误
当开发的软件发布以后,在客户那运行时可能会因为各种原因导致程序退出。这种情况很尴尬,很明显我们无法在客户机器上装个Visual Studio调试,所以必须有机制来收集出错的信息。软件本身的运行日志能提供部分信息,但是可能还不够。Windows系统为此提供了解决方案:Dr.Watson工具。Dr.Watson也算是一个小巧的调试器,32位的版本名字是drwtsn32.exe。可用于当系统中有原创 2008-09-29 06:36:00 · 7594 阅读 · 13 评论 -
Windows中主流的调试器介绍
调试器,顾名思义,就是用于调试的工具。为什么要调试呢?这得从一条虫子(bug)说起。江湖中传说还是在第一代真空管电子计算机时代,有一次研究人员发现计算机的行为不正常。于是他们就开始检查每个环节想找到原因,最终他们在机器里找到了条虫子(bug)从而解决了问题。于是后来便把发现并解决程序中与预期不符的行为称之为捉虫或除虫,也就bug加个De-前缀,即Debug。 火星人开发的程序是不是绝对没有原创 2008-09-21 09:18:00 · 1877 阅读 · 1 评论 -
昨天在单位遭遇威金木马病毒,可能是变种,手动杀之
症状是任务管理器里有logon_1.exe或者rundl132.exe。简单分析后,发现所有的exe几乎都被感染,每个目录下有个_desktop.ini文件用于记录日期。explorer.exe进程中有dll.dll动态库。c:/windows/system32/drivers目录下有svchost.exe在开机时运行。 杀毒比较简单: 1.断了网线 2.安全模式启动原创 2008-09-12 07:10:00 · 1223 阅读 · 0 评论 -
VC++6.0调试篇:运行时间的观察--watch窗口的技巧续
微软精心打造的VC调试器确实非常方便,再来看个watch窗口的小技巧:用作计时器 有时候可能想要知道个函数或者一段代码运行需要的粗略时间。一般是假如一些计时的处理,比如函数开始时调用GetTickCount()记录开始时间,完了在调用一边获得结束时间,一减就出来~~ 不复杂,但是确实需要动代码。实际上调试器中的watch窗口就能帮你简单的完成这个功能。很简单的代码,mai原创 2008-09-08 19:22:00 · 2706 阅读 · 0 评论 -
window服务程序突破限制访问网络共享资源总结
好久没来CSDN了,随手写了篇更新一下,写错的地方多多包涵哈~。 Windows中,程序以服务的方式运行好处多多。可以随着系统启动而自己启动,都不必等用户登陆;当程序出现异常退出时,系统提供了机制能自动重新加载起来;可以用LocalSystem的账户执行,这是个在本地权限极高的系统内建账户,属于系统TCB的一部分。但是也有些限制,比如有个注册表键好像不能访问,跟可怕的是不能通过网络访问原创 2008-09-07 19:41:00 · 4216 阅读 · 9 评论 -
Windows rootkits of 2005, part one(翻译)
出于学习计算机和英语的目的,尝试翻译一些英文的技术帖,我尽量翻译准确,然而不能保证,感兴趣的请参看原文:http://www.securityfocus.com/infocus/1850阅读基础:保护模式,PE文件格式,设备驱动程序 Windows rootkits of 2005, part o翻译 2007-06-14 20:36:00 · 2107 阅读 · 2 评论 -
利用NativeAPI的内存映射进行代码注入的新方式,至少我以前没见过~
代码注入的技术现在已经相当普及了,几个主要的方式包括 A.动态库利用CreateRemoteThread()调用LoadLibrary的远程注入 B.动态库安装全局钩子被映射到所有进程空间 C.打开要注入的进程,用VirtualAllocEx分配块空间将代码copy过去,然后CreateRemoteThread执行 D.使用调试API的Get原创 2007-06-07 22:21:00 · 2433 阅读 · 0 评论 -
SysLoad3.exe木马病毒的分析及清除方法
本文第一次发是4.1发在msn space上了,这次把这类的文章都搬过来~~大家请多指教~! 昨天下午加班回来,发现本本的行为相当诡异。看了看任务管理器,有几个Ie的进程和几个Notepad的进程有些可疑。然后看了看注册表,加了启动项:SysLoad3.exe,在Windows系统目录下面。唉,我是不用杀毒软件的,一般中了木马都是随便杀杀就完了,然而这个木马很讨厌原创 2007-05-24 20:20:00 · 1796 阅读 · 4 评论 -
Trojan.PSW.OnlineGames木马群浅析
winform.exe & winform.dll winform.exe这个木马还带了一个winform.dll的动态库,该动态库导出2个函数:fa和fc。ok,一步一步来看看吧。 winform.exe干的第一件事情是调用mixer系列函数设置静音~。这样一来,如果被Anti-Virus发现了,也没那么容易被察觉。嗯,赞细致~~原创 2007-05-24 20:25:00 · 1926 阅读 · 0 评论 -
网游:新三国策IV的加解密机制分析及外挂方面的思考
注意:本文为纯粹的技术研究,请勿用于不法用途 以前一直没太关注网络游戏外挂这方面的东西。前几天跟同事聊天,听他说起外挂这事儿,于是周日就下了一个网游:新三国策IV,随便玩儿一下,顺便分析其认证及数据报文加解密的算法。 这款游戏登陆时候的用户名及密码认证的安全性实在是不敢恭维。用户名是明文传递,密码只是经过了简单的加密运算,就在网络上传递用户的关键信息原创 2007-05-24 20:30:00 · 4775 阅读 · 0 评论 -
Windows rootkits of 2005, part three(翻译)
本系列的最后一章将探索5种不同的rootkit侦测技术用于发现Windows rootkit的分布。另外还会谈到9种为系统管理员设计的工具。1.介绍 在过去几年里Rootkit已经发展得很成熟,2005年中随着各种恶意软件甚至音乐CD蜂涌而至。尽管计算机系统被rootkit扰乱后要发觉或者清除rootkit是极度困难的,但是仍然有些方法可以侦测不同程度的rootkit。翻译 2007-07-23 13:01:00 · 2008 阅读 · 0 评论 -
理解内存管理的本质
看到很多使用C/C++的朋友都在内存管理上跌倒,不断的苦苦挣扎。究其原因,并非全是因为粗心导致的错误,而是在内存管理的理解上有偏差导致的混乱。个人认为关于内存的使用,最重要的一点就是认识到内存分配和释放操作的本质其实是对一片内存地址范围的所有权的分配。下面会详细阐述一下我个人的理解,希望对需要的朋友,尤其是新人会有些帮助。 作为C/C++开发人员来说,语言本身原创 2009-03-01 21:02:00 · 2593 阅读 · 7 评论