zl程序教程

您现在的位置是:首页 >  后端

当前栏目

如何分析加上SE壳的.net程序

Net程序 如何 分析 加上 SE
2023-09-11 14:13:58 时间

对于搞二进制的朋友都知道VMP、Tmd、SE等壳都是目前最强的壳,基本上对于我这种菜狗就是右键回收站。

之前我读大学的网络验证程序就是加的Se壳,虽然大学学习的也不是安全方向的,但是那时接触了破解,大概了解了od怎么使用,于是拖进od开始f7+esp定律(那时原理也不懂就看别人是怎么搞的),后来发现了它加的Se壳,我的直觉告诉我事情不简单。

的确事情变得有趣起来,网上确实收了不少资料,但是很多资料不适合新手以及发布视频的人水平参差不齐,而且大部分加vmp和se都是外挂,所以破解通常都是e语言写的,说句实话如果你是从c语言开始接触编程的你看e语言你是真的不得劲,大部都告诉你程序跑起来之后到0x401000去然后脱壳就结束了,实际上Se被加成这样还不如加一个Upx(这里不针对那些发布视频和教程的大佬,同时感谢他们愿意把知识分享出来),然后我就照着方法去找0x401000,结果是程序压根就不会映射到0x401000。

闲话说了这么多那到底怎么脱SE,当然我也不会。但是我们可以在不脱壳的情况下分析加SE的.Net程序(正常vs和vc编译的使用该方法无效),首先你得知道这个程序是.net的,方法很简答,脱进od跑起来观察添加的dll,通常vc和vs编译的都没有这么多乱七八糟的dll导入

之后使用petool把这块内存dump出来,我也试过使用Procexp微软提供的工具dump,但是两种大小差距很大而且后者dump出来的不能使用反编译工具分析

最后把dump出来的文件放到.net的反编译工具就能直接看到源码了,这里使用的dnspy,这个工具也确实很好用(象征性的打码)