XP.BS1即Windows XP启动分区中的第一个扇区,是继XP.MBR之后执行的代码。用老办法WinHex拷贝为新的二进制文件,debug -u反汇编之。分析了一段代码,坑爹的发现代码部分里面穿插了好多DB定义和奇怪的操作,然后就分析不下去了。我还以为是花指令或者为了填充到指定大小引起的呢。结果下午竟然用IDA折腾出来了。

IDA分析一段二进制的时候首先要确定这段二进制是代码,其次要选择好反汇编的CPU平台,最后需要在确定是代码的部分:右键--->分析指定区(不然你会看到全是DB定义,木有代码)。

先奉上我用debug -u分析的那段,虽然后面分析不下去,但前面能分析的部分大体是正确的。

XP.BS1

再奉上IDA分析过后的(需下载,并用IDA打开,就别直接点开看了)

XP.BS1(修正部分没在IDB里修正,sorry,看.txt吧)

最后方便没有IDA或想在线看IDA分析过后的(这个是从IDA文件中拷贝出来的,可以直接点开看)

XP.BS1.IDA(看后面的修正吧)

参考资料:活动分区的引导记录DBR分析加XP.MBR中的那些。

重要修正:怎么说呢,技术还很菜,难免疏漏。用bochs跟了遍,修正下.txt文档。

XP.BS1.IDA修正