首页
社区
课程
招聘
[旧帖] 如何将多个*.cs 源码文件 生成一个dll? 0.00雪花
发表于: 2015-7-23 09:42 8772

[旧帖] 如何将多个*.cs 源码文件 生成一个dll? 0.00雪花

2015-7-23 09:42
8772
最近用reflector 反编译了一个软件的 dll ,导出许多源码文件 *.cs ,
我想做些源码改动 ,再生产一个dll,放回原软件中不影响功能。
求大神指教 ,如何编译生成 dll 。弄了好几天,新建类库,添加*.cs ,编译总报错。
我是新手,希望能解答详细一点!

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

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

一个错误一个错误的去找资料解决。
2015-9-23 15:27
0
雪    币: 30
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
如果要改C#写的东西,可以试试用ILSpy反编译一下弄出源码
但一些经过混淆的dll反编译后是不能重建的,你可以试试重新开个项目引用那个dll,给原来的dll套层壳(给每个对应的函数写一遍再call到原来的dll)然后再加上你要的功能
2015-9-28 12:56
0
游客
登录 | 注册 方可回帖
返回
//