.Net 破解技术(纯技术探讨,请勿用于非法目的)

CsToD 2010-11-22 10:45:46
.Net 破解技术

作者:CsToD
QQ:544125362
QQ群: 22698021


下载地址:
http://download.csdn.net/source/850509

博文:
http://blog.csdn.net/CsToD/archive/2010/11/22/6026212.aspx

关于技术细节,请参考我之前的文章《托管注入深入研究》

我这里主要是给大家介绍一下我开发的软件SuperSpy及其插件


前言:SuperSpy是我在大学时期写的一个程序,一直在使用,很方便,不过当时写得很粗糙,近期对其进行了升级,使其更为强大。

文件说明:整个软件共有6个文件
1. SuperSpy.exe 主程序,可用于探测、操作窗口,判断进程类型等,并提供插件注入的入口(C#开发)
2. Invoke2.dll 实现基于CLR2的插件注入(C++/CLI开发)
3. Invoke4.dll 实现基于CLR4的插件注入(C++/CLI开发)
4. PropertyControl 插件,用于操作WinForm窗口(VB.NET开发)
5. PropertyControlForWPF 插件,专用于WPF的属性编辑器(C#开发)
6. SuperSpy.exe.config 用于CLR版本控制 (XML格式的纯文本文件)

功能简介:

一:SuperSpy
SuperSpy是一个面向Windows的程序,并非特定于.Net(如果你专门针对.NET程序,请使用附加的两个插件)




使用说明:
启动软件后,可以在标题栏看到当前程序的运行时,你可以使用右边的“切换到CLR“按钮来切换到另一个运行时(也可以自己在.config文件中配置)
首先拖拽“窗口探测器“的小图标到你希望探测的窗口,这时候程序会用反色来描绘探测到的窗口的边框(在Win7中,由于主窗口的边框是透明的,这个效果不明显,但是子控件还是比较明显的),同时,相应的文本框会显示对应的信息。比较有用的功能是:
1. 禁用/取消禁用窗口,这相当于“灰色按钮突破器”,有的软件没注册,某些功能就灰掉而无法使用,可以通过这个功能来解除该限制(仅用于Win32程序,.Net程序请使用插件PropertyControl来实现同样的功能)
2. 置顶/取消置顶窗口
3. 修改标题
4. 结束进程 可用于替代任务管理器的相关功能(如果程序没有窗口,需要手动填写进程ID)
5. 进程类型判断 这是一个十分有用的功能,一般我们判断程序的类型用的静态方法,也就是基于文件的方法,比如PEID,Reflector等,但是如果程序加了壳,判断往往不准确;该方法是基于进程的,比较准确,一共支持三种类型:非托管进程/CLR2/CL4(如果显示的是CLR2或CLR4,说明是.NET程序) 。请注意,我这里使用的是“CLR”,而不是“.Net“,实际上.Net 2.0/3.0/3.5的内核都是CLR2.0
6. 开发语言判断:通过窗口的类名,可以“推测”软件的开发语言,比如如果类名是”Button”,”Static”这样非常简单、规范的名称,一般是C/C++程序;如果类名含有一个T前缀,比如”TButton”,”TTextBox”,一般是Delphi程序;如果类名含有一个ThunderR6前缀,一般是VB开发的
7. 功能模块判断 :有的时候你需要知道某个窗口是哪一个dll编写的,可以在“模块中看到”,如截图中的模块是MSVBVM60.dll,通过这个名称,你也应该知道,目标程序是一个VB程序,上面的类名也正好说明了这一点
8. 远程注入 这是该软件的最大亮点,可以支持插件,从而实现丰富的功能。只要遵循插件的规范,任何人都可以编写插件。
插件的规范是:
在任意一个类中定义如下成员:
Public static void Inject()//注入后要执行的函数
{
}
Public static string Desription//插件的描述
{
Get;
}
我本人为大家编写了两个插件,后面会讲到的。
另外,SuperSpy还提供了一个功能:
如果插件向SuperSpy的主窗口发送了一个ID号为2000,wParam为插件窗口句柄的消息,则SuperSpy会在探测到窗口后,向插件窗口发送ID号为2000,wParam为所探测的窗口句柄的消息。(你会注意到:在PropertyControl插件中,其本身并没有窗口探测功能,但是其可以利用SuperSpy的探测功能自动切换对应控件的属性;而在PropertyControlForWPF中,我并没有实现该功能,而是重写了一个窗口探测器)

二: PropertyControl
该插件专用于.NET 的WinForm程序,注入后,可以看到:
左侧窗口树上显示四项数据:
字段名,Name属性,控件类型,控件的CLR类型(用于自定义控件)

这里面非常重要的是字段名和Clr类型,因为有的程序经过了字符串混淆,破解时往往知道哪个按钮的单击事件中有重要代码,但是并不知道怎么在Reflector中找到该按钮,有了字段名,你可以通过类名,字段名准确的定位到该控件
Clr类型也有重要,因为有的人使用的控件是自定义的,你从名字上看不出来是什么控件,通过Clr类型就知道该控件是从何处派生出来的



在先中某个节点后,会在右例面板显示对应的属性,只要不是灰色,就说明你可以任意修改,就像你在写程序时,直接在属性窗口中修改一样!!!(这可是别人的程序哦),比如前面提到的“灰色按钮突破”,只需要设置Enabled为True即可,跟设计时用VisualStudio里的属性窗口完全一样!
另外,右击左例面板,可以选择“统一设置所有控件属性”,这样你可以设置全部控件的属性,比如Font,Visible等!

三:PropertyControlForWPF



由于我目前专门做WPF开发(多点触摸),所以做了一个面向WPF的插件。
探测时,你可以选择是基于逻辑树的探测,还是基于可视树的探测
...全文
1071 68 打赏 收藏 转发到动态 举报
写回复
用AI写文章
68 条回复
切换为时间正序
请发表友善的回复…
发表回复
CsToD 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 crackdung 的回复:]

只是说没用,你自己做例子给别人看看,这样就能证明的你工具是好东西
[/Quote]

没用?

试想一下这种情况:

如果一个程序混淆得非常厉害,而且控件非常多,你知道鼠标点下某个按钮时执行了一段很有用的代码,请问你在茫茫代码海中怎么找到这段代码?你根本不知道你点击的是哪个按钮!

有了这个工具,我会告诉你你点击的这个按钮定义于哪个类中,它所属的字段名是什么,有了这个信息,你就可以找到该控件,并在其Click事件中找到你需要的东西

这仅仅是一个例子而已
ttyyadd 2010-12-01
  • 打赏
  • 举报
回复
lz太强了
fongming 2010-12-01
  • 打赏
  • 举报
回复
不會吧,這個東東也有啊。
freetd 2010-12-01
  • 打赏
  • 举报
回复
做破解有钱途......
ymk 2010-12-01
  • 打赏
  • 举报
回复
用反射是最捷径的
Dobzhansky 2010-12-01
  • 打赏
  • 举报
回复
Runtime Object Editor 还说不上破解
crackdung 2010-11-29
  • 打赏
  • 举报
回复
只是说没用,你自己做例子给别人看看,这样就能证明的你工具是好东西
CsToD 2010-11-29
  • 打赏
  • 举报
回复
测试用的MaxToCode的版本是3.42
CsToD 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 crackdung 的回复:]

