代码改变世界

【转载】之 破解 (【原创】Xenocode Postbuild 2009 加壳破解 (不断更新中...))

2014-09-03 01:43  木+头  阅读(492)  评论(0编辑  收藏  举报

声明

本文转载,感谢原作者dotNetSafe分享

【原创】Xenocode Postbuild 2009 加壳破解 (不断更新中...) http://bbs.pediy.com/showthread.php?p=709608

1.文章简介

这是个用来说怎么 破解通过 Xenocode Postbuild 加壳后的应用

2.正文

周末闲来无事, 就拿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运行 就是这个 ???  

完!!!


(兄弟们别拍砖就行~~  水平有限, 期待和大家一起学习。。。)

 

3.更多阅读

软件调试逆向 (看雪论坛)http://bbs.pediy.com/forumdisplay.php?f=4