我用c# 写了一个dll文件,在别的解决方案中引用时如何不让看到其源码?

时间:2022-08-29 14:24:32
我用的vs2010. +XP
我做了一个dll,然后在另一个解决方案中引用时,断点调试,发现源码仍然能看到,能不能想个办法,做成dll后,在别的工程中引用时只要创建类,用它的方法就可以了,不让看到源码?

33 个解决方案

#1


你机器上有源码,换到其他机器就看不到了

#2


大侠,这么说,我只要给他一个dll文件,告诉它类的方法就可以了,它在调试时是看不到我dll文件源码的?

#3


当然看不到你的源代码了,除非用反编译器才看得到

#4


谢谢,thanks!

#5


如果你不刻意用代码混淆器混淆你的代码的话,用Reflector照样能看到你的源码

#6


引用 2 楼 nyzll666 的回复:
大侠,这么说,我只要给他一个dll文件,告诉它类的方法就可以了,它在调试时是看不到我dll文件源码的?

就是这样啊LZ
项目打包 客户都只能看到dll和运行机制

#7


你必須做混淆的動作,否則很容易被人反編譯,程式碼就被看光光了,好像光著身子一樣 >_<

找一下 PostBuild 這個軟件,滿屌的,而且可以把引用的 dll 與 exe 整個打包在一起。

#8


学习了

#9


你在另一个项目中引用这个dll组件的时候,弹出添加引用窗口后,
步骤一:你选择哪个“浏览”的选项卡,然后找到相应的dll组件,确定就行了,
步骤二:然后你把你那个dll组件的项目移除掉就行了,最后别人在调试你的程序的时候,就进不了你的dll组件的源码了!
但是如果你在步骤一的时候如果选择的是“项目”选项卡,进行引用dll组件的时候,这种情况下,你在步骤二中,如果要移除哪个dll组件所在的项目的时候,就会报错!
所以说关键步骤就是:①:引用方式;②:不想让别人看到你的Dll组件的源码,那你就把这个生产dll组件的项目给移除掉!就这样!

不懂的话,再问!谢谢……

#10


楼主,看不看到,只是针对你本机而言,如果别人使用你的dll,你没给他源码,他怎么看到你的源码呢?

#11


引用 1 楼 bdmh 的回复:
你机器上有源码,换到其他机器就看不到了

没有专门的工具解析、是看不到你dll中的东西的
源代码需要反编译、很麻烦、但是如果想看你dll中的方法(函数)名、用depends.exe就可以查看

#12


C#是可以完全反编译的,反编译的结果就是你写的源码。要防止反编译,需要混淆、加壳

#13


只有本机才会这样,我之前也碰到类似的问题,放到别的电脑就没了,所以还是很好分析的。

#14


引用 7 楼 yojinlin 的回复:
你必須做混淆的動作,否則很容易被人反編譯,程式碼就被看光光了,好像光著身子一樣 >_<

找一下 PostBuild 這個軟件,滿屌的,而且可以把引用的 dll 與 exe 整個打包在一起。


幾秒鐘就能搞定這個加密的程式

#15


引用 11 楼 bcy7783 的回复:
引用 1 楼 bdmh 的回复:
你机器上有源码,换到其他机器就看不到了

没有专门的工具解析、是看不到你dll中的东西的
源代码需要反编译、很麻烦、但是如果想看你dll中的方法(函数)名、用depends.exe就可以查看


誰說看不到源碼?你落伍了

#16


C#的Dll很容易反骗译成源码,C++就难多了

#17


你的代码不值钱

别想着 去蛋疼这个问题了

别人想反编译 就能Ok 

你又不是上亿的项目源码

上亿的项目源码也不是动车追尾了吗

#18


简单的话,用混淆器吧
商业的嘛。你用加密狗了。硬件的,250一个

#19


来学习了,呵呵!

#20


dll引用是看不到,不过你不做处理的话反汇编依旧可以看到,

#21


引用 15 楼 crackdung 的回复:
誰說看不到源碼?你落伍了

我真的落伍了,大大教一下 ^^

#22


引用 14 楼 crackdung 的回复:
幾秒鐘就能搞定這個加密的程式

幾秒鐘?大大教一下 ^^

#23


学习了。。

#24


C#恼人的地方就在这里

#25


为什么?

#26


下个混淆器封装下,这个就很不错dotfuscatorpe42_rt20。。这样即使别人用反射工具也看不到你的源码了

#27


上面说的都是对的。 重来不怕被人看到源码的人路过。
共享的是技术,代码要共享,才有可能会被复用。

#28


17楼有意思。

#29


引用 26 楼 xiagaoyang 的回复:
下个混淆器封装下,这个就很不错dotfuscatorpe42_rt20。。这样即使别人用反射工具也看不到你的源码了


你過於天真了

#30


引用 29 楼 crackdung 的回复:
你過於天真了

老大,那你就教一下吧,這樣大家才知道該怎麼保護自己的程式碼,如果與安全相關的代碼,勢必要保護的。

