Windows平台相关
AlbertLi
不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之
展开
-
重写软件调试器仿SOFTICE界面支持更多实用功能:)
不说废话还是上图MARK:)调试器界面图:功能表:原创 2012-09-18 04:39:45 · 3434 阅读 · 4 评论 -
利用DebuggerX定位关键CALL
最新写了一个调试器正式的名字叫做DebuggerX,界面上山寨了一部分SOFTICE的界面:)利用自己写的调试器可以辅助定位一些软件的关键CALL,这里我们拿CALC.exe来举一个例子,这个也就是Windows自带的计算器程序。我想知道这个计算器的关于的关键CALL在那个函数当中,从而了解到这个关于界面是怎么出来的。OK,假设我不知道这个关于界面是通过什么样的函数或者调用弹出来的,这原创 2012-09-23 21:52:27 · 1326 阅读 · 0 评论 -
内核小工具自己写
最近写了一个小工具方便各种涉及系统内核级操作,以及对于内核函数的监控等等,用来分析病毒程序,特别是加了猛壳(虚拟机壳等等)的各种行为十分有效。截图继续Mark,并不断完善之。在制作的过程中,发现,如果自己实现切换上下文,实现无进程、无线程、内存隐藏、数据加密、所有函数自己实现后真是很不好防啊!!!!特别是作为RootKit来用的时候。不废话截图Mark了。。原创 2012-11-16 12:42:41 · 738 阅读 · 0 评论 -
DebuggerX0.3版修改需求
根据这些天来的使用情况,对自己写的调试器DebuggerX准备做以下改进:增加对IDA函数导出的直接支持(TraceBP功能);添加进程Attach功能;拟提供签名函数的识别支持功能(直接使用IDA的库签名文件)(*视情况而定)研究自己实现调试框架,放弃微软提供的基于DebugEvent的调试框架,从而实现更加灵活的调试过程(同时也可以反一部分反调试)。原创 2012-12-14 18:07:51 · 662 阅读 · 0 评论 -
DebuggerX0.3版本【主要新功能已完成】
1、新增了附加功能(如图1):2、能直接用IDA导出或者COPY出来的函数信息了:测试调试都没有问题:,下一步完善一下通知的机制,让其更加灵活。原创 2012-12-31 21:16:29 · 818 阅读 · 1 评论 -
通过逆向学习软件设计(1)
Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation.----- Eilam, Eldad &原创 2013-01-29 22:17:57 · 1284 阅读 · 0 评论 -
通过逆向学习软件设计(2)
好久没有更新这个系列了(这个系列计划是完成大约3-4篇短文),换了新工作,开始做手机网游相关的东西,服务器、客户端都弄,加班也比较多,因此这个逆向学习软件设计的小系列就没有来的及更新。这次补上,另外完成这个系列后,我将会写一些关于手机网游开发的相关心得体会或者经验教训,在客户端上面:主要围绕Cocos2d-x游戏引擎的理解、使用、扩展;在服务器端上:主要围绕Linux64位服务器端的开发过程中的问原创 2013-06-30 01:02:22 · 1452 阅读 · 2 评论 -
通过逆向学习软件设计(3)
新的一年来到了,这个系列的文章也由于各种原因拖了好久,无奈地也跟着跨年了!接下来几篇重点在于URL数据文件data.dat的定位及解密过程。根据上一篇的内容,我们很容易了解到大致的定位方法及方式,现在我们就要首先从逆向源码的角度来验证一下通过API调用流程监控结果的猜想。 首先,对于文件的各种操作着手,很容易进行API断点,然后通过栈回溯的方法定位到相关的关键代码位置,这个过程相对简单,原创 2014-02-07 01:09:44 · 1215 阅读 · 0 评论 -
通过逆向学习软件设计(4)
接上文,通过分析到核心函数重点逆向其中的六个子函数,从第一个函数Sub_525444开始(如下图)对应的函数汇编形态如下: 初步逆向代码如下:原创 2014-03-03 23:21:56 · 1195 阅读 · 0 评论 -
新年拿WinGDB最新版练练手
引子:年前BLOG被黑了,好多文章被恶意删除,好在CSDN的朋友帮忙一一恢复了,可是就是关于WinGDB的那篇死活恢复不了,算是永久丢失了(也不觉得可惜,只是记录一个轨迹而已);新年新气象,恰好WinGDB这个软件具有特别好的练手特性,也就有了这篇文章,其中的Lincense算法部分也不算特别难,但是我还是比较懒,也就不细说了,还是回归一点,此篇文章不是为了破解商用,仅仅作为练手之用,更无意为盗版原创 2015-02-26 01:06:31 · 4889 阅读 · 10 评论 -
通过逆向学习软件设计(5)【完结篇】
本篇为完结篇,通过对CRadio的分析拆解,重点完成了对于整个软件中最有价值的电台数据文件的解密,同时作为完结篇也对整个软件另外一个重要的部分——播放的实现做一个连带的梳理,阐述其播放是如何实现的,涉及到的重点就是根据播放源的URL如何进行交换获取数据播放出来; 提纲如下: - CRadio电台数重点内容据的解密 - 如何应对不同源的请求、交互、播放 - 总结一、CRadio电台数重点内容据原创 2015-04-06 16:59:30 · 1354 阅读 · 0 评论 -
FAT32、NTFS文件直接操作小工具(上图MARK记录)
文件系统是操作系统的重要核心之一,能够对文件直接操作,可以做正常情况下无法完成的事情,比如:拷贝正在使用的文件、文件粉碎、文件的彻底隐藏等等。这些的核心就是要求能够对文件本质进行直接操作,因此采用什么文件过滤驱动的方式、其他API辅助的方式,在某种意义上说,还是隔了一层,对文件直接操作才是王道,不调用任何Windows提供的API才是最好的解决方案,一方面,相关的杀软无法做API Hook检测原创 2012-10-08 03:21:58 · 839 阅读 · 0 评论 -
分析某款网络收音机的数据解析部分
【声明:本文只是本着研究学习的目的进行分析,且关键部分都做了模糊处理避免给软件作者带来不良影响】最近发现一款很不错的免费软件,能够在线收听很多国内外的电台,该软件收集了几千个国内外的电台,可谓相当之方便,整个软件最具价值的部分就是这几千个电台的真实URL了,软件采用Borland Delphi 编写,其数据都放在Data文件夹中,还好软件的作者还是有一定的保密意识的,除了不重要的诸如树状节点显原创 2012-08-25 23:25:36 · 1124 阅读 · 0 评论 -
给inc2l打个提醒补丁:)
用过RadASM的都知道,有时候会碰到一个较为莫名的问题,在include文件下利用inc2l生成一个对应的lib文件不成功且没有任何提示,性子急的人就容易以为程序本身出了问题,其实这个是程序在默认情况下的处理不给力的原因。这里可以分析一下inc2l,获取一些有用的信息:图2.1分析前问题重现 脱壳后利用OD载入进行调试后,通过分析可知该程序必然要进行文件的创建操作(因为lib原创 2012-08-16 19:25:14 · 1882 阅读 · 1 评论 -
Visual C++ 异常模型【En】
原文链接:http://www.gamedev.net/reference/programming/features/vcppexceptmodel/When programming in C++ with Microsoft Visual C++, your program has two exceptions models: the normal C++ exception model a转载 2008-04-19 12:56:00 · 2216 阅读 · 0 评论 -
Windows下Critical Section、Event、Mutex、Semaphores区别
引用自:http://hi.baidu.com/blackfox1983/blog/item/23af4b51307d8b2142a75b9e.html临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并转载 2008-08-06 14:45:00 · 1822 阅读 · 0 评论 -
Windows via C/C++ 5th 读书笔记(Ⅱ)
今天按照原计划开始第二章的阅读和学习,本章相对于原来《Windows核心编程4th》有了较大的改写,具体在于新函数和特性的介绍,着重强调安全编码(Security-Coding)的重要性以及通用编码的本地化意义,同时从内部向我们揭示了使用Unicode的高效性和通用性,我个人感觉十分重要,因为几乎每个程序员都要与字符与字符串打交道,而由于历史的原因大量的遗弃函数或者说是饱受批评的函数(原创 2008-08-23 19:41:00 · 1157 阅读 · 0 评论 -
MSDN的整合问题的解决---让VS2003用上MSDN2005
一直使用VS2003以及其整合的MSDN2003来做开发,结果由于磁盘空间问题,被迫删除了MSDN2003。而后的一个月后,越来越发现不是很方便,有时候上网查MSDN Liberary感觉速度慢太麻烦,没有办法只有重新找一个MSDN装上,到微软技术支持的相关网站查询:发现VS2003理论上是可以使用MSDN2005的(PS:VS6.0只能整合到MSDN2001,想用高版本的话估计得自己想办法原创 2008-08-25 10:46:00 · 2367 阅读 · 0 评论 -
Jeffrey Richter对于Unicode的建议
对于Windows via C/C++第二章的重要部分,其中的读书笔记中原滋原味地保留了Jeffrey的建议,这里帮那些见到E文就犯晕的同仁准备一个翻译好的版本:)当然还是中英文对照的(万一我翻译的不好,还有个英文原版可以做对照) Why You Should Use Unicode(为什么你应该使用Unicode)When developing an applicat翻译 2008-08-25 12:59:00 · 1263 阅读 · 0 评论 -
MFC消息详解
MFC消息详解1. 怎样使用MFC发送一个消息用MFC发送一个消息的方法是, 首先,应获取接收消息的CWnd类对象的指针; 然后,调用CWnd的成员函数SendMessage( )。 LRESULT Res=pWnd->SendMessage(UINT Msg, WPARAM wParam, LPARAM lParam); pWnd指针指向目标CWnd类转载 2008-11-23 18:56:00 · 622 阅读 · 0 评论 -
CString操作指南~
转帖前言:CString算是在Windows平台下用C++开发程序用得比较多的类了,有的人甚至由于用习惯了将其移植到Linux、Unix的代码中去使用,但是你真的将CString用好了吗,真的认真阅读了其中的原代码了吗,看看这个指南吧:)CString 操作指南原著:Joseph M. Newcomer翻译:littleloach原文出处:codeproject:CString Manag转载 2009-02-02 22:23:00 · 826 阅读 · 0 评论 -
Windows via C/C++ 5th 读书笔记(Ⅰ)
按照计划开始每天一章的阅读:),第一章:Error Handling这一章主要是讲授Windows里面的错误处理,确切地说是WindowsFunction的Error Code以及其意义。要点:1、ErrorCode的结构: //The Structure is as below// [31---------30]--------------[29]-------------原创 2008-08-22 15:06:00 · 1056 阅读 · 0 评论 -
逆向序列号生成算法(二)
接上次的,将序列号的验证算法流程及代码都整理出来了,最后弄成了三个小函数,为了更加方面阅读,理解验证算法的原理,进而为序列号生成算法的设计做铺垫,这里,我们将上次代码中的汇编部分,都逆向成C/C++来表述。 首先是计算部分的Step1: void CalculateKeyStep1( const char *pStrName, const char *pStrSerialNum,原创 2011-11-21 23:25:31 · 1965 阅读 · 0 评论 -
逆向序列号生成算法(一)
对逆向工程一直很感兴趣,工作之余自己也研究一下,好久没有练手了,OllyDBG的使用都感觉生疏了,晚上抽空先去补了补OllyDBG的使用方法,然后看到一个叫做CycleCrackMe的序列号保护练手程序(如图1),刚好是OllyDBG入门文章里面提到的一个演示用程序,只是把OllyDBG的消息断点及RUN的跟踪相关的知识讲了一下,对CycleCrackMe里面具体的加密算法留给读者自己去研原创 2011-11-13 21:18:03 · 3398 阅读 · 1 评论 -
逆向序列号生成算法(三)
接着上次的分析,继续分析下去,对于这个CrackMe,其要求是写出注册机,那么我们就根据其注册码的验证过程,进行逆向分析,首先找到最关键的一个爆破点,我们先看看这个爆破点的位置,如图1可见最后的验证关键点其实在那个MagicNum的值上面,因为用户名是我们给定的,属于已知值,而序列号则是可以由我们构造的也可以认为是已知值,唯一不确定的就是那个MagicNum了,而这个值却跟我们输入的用户名及序列号原创 2011-12-07 22:52:32 · 7422 阅读 · 1 评论 -
天热,周末宅家,写了个BUG满天飞的Debug调试器
如题,放出截图MARK一下:原创 2012-08-20 00:14:28 · 3046 阅读 · 0 评论 -
逛MSDN发现一篇有用的做透明窗体的文章
透明层叠窗体很有意思,也很有用,总要用到的,故贴在此处以备后用:) 上点图:)Figure 1. Translucent Calculator and Clock with transparency on top of Microsoft Money help to manage the screen real estate.Figure 2. Microsoft Ag原创 2008-03-31 23:59:00 · 835 阅读 · 0 评论