bochs中查看段寄存器使用sreg命令!
Archive for 20 9 月, 2011
bochs
星期二, 20 9 月, 2011XP Boot Sector1
星期二, 20 9 月, 2011XP.BS1即Windows XP启动分区中的第一个扇区,是继XP.MBR之后执行的代码。用老办法WinHex拷贝为新的二进制文件,debug -u反汇编之。分析了一段代码,坑爹的发现代码部分里面穿插了好多DB定义和奇怪的操作,然后就分析不下去了。我还以为是花指令或者为了填充到指定大小引起的呢。结果下午竟然用IDA折腾出来了。
IDA分析一段二进制的时候首先要确定这段二进制是代码,其次要选择好反汇编的CPU平台,最后需要在确定是代码的部分:右键—>分析指定区(不然你会看到全是DB定义,木有代码)。
先奉上我用debug -u分析的那段,虽然后面分析不下去,但前面能分析的部分大体是正确的。
再奉上IDA分析过后的(需下载,并用IDA打开,就别直接点开看了)
XP.BS1(修正部分没在IDB里修正,sorry,看.txt吧)
最后方便没有IDA或想在线看IDA分析过后的(这个是从IDA文件中拷贝出来的,可以直接点开看)
XP.BS1.IDA(看后面的修正吧)
参考资料:活动分区的引导记录DBR分析加XP.MBR中的那些。
重要修正:怎么说呢,技术还很菜,难免疏漏。用bochs跟了遍,修正下.txt文档。