對於MaxToCode殼,是沒有作用,其它的我也用不上這樣做,,,,對我是沒有任何用處,,這些技術國外做得更好。。。我根本不參考中技術
[/Quote]

已验证,对MaxToCode同样有效
格拉 2010-11-27
  • 打赏
  • 举报
回复
健者天行 2010-11-27
  • 打赏
  • 举报
回复
新的:
http://download.csdn.net/source/2850709

健者天行 2010-11-27
  • 打赏
  • 举报
回复
lz
"下载地址:
http://download.csdn.net/source/850509"

这个下载地址,是2008年,只有4个文件,没有

2. Invoke2.dll 实现基于CLR2的插件注入(C++/CLI开发)
3. Invoke4.dll 实现基于CLR4的插件注入(C++/CLI开发)
4. PropertyControl 插件,用于操作WinForm窗口(VB.NET开发)
5. PropertyControlForWPF 插件,专用于WPF的属性编辑器(C#开发)
6. SuperSpy.exe.config 用于CLR版本控制 (XML格式的纯文本文件)



健者天行 2010-11-27
  • 打赏
  • 举报
回复
有用,
很想学习一下这方面。


weakey 2010-11-27
  • 打赏
  • 举报
回复
感谢分享,下了下来,用得不错啊。楼主强人。
CsToD 2010-11-27
  • 打赏
  • 举报
回复
有的杀毒软件报病毒,那是因为有同名的软件,是一个远程控制软件

现在的杀毒太烂了,居然用文件名做判断依据。。。
liuyilin999 2010-11-26
  • 打赏
  • 举报
回复
就这点东西,离破解甚远
linphantom 2010-11-26
  • 打赏
  • 举报
回复
标记。。。。
浪子-无悔 2010-11-26
  • 打赏
  • 举报
回复
搞黑客的。。
Microblue 2010-11-26
  • 打赏
  • 举报
回复
关注关注~~~~
Microblue 2010-11-26
  • 打赏
  • 举报
回复
关注关注~~~~
加载更多回复(35)

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