Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET无源代码扩展应用程序_C#_Asp.net - Fatal编程技术网

C# ASP.NET无源代码扩展应用程序

C# ASP.NET无源代码扩展应用程序,c#,asp.net,C#,Asp.net,我需要扩展一些web应用程序,可能是在ASP.NET网页中。只要添加一个函数,一个非框架PHP等价物就会上传一些newfunc.PHP文件 它只有一个问题-我没有源代码(尝试了3个月),只能访问webhosting上的.dll。我能想象出几个解决方案: 创建一个包装器库,它将导出与原始DLL相同的函数+一个新函数 将一些函数注入WebSite.dll(ildasm、添加自己的代码、ilasm甚至直接?) 完成C代码的反汇编(不知道是否(仍然?)可能,10年后可以用反射器完成) 重写整个站点(相

我需要扩展一些web应用程序,可能是在ASP.NET网页中。只要添加一个函数,一个非框架PHP等价物就会上传一些
newfunc.PHP
文件

它只有一个问题-我没有源代码(尝试了3个月),只能访问webhosting上的.dll。我能想象出几个解决方案:

  • 创建一个包装器库,它将导出与原始DLL相同的函数+一个新函数
  • 将一些函数注入WebSite.dll(ildasm、添加自己的代码、ilasm甚至直接?)
  • 完成C代码的反汇编(不知道是否(仍然?)可能,10年后可以用反射器完成)
  • 重写整个站点(相当耗时:)
前两个可能会暴露路由问题,因为网站路由例程不知道新的“页面”。我对ASP.NET没有多少经验


我应该使用哪种解决方案,或者是否有其他方法?谢谢

我知道这可能太晚了,但无论如何,这是我的2美分

只有当代码是用调试信息构建的(并且DLL没有被混淆)时,反汇编才有用

除此之外,我真的依赖于代码结构。这将限制你能做什么和不能做什么

我要做的是以下几点:

  • 反编译DLL并查看方法
  • 确定必须覆盖的方法,并使其可覆盖
  • 如果类是密封的,请删除该属性
  • 创建一个从需要扩展的类继承的类
  • 重写必要的方法并创建新的方法
  • 新方法应放入新的DLL中
  • 重新编译已分解的DLL
  • 根据ASP.NET版本的不同,您可能必须在ASPX文件中更改codebehind类以指向新类


    希望这有帮助,这是一个混乱的情况下,你所处的:)

    我想我会使用像Telerik JustDecompile(免费)或类似的东西来分解它(反射器是相当昂贵的这些天),并采取从那里。不过,看看它是如何设置的。也许它不涉及任何这样的代码路由,在这种情况下,您应该能够使用包装器或ildasm ilasm.1。您可以使用reflector/justdecompile来反编译代码、提取源代码、注入代码并重建。第二个选项-假设您有aspx页面。。因此,您可以直接在aspx中编写代码。。虽然非常糟糕,但PX页面仍然可用。由于地址类似于“/cs-cz/Home/Contact”,我相信其中涉及到一些路由。所以反编译看起来是唯一的方法…谢谢你的提示。昨天,几个月后,原作者终于发送了消息来源。我不会将此问题标记为删除,因为它可能对其他用户有用。再次感谢。