Xenocode Postbuild 2009 加壳破

周末闲来无事, 就拿Postbuild 2009研究了下, 还有一些问题,还请大侠们指正......

工具:Postbuild 2009破解版 , LoadPE , CFF 

先用C#写个测试程序, 代码如下:

CString msg = "This is test!";

MessageBox.Show(msg);

编译为Test.exe

启动Postbuild 2009 ,依次选择Suppress ILDASM  ,Metadata Renaming ,String Encryption
然后 Xenocode App 

保护后的程序为Test_Xeno.exe ,试着运行下。 一切正常!  然后试着用CFF打开看看它的结构,结果CFF显示Test_Xeno已经变成一个本地的非.NET程序了 。 比较好奇,既然它能正常运行,那就拿Windbg跟一下吧。 加载Test_Xeno.exe后,试着在几个关键的地方下断, UnsafeJitFunction, compileMethod  ,结果都无法断下。 然后看了下内存中的文件, 没有还原的迹象。 

接着在 MessageBoxW 下断,还是无法断下。 陡然对 Postbuild 2009产生一丝敬畏....  难道是我的操作哪里出问题了? .NET的程序肯定要还原的呀, 不然怎么运行???  难道启动了多线程或者多进程?  打开任务管理器看了下, 发现果然启动了一个新的进程。 这下就好办了。 


用Windbg Attach到进程中去 .... , 然后Dump 。 用CFF打开一下, 显示有错误。  好了, 该是修复的时候了。 依次将程序的MetaRva , MetaSize等修复。  这次, 元数据表清晰的展现在我们面前。 Postbuild 加入了一些自己的类和函数。  找下原来的Main函数 , 用RVA的偏移定位在文件中看了下, IL代码都被还原了!!(挺意外的)不过Main函数被混淆成 xc44908776323字符串, 这个没关系。  现在唯一的问题就是String Encryption这个东东了 , 不着急, 将格式依次修复, Windbg可以帮我们解决问题。。 呵呵


其实,还没有完全破解, 还有些问题需要完善。 希望大虾们给补充..........


总体来说, Postbuild 的保护让我很失望(不过可能Postbuild 的功能我没有研究到位)。 所谓的压缩,抗ILDASM 等等吧。 都是一层窗户纸, 没有什么新意。更让我郁闷的是 在Postbuild  的Virtualization Settings 里有 embed .net runtime 和 embed sql  的选项 , 难道脱离runtime运行 就是这个 ???  

完!!!

你可能感兴趣的:(Xenocode Postbuild 2009 加壳破)