能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我理解的应该是原来那个dll应该引用了其他的dll,而你这边缺失这些引用,所以编译总是通不过。当然只是个人理解,因为也没有报错信息之类的。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
reflector出来的就回不去了,IL还能回去
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
原来可以这样的啊
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
il 更改是不是难度很大啊? 我想在里边加一个写文件功能,能实现么?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
好像是这样。但是还是没解决啊!如何对一个dll ,进行重新构造,加入自己的代码,有什么分析工具么,求指教?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
应该是可以编译的啊
|
能力值:
( LV4,RANK:45 )
|
-
-
8 楼
先自己用C#写个DLL修改了解下整个过程
如果没有混淆/加密处理,应该是可以编译回去的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
用插件就可以啦
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
可以实现不过挺麻烦的,二次开发的话不推荐这样做,情愿你调用他的dll包装一份
il一般只做一些小修小改
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
那么简单事情,哎
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
c#反编译是可以替换回去的。一般这种情况编译出错,都是因为资源文件找不到导致的,你需要去分析这个dll引用的资源。他引用的资源都在他的应用环境中,但不建议这么做。如果你只是想添加个小功能。那大可以再新建个dll,引用这个dll,然后实现,如果是想研究这个dll,把他变成自己的东西,那最好重构这个dll。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
首先,答案是肯定的,可以是进行反编译成dll。
1. 通过reflector反编译生成的cs代码,原理是通过dll里的IL代码,进行反编译获得,在这个过程共cs代码会被解释成IL代码,里面会对cs(可读的代码进行优化),在你反编译后的C#代码,会不符合c#的语法规则,会导致编译出错。而且对于返回为(IEnumerator<*>)的函数,经过反编译会得到你根本看不懂到代码,这样你无论怎么改都不对。
2. 如果你要这么做的话,你可以对IL代码进行修改,然后生成dll。(至于如何修改IL代码可以去百度)
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
用 Visual Studio 建一个类库项目,把reflector反编译生成的cs代码复制粘贴进去
再编译一下,就生成一个 DLL 文件了
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
很可能是缺少了一些引用。不断的编译,修复错误吧。就当这个项目是你自己写的。
一个错误一个错误的去找资料解决。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
如果要改C#写的东西,可以试试用ILSpy反编译一下弄出源码
但一些经过混淆的dll反编译后是不能重建的,你可以试试重新开个项目引用那个dll,给原来的dll套层壳(给每个对应的函数写一遍再call到原来的dll)然后再加上你要的功能
|
|
|