首页
社区
课程
招聘
[旧帖] [求助].net逆向的基础问题 0.00雪花
发表于: 2007-8-31 15:53 3448

[旧帖] [求助].net逆向的基础问题 0.00雪花

2007-8-31 15:53
3448
因为是混淆了的,反编译出来的代码如下:
using System;
namespace Root
{

    public class du
    {

        public class a : System.IDisposable
        {

            public a()
            {
                OSAPI.Take();
            }

            public void a()
            {
                OSAPI.Release();
            }

        } // class a

        public du()
        {
        }

    } // class du

}

在用到这个类的地方的代码如下:
using (du.a a = new du.a())
{
       ... ...
}
请教怎么还原这段代码?我看半天看不明白,请高手指点,先谢过了!

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已经搞明白,呵呵,原来是释放非托管资源.在class a 的构造函数里面调用OSAPI.Take();然后在
public void a()
{
OSAPI.Release();
}
里面释放分配的非托管资源, 因为名称混淆了,其实public void a()应该是void IDisposable.Dispose(),这样就容易理解了, 用法using (du.a a = new du.a())
{
... ...
}
其实就是执行括号里面的代码的时候先调用VMAPI.Lock,结束后调用VMAPI.Unlock并释放非托管资源.
2007-9-1 11:55
0
游客
登录 | 注册 方可回帖
返回