#31


他不爱我。

#32


只要是生成了dll 就不用担心源码被看到

#33


当然不能看源码,要不编译做什么

#1


你机器上有源码,换到其他机器就看不到了

#2


大侠,这么说,我只要给他一个dll文件,告诉它类的方法就可以了,它在调试时是看不到我dll文件源码的?

#3


当然看不到你的源代码了,除非用反编译器才看得到

#4


谢谢,thanks!

#5


如果你不刻意用代码混淆器混淆你的代码的话,用Reflector照样能看到你的源码

#6


引用 2 楼 nyzll666 的回复:
大侠,这么说,我只要给他一个dll文件,告诉它类的方法就可以了,它在调试时是看不到我dll文件源码的?

就是这样啊LZ
项目打包 客户都只能看到dll和运行机制

#7


你必須做混淆的動作,否則很容易被人反編譯,程式碼就被看光光了,好像光著身子一樣 >_<

找一下 PostBuild 這個軟件,滿屌的,而且可以把引用的 dll 與 exe 整個打包在一起。

#8


学习了

#9


你在另一个项目中引用这个dll组件的时候,弹出添加引用窗口后,
步骤一:你选择哪个“浏览”的选项卡,然后找到相应的dll组件,确定就行了,
步骤二:然后你把你那个dll组件的项目移除掉就行了,最后别人在调试你的程序的时候,就进不了你的dll组件的源码了!
但是如果你在步骤一的时候如果选择的是“项目”选项卡,进行引用dll组件的时候,这种情况下,你在步骤二中,如果要移除哪个dll组件所在的项目的时候,就会报错!
所以说关键步骤就是:①:引用方式;②:不想让别人看到你的Dll组件的源码,那你就把这个生产dll组件的项目给移除掉!就这样!

不懂的话,再问!谢谢……

#10


楼主,看不看到,只是针对你本机而言,如果别人使用你的dll,你没给他源码,他怎么看到你的源码呢?

#11


引用 1 楼 bdmh 的回复:
你机器上有源码,换到其他机器就看不到了

没有专门的工具解析、是看不到你dll中的东西的
源代码需要反编译、很麻烦、但是如果想看你dll中的方法(函数)名、用depends.exe就可以查看

#12


C#是可以完全反编译的,反编译的结果就是你写的源码。要防止反编译,需要混淆、加壳

#13


只有本机才会这样,我之前也碰到类似的问题,放到别的电脑就没了,所以还是很好分析的。

#14


引用 7 楼 yojinlin 的回复:
你必須做混淆的動作,否則很容易被人反編譯,程式碼就被看光光了,好像光著身子一樣 >_<

找一下 PostBuild 這個軟件,滿屌的,而且可以把引用的 dll 與 exe 整個打包在一起。


幾秒鐘就能搞定這個加密的程式

#15


引用 11 楼 bcy7783 的回复:
引用 1 楼 bdmh 的回复:
你机器上有源码,换到其他机器就看不到了

没有专门的工具解析、是看不到你dll中的东西的
源代码需要反编译、很麻烦、但是如果想看你dll中的方法(函数)名、用depends.exe就可以查看


誰說看不到源碼?你落伍了

#16


C#的Dll很容易反骗译成源码,C++就难多了

#17


你的代码不值钱

别想着 去蛋疼这个问题了

别人想反编译 就能Ok 

你又不是上亿的项目源码

上亿的项目源码也不是动车追尾了吗

#18


简单的话,用混淆器吧
商业的嘛。你用加密狗了。硬件的,250一个

#19


来学习了,呵呵!

#20


dll引用是看不到,不过你不做处理的话反汇编依旧可以看到,

#21


引用 15 楼 crackdung 的回复:
誰說看不到源碼?你落伍了

我真的落伍了,大大教一下 ^^

#22


引用 14 楼 crackdung 的回复:
幾秒鐘就能搞定這個加密的程式

幾秒鐘?大大教一下 ^^

#23


学习了。。

#24


C#恼人的地方就在这里

#25


为什么?

#26


下个混淆器封装下,这个就很不错dotfuscatorpe42_rt20。。这样即使别人用反射工具也看不到你的源码了

#27


上面说的都是对的。 重来不怕被人看到源码的人路过。
共享的是技术,代码要共享,才有可能会被复用。

#28


17楼有意思。

#29


引用 26 楼 xiagaoyang 的回复:
下个混淆器封装下,这个就很不错dotfuscatorpe42_rt20。。这样即使别人用反射工具也看不到你的源码了


你過於天真了

#30


引用 29 楼 crackdung 的回复:
你過於天真了

老大,那你就教一下吧,這樣大家才知道該怎麼保護自己的程式碼,如果與安全相關的代碼,勢必要保護的。

#31


他不爱我。

#32


只要是生成了dll 就不用担心源码被看到

#33


当然不能看源码,要不编译做什么