您的位置:网站首页 > net源码 > 正文

C代码反编译 得到项目可运行源码 经验分享(附:批量修改文件名工具

类别:net源码 日期:2018-4-18 21:40:20 人气: 来源:

  谈到C#代码反编译,大家可能都会想到 Reflector代码反编译工具,对其应该也不会太陌生;做C#开发,它算得上是一个不可或缺的实用工具。通过它我们可以很方便的查看一个程序集的源代码(这是其最基本的使用,也是大家常用的),还可以方便破解软件...,而我这篇文章要跟大家分享的是:用Reflector将C#的开发的软件[项目](此文中所说的是winForm项目,对于目可以借鉴或参考)的项目代码还原——反编译得到可运行项目源码。 我所做的反编译,并不是破解,其使用的前提或情况是:公司原来请人开发的配餐软件(幼儿园版),现有客户咨询想买,并且软件中存在一些问题需改,——不是本人开发的,该软件也无源码,想修改只能想办法得到软件的源码。具体的破解方法记录在下,方便自己以后查看!(ps: 破解的方法,自己之前就摸索过。但困于反编译之后的error比较多,没有耐心,有的问题感觉比较离奇,试了几次不行就放弃了  ——这就间接的说明:真正的黑客,应该都是比较有耐心的,呵呵..., 但做软件开发,又何尝不需要这样?!)

  , 在右侧出现的 程序集(输出)类型选择界面 选择类型windows Appliction (因为是winForm应用程序,如果是选择的其它 如class ...类库,则需要在之后的步骤中,改变项目属性中的 输出类型,不这样操作),如图:

  点击 生成 即可 得到此主程序集的源码,其它的相关程序集再如此操作即可! ——不要以为大功告成,这只是第一步,麻烦的在后面!

  c.将生成的源码 在Vs中打开(项目), 先试着运行下,(一般)会报错,排除程序集不存在这类的错误,我所遇到的如下:

  d. 添加相关程序集的引用,设置启动对象。到这儿,差不多程序就可以 跑起来了,但是还没有完 ——因为 反编译后的代码,文件夹的和界面与资源引用之间的关联,基本上都乱了.所以现在要解决的关键问题是:恢复文件间的关联和引用(其它的问题,通过调试就差不多可以解决)。如图:

  窗体的.cs和.resx(资源)文件不在同一个文件夹中,对应窗体的.resx文件都加上了项目或解决方案名前缀(zhiyiSystem.) ——This is point!  这就是我们要解决问题的关键:恢复窗体的.cs和.resx文件间的关联,操作大致有以下两步:1.将窗体的.cs和.resx文件放在同一个文件中——即同一目录。2.去掉窗体的.resx文件的前缀 ——即修改文件名,如果是一个个文件去修改,窗体比较多的话,是一件非常重复而无聊的事,于是 就上网找 批量修改文件名的工具,下载了一两个感觉都不好用,找不到,只能自己搞了,再说这东西简单,说白了就是 遍历文件夹中文件并重命名(代码就不贴出了,文章后 附有 自己写的 批量修改文件名工具)。

  到此,程序就可以真正跑起来了。别看我写出来,似乎破解就是一会儿的事,但我做的时候,却几经 好几次都感觉算了,又卡住了...,有些或大或小问题,在这里因为时间的原因 及有些步骤一时半会也想不起来了,但主要的方法应该都没有落下,如果有不明白的朋友,可以留言交流,再做解答;也希望在破解方法有经验的,能多提些意见,分享下你的‘破解’经验!

  

0
0
0
0
0
0
0
0
上一篇:asp代码审计
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: