首页
社区
课程
招聘
[求助]最新的.net 动态读取主程序,看看谁能搞定(已搞定)
发表于: 2007-2-26 16:40 5938

[求助]最新的.net 动态读取主程序,看看谁能搞定(已搞定)

2007-2-26 16:40
5938
官网:http://www.easysqltools.com/

用户部署开发系统时数据库到客户的东东,非常好用,15天试用

下载地址:http://www.easysqltools.com/downloads/easysqldeploy.msi

我看了一下,他的主程序放在了resource文件里
我分离了这里的文件,但所有的都不是.net文件或有效的PE文件

关键代码:
  Program.rm = New ResourceManager(Program.Settings, Assembly.GetExecutingAssembly)
      AddHandler AppDomain.CurrentDomain.AssemblyResolve, New ResolveEventHandler(AddressOf Program.CurrentDomain_AssemblyResolve)
      Dim assembly1 As Assembly = Assembly.Load(Program.GetObject(Program.EP))
      Program.Print(String.Format("Main loaded : {0}", (Not assembly1 Is Nothing)))
      assembly1.EntryPoint.Invoke(Nothing, Nothing)

看看哪位大大能看看搞定他,我是第一次看到这种改动EntryPoint的

我提取单独文件的方法:
1,ildasm反编译出il(15K和一个reosurce文件)
2,编写程序
Dim w As New System.Resources.ResourceReader("d:\temp\Green.DbTools.settings.resources")
        Dim da As Byte()
        w.GetResourceData("ScripterUI.exe".GetHashCode, "Green.DbTools.AppData", da)

        IO.File.WriteAllBytes("d:\temp\ScripterUI.exe", da)
得到这个单独的东东

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 5275
活跃值: (476)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
2
一般压缩壳都是这样啊,先试着用NETUnpacker脱一下,通常这种使用Assembly.Load的都可以被通用脱机脱掉,因为如果需要Load成功,内在中必须有完整的Assembly。
2007-2-26 22:37
0
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢楼上大大,已经成功搞定

脱开后会有10几个文件(1个exe和10几个dll)

然后用Reflector把解出来的文件改成相应的名字
如果发现文件不全就运行源程序到不同的步骤再脱
列表:
ScriptUI.exe
DeployTemplatesPack.dll
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SmoEnum.dll
Microsoft.SqlServer.SqlEnum.dll
NETXP.Controls.dll
NETXP.Controls.TaskPane.dll
NETXP.Library.dll
NETXP.Win32.dll
Scripter.dll
Wizards.dll
Xheo.Licensing.dll

复制到原来目录就可以

至于突破试用限制,还是最土的老办法,去强名然后咔嚓他
2007-2-27 02:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我很关注.net这方面的加解密,希望多交流。
2007-2-28 00:43
0
游客
登录 | 注册 方可回帖
返回
//