介绍个好玩的,Crack .NET

                                     介绍个好玩的,Crack .NET

                                                周银辉 

这是一个.net调试工具(当然改吧改吧也可以拿来干坏事),它可以遍历.net应用程序的托管堆, 这不是它最犀利的地方,其相比于其他(比如snoop)来说,犀利的地方在于,其可以用IronPython作为脚本进行调试。这对于没有vs环境并且还想“即时”调试的人来说,很爽啊(至于有多爽,自己去体会吧)。

地址在这里: http://cracknetproject.codeplex.com/ 

稍稍提示一下,以免你摸不着头脑:

1,要将 IronMath.dll 和 IronPython.dll放在GAC下

2,运行后,你的入手点应该是在presentationFramework下面的application 类型下,找到Application.Current属性,从这里开始(否则你会很郁闷地发现全是静态字段,实例字段呢?)

3,找到你关心的对象后,选中它,点击”Scriptorium", 你关心的对象会被取一个别名叫做“INPUT", 然后就可以开始写脚本了。

 

一个简单的例子:
有如下一个窗口

< Window x:Class = " WpfApplication1.MainWindow "
        xmlns
= " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
        xmlns:x
= " http://schemas.microsoft.com/winfx/2006/xaml "
        Title
= " MainWindow "  Height = " 100 "  Width = " 200 " >
    
< StackPanel Orientation = " Vertical " >
        
< PasswordBox />
        
< Label Content = " this is a label " />
    
</ StackPanel >
</ Window >

我想在调试时取得密码框的密码并显示在标签上。
首先,运行程序,并用Crack.net导航到标签控件:
 

然后Scriptorium,写如下ironpython代码:

#  Uncomment the following lines if you need to use the types they import.
#
import clr
#
clr.AddReference("PresentationCore")
#
clr.AddReference("PresentationFramework")

from  System.Collections  import   *
from  System.Collections.Generic  import   *
from  System.Diagnostics  import   *
# from System.Windows import *
#
from System.Windows.Forms import *
#
from System.Windows.Controls import *

if  INPUT  <>  None :
    
INPUT.Content  =   " this password is :  "   +  INPUT.Parent.Children[0].Password
else  :
    
print   " The INPUT variable has no value. "

Debug.WriteLine(
" This text is sent to the Debug Output workspace, if it is open. " )

 

很爽吧,这个用在没有vs的环境中,在一定程度上可以代替远程调试(远程调试很烦,经常由于防火墙以及windows安全策略之类的折腾半天都连不上)

 

原理:

1,首先是进程注入部分,这和我以前写的”.net 进程注入“这篇随笔的原理是一样的

2,脚本部分,采用的是IronPython,其有一个叫PythonEngine的东东, 可以动态加载和运行Python代码。(python简明教程看这里,IronPython的一些资料看这里

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值