存档

2012年1月 的存档

用户帐户管理数据重定向(UAC虚拟化)

2012年1月29日 4 条评论

在前面一篇文章《仙剑奇侠传三存档修改器去广告版》中提到玩仙剑三的时候存档文件被重定向了,后来查了下是所谓的“UAC虚拟化”技术,用了这么久的Windows 7,才知道有这个东西。下面这篇文章是微软的白皮书。
数据重定向:写入受保护的资源
介绍
很多应用程序都设计为把文件写入Program Files,Windows目录,或者系统根(一般是C盘)文件夹。一些应用程序被设计为更新Microsoft Windows 注册表的值,特别是HKLM/Software中的值。但是这样会有存在一个问题:文件或注[……]

继续阅读

MBR基本结构

2012年1月28日 7 条评论

近两年MBR病毒还是不少见的,闹得比较大的有“鬼影”病毒、BMW病毒等。所以我觉得还是有必要了解一下MBR的相关知识,最好能找个样本分析下。

MBR定义

MBR全称Master Boot Record,中文叫做“主引导记录”,又叫做“主引导扇区”,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的地址为0柱面0磁道1扇区。MBR 的主要作用是检查分区状态,寻找活动分区,并将控制权交给活动分区引导记录DBR,再由分区引导程序加载操作系统。标准MBR的结构如下:[……]

仙剑奇侠传三存档修改器去广告版

2012年1月22日 3 条评论

闲着没事,玩了玩《仙剑奇侠传三》,但是景天从永安当走出去打怪的时候,怎么也打不过,于是就下了个修改器。不过那个修改器每次用的时候都会改IE浏览器的主页,非常的烦人,所以我把它改主页的地方Patch掉了。下载地址:

仙剑奇侠传三存档修改器去广告版

另外昨天玩的时候笔记没电自动休眠了,今天打开,仙剑三的安装目录下的save文件夹(存档用的)怎么也找不到了,但游戏依然能够正常的读档和存档,非常的奇怪。于是用ProcessMonitor监控了一下,发现原来的路径被重定向了……不知道这个是怎么回事。[……]

IDA修改程序反汇编代码基址

2012年1月21日 没有评论

在使用IDA对二进制文件进行逆向分析的时候,有时候如果能把特定的代码段的基址修改为指定值,将使得代码更好的理解。
在IDA中进行这样的操作的方法有如下几种:

Manual load并指定基址
Edit->Segements->Rebase program

参考资料:http://www.debugman.com/thread/5204/1/1[……]

分类: 逆向调试 标签: ,

Object Slicing与虚函数

2012年1月14日 14 条评论

终于回到家里了,在此不禁要感慨一下“春运”的神奇。在家里没什么事,就看点书吧,可是东西太多,书带一两本就够了,带多了也没看,想来想去,最终带了侯捷的《深入浅出MFC》(这本书实在淘宝上淘来的D版,买D版是因为考虑到这本书太老了,买了一年多了,一直没有看,想到平时多少还是要用点MFC,并且还要看看ATL,所以还是翻一翻吧),另一本是李开复的自传《世界因你不同》,也是买了好久了一直没有看。(因为好多书买了没看,所以我控制住自己今年下半年只买了新版的0day安全)
《深入浅出MFC》的前面两张基本上没[……]

继续阅读

[驱动学习笔记]LIST_ENTRY和DPC定时器

2012年1月7日 4 条评论

链表的使用
链表是驱动开发中经常遇到的一个数据结构,主要是双向循环链表;要使用链表,需要用到一个LIST_ENTRY的结构,其定义如下:

typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink; // 指向下一个节点
struct _LIST_ENTRY *Blink; // 指向前一个节点
} LIST_ENTRY, *PLIST_ENTRY;

在实际的编程中,我们需要自己定义链表的节[……]

继续阅读

IO_REMOVE_LOCK使用方法小结

2012年1月1日 没有评论

IO_REMOVE_LOCK(删除锁)的具体结构没有公开,WDK的文档中中查不到IO_REMOVE_LOCK。最开始看到IO_REMOVE_LOCK是在WDK的例子event中。下面是参考网上的一些资料之后的一点总结,错误的地方请指正。

为什么要用IO_REMOVE_LOCK?
WDM 驱动程序在处理设备删除 IRP 并释放驱动程序分配的内存后可能接收到附加的 IRP。在处理附加的 IRP 时试图引用已经释放的内存会导致系统崩溃。驱动程序能够接收已删除设备的 IRP,这有两个原因:
1. 在设备被删除后,另一个组件可以发送 I/O。
2. 在设备删除请求之前发送的 I/O 请求可能在目标驱动程序处理设备删除请求之后到达。[……]