精华内容
下载资源
问答
  • wpf 反编译

    万次阅读 多人点赞 2012-07-31 16:40:11
    最近由于项目需要,boss想让我做一个类似Desktoplist的一个工具(Desktoplist 是微软内部的一个工作提醒的工具,PS,OutLook,CodeFlow等工具的提醒)。...这个时候,我想到了反编译这个工具。我首先用Re

    最近由于项目需要,boss想让我做一个类似Desktoplist的一个工具(Desktoplist 是微软内部的一个工作提醒的工具,PS,OutLook,CodeFlow等工具的提醒)。只要给我足够的时间我也能开发出一个类似的工具,但是boss没有给我那么多时间,而且功能要接近。我想,先去内网去搜下源码。要是拿到源码问题就好解决了,经过搜索以失败告终。这个时候,我想到了反编译这个工具。我首先用Reflector去反编译,但是它不能得到相应的.XAML文件。即使装上相依的插件(BamlViewer.dll,也许是我的方法不对)也不能正常工作。这个时候我下载了最新的反编译利器ILSpy_Master_2.1.0.1603_RTW。问题迎刃而解。下面我就详细的说一下如何反编译WPF的应用程序。

    关于如何反编译引用WCFservice的工程,我稍后会加上。

    1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo)

    2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里

    3.点击 File -> Save Code...: 相应的代码会生成到指定地方。

    4. 打开应用程序,并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore。添加这两个dll之后程序会编译通过。



    5. 这时我们还需要把相应的.XAML添加到应用程序中,我们在WpfApplicationReflectorDemo这个目录下添加与MainWindow.cs相关的MainWindow.xaml并且修改MainWindow.cs -->MainWindow.xaml.cs.与WPF的风格保持一致。这个时候我们需要把第二步看到的mainwindow.baml.中的内容添加到刚刚加入的MainWindow.xaml

    6. 这时我们需要到MainWindow.xaml.cs去删除一些多余反编译出来的属性,字段和方法。并且在public class MainWindow加访问修饰符 partial

    [GeneratedCode("PresentationBuildTasks""4.0.0.0")]
    internal TextBlock textBlock1;
    private bool _contentLoaded;
    public void InitializeComponent()
    void IComponentConnector.Connect
    7.添加App.xaml.去删除一些多余反编译出来的属性和方法.并且在public class App加访问修饰符 partial
    [GeneratedCode("PresentationBuildTasks""4.0.0.0")]
    public void InitializeComponent()
    7.最后删掉mainwindow.baml。 大功告成。
    这样反编译出来的的工程和们自己创建的工程基本一致。
     
    
     
    


    展开全文
  • WPF反编译专用.zip

    2020-04-26 19:53:12
    类似Reflector的WPF反编译工具,便于学习网上搜索到的源码 。请带着学习的心思去看待该工具,能为你学习、工作带来便利
  • WPF 反编译后错误处理

    2017-03-06 21:21:00
    1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo) 2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy...4. 打开应用程序,并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的D...

    1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo)

    2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里

     

     

    3.点击 File -> Save Code...: 相应的代码会生成到指定地方。

    4. 打开应用程序,并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore。添加这两个dll之后程序会编译通过。



    5. 这时我们还需要把相应的.XAML添加到应用程序中,我们在WpfApplicationReflectorDemo这个目录下添加与MainWindow.cs相关的MainWindow.xaml并且修改MainWindow.cs -->MainWindow.xaml.cs.与WPF的风格保持一致。这个时候我们需要把第二步看到的mainwindow.baml.中的内容添加到刚刚加入的MainWindow.xaml

     

    6. 这时我们需要到MainWindow.xaml.cs去删除一些多余反编译出来的属性,字段和方法。并且在public class MainWindow加访问修饰符 partial

     

    [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
    internal TextBlock textBlock1;
    private bool _contentLoaded;
    public void InitializeComponent()
    void IComponentConnector.Connect
    7.添加App.xaml.去删除一些多余反编译出来的属性和方法.并且在public class App加访问修饰符 partial
    [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
    public void InitializeComponent()
    7.最后删掉mainwindow.baml。 

     


     

    其它问题解决办法:


     

    问题1、 无法解析 Style Property“Template”。请确认拥有的类型是 Style 的 TargetType,或使用 Class.Property 语法指定 Property。 

    解决办法:将<Setter Property="Template">改为<Setter Property="Control.Template">


     

    问题2、在VS中,资源管理器,右键,”添加“--》”新建项...“时,没有任何项目可选

    解决办法:这种情况一般是项目文件的ProjectTypeGuids不正确导致,经过对比正常的项目发现,使用以下可以解决:

    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

    红色部分一定要大写,反编译出来的,是小写,WPF项目才能用。


     

    问题3、编译时,提示 Program does not contain a static 'Main' method suitable for an entry point,意思是没有包含Main方法

    解决办法:打开项目文件,找到

    <Page Include="App.xaml">
    <Generator>MSBuild:Compile</Generator>
    <SubType>Designer</SubType>
    </Page>

    替换为

    <ApplicationDefinition Include="App.xaml">
    <Generator>MSBuild:Compile</Generator>
    <SubType>Designer</SubType>
    </ApplicationDefinition>

    这样编译时,会自动产生Main方法,不需要自己手动建立。


     

    问题4、编译时,提示   错误 命名空间“clr-namespace:”中不存在“LocalizedStrings”名称。

    解决办法:

    重新启动Visual Studio,如果仍然有错误,尝试清理解决方案,然后退出Visual Studio,重新编译

    如果还是不行,再试试

    1. 关闭Visual Studio
    2. 文件夹位置 : "%LOCALAPPDATA%\Microsoft\Phone Tools\CoreCon\".
    3. 删除文件夹的内容: 10.0 和 11.0.

    问题5、编译后,运行时,不显示主窗体界面

    解决办法:在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml”

     


     

     


     

    其它慢慢积累

    转载于:https://www.cnblogs.com/wuchitao/p/6512037.html

    展开全文
  • reflector支持c#.Net、WPF、Silverlight的反编译,把reflector全部相关插件都收集在里面,大家根据需要可以自定选择。
  • http://blog.csdn.net/haoyujie/article/details/8701569 WPF零起步学习与分析 配套代码。
  • .NET Reflector 7.0.0.420 Crack - C#程序包括(Silverlight、WPF)程序反编译工具
  • 该资源为WPF软件开发的范例,一个个demo由浅入深,涵盖依赖属性、路由事件、模板、触发器、动画等概念。
  • 初学者,反编译得到的C#程序,XAML也是从BAML得到的,直接用BAML可以编译是可以的,图中报错的命令空间,是一个UserContorl 截图内容有限,如有需求可提供较为完整的源码。![图片说明]...
  • WPF应用程序能被反编译吗?如果能,xaml部分也能被反编译吗?
  • WPF做的桌面应用程序,一旦到了客户端电脑上,就很容易被反编译。 那么,使用ClickOne部署的WPF应用程序,能被反编译吗?
  • 反编译APK方法

    千次阅读 2011-07-01 12:10:00
    【转】 Android笔记-反编译APK方法2011-05-25 14:31转载自 Edgarcai最终编辑 Edgarcai 啊菜写本篇文章的目的是为了总结,而反编译APK的主要目的在于学习,通过反编译,我们可以养眼下一些优秀的Android应用程序...

    【转】 Android笔记-反编译APK方法
    2011-05-25 14:31
    转载自  Edgarcai
    最终编辑  Edgarcai
            啊菜 写本篇文章的目的是为了总结,而反编译APK的主要目的在于学习,通过反编译,我们可以养眼下一些优秀的Android应用程序代码。
           
    啊菜 在这儿热情提示下:还是尽量不要利用反编译进行汉化或修改,毕竟程序员写个程序不容易啊,多少个奋斗的星夜里才出炉这么个优秀的产品!
    网络上有很多反编译android APK的方法,先从反编译的原理讲起:
    目前Google Android平台选择Java Dalvik VM的方式编译打包APK的方式是很容易破解和被修改。
          首先APK文件的本质就是一个MIME为ZIP的压缩包,我们修改ZIP或RAR后缀名方式就可以看到内部的文件结构,类似 Sun JavaMe的Jar压缩格式一样,不同的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进DEX文件中,作为托管代码让Android 虚拟机可以识别,同时我们也可以很轻松的进行反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些跟踪工具。
           开始 
    反编译之旅
            一、用winrar或zip软件打开apk文件
    ,得到文档结构图
            二、将classes.dex文件解压出来,然后使用工具反编译成.jar文件,再进一步反编译出java文件
            1.在cmd下进入dex2jar.bat(http://dex2jar.googlecode.com/files/dex2jar-0.0.7.3-SNAPSHOT.zip)所在路径,然后输入“dex2jar.bat XXX”XXX指的是你要反编译的apk中的classes.dex
    文件所在路径及名称.
            比如:
             我的dex2jar.bat路径为D:/Android/apk_decode/dex2jar/dex2jar.bat

              classes.dex路径为D:/Android/apk_decode/dex2jar/apk/classes.dex

             命令为:你进入dex2jar.bat路径下后,输入dex2jar.bat apk/classes.dex,这样会生成一个jar
    文件。
           2.用WinRAR软件解压出jar文件中的class文件,然后用jad或DJ Java Decompiler反编译工具将.class文件反编译成.java文件

    3.不解压出jar中的class文件,直接用JD GUI工具打开jar文件


    4.步骤2和3选择其中一个即可,建议用步骤2,步骤3可能出现乱码

       三、上面操作只能得到class文件,下面利用Google提供的apktool得到xml文件

    1. 下载apktool,可以去Google官方下载apktool-1.3.2.tar.bz2apktool-install-windows-2.2_r01-3.zip.解压apktool-install-windows.zip到任意文件夹(例如D盘根目录),解压apktool.jar到apktool-install-windows同目录下。

    2. Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看
    会列出一些帮助的话就成功了(解释d为加压 第一个路径为你的apk所在的位置。第二个是要输出的位置)

    apktool d XXX.apk ABC    反编译XXX.apk到文件夹ABC


    3. 在解压后的文件夹中可以得到apk的xml配置文件

           四、将“二”中得到的class文件和“三”中得到的xml文件组合成一个android工程,即可得到完整的apk源码。
           转载请注明来源:
    啊菜's BLOG http://hi.baidu.com/edgarcai

    专业名词解释:
            APK
            APK是
    Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。 
           apk文件和sis一样最终把android sdk编译的工程打包成一个安装程序文件格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。一个APK文件结构为: META-INF/ Jar文件中常可以看到 res/ 存放资源文件的目录 AndroidManifest.xml 程序全局配置文件 classes.dex Dalvik字节码 resources.arsc 编译后的二进制资源文件总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

     

     

    原文地址:http://hi.baidu.com/spiderjun/blog/item/ae795a5994f0233d2934f02d.html

     

    展开全文
  • .Net反编译工具,可以查看XAML。.Net反编译工具,可以查看XAML。
  • .NET 反编译工具

    2018-12-29 11:43:33
    Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图 ...

    原文:http://www.cnblogs.com/JamesLi2015/archive/2011/09/08/2170519.html#3406308

    Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图

    image

    这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。

    但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋友说,Reflector并没有增加更霸道的功能,却转向收费,令人费解。再看看市场上的.NET反编译软件,被Reflector击溃。

    一提到Reflector,说到.NET反编译,Reflector常常是默认的首选工具。

    这里提起一下Visual Studio的垄断。Visual Studio占据了.NET开发工具系列的绝对垄断地位。在.NET 1.x时代,还有C# Builder,Delphi.NET来使用和体验,一争高低。可是到后来,.NET Framwork更新频繁,动辙在编译器级别,和语言层面做更新,这令第三方的软件开发工具商非常苦恼,这些工具也从市场上慢慢消声匿迹,几乎没有第三方的软件开发商愿意开发.NET开发工具与Visual Studio一争高低。没有了竞争,进步的速度要慢很多。Visual Studio 2008差不多就是Visual Studio 2005+SP的替代品,在工具层面,Visual Studio 2005 SP1加上了Web Application,就是Visual Studio 2008。虽然说语言层面是进步了很多,.NET 3.0,.NET 3.5,LINQ, 框架方法增加:WCF,WPF,WF,但是,我一直认识从2005到2008,它在工具层面没有什么进步。 

    SharpDevelop 是除Visual Studio外,另一个可选择的唯一的.NET开放工具,并且它是开源的。它提供的功能也相当不错,几乎就是在重写Visual Studio。最新的版本中,直接增加了对Visual Studio的解决方安案文件和项目文件的支持。ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,今天来介绍一下它的调试器和反编译器,以让那个收费的,却没有增加霸道功能的Reflector out。

    clip_image001

    ILSpy的界面与Reflector相似,左边以树型控件显示程序集和它的类型,右边是对应的源代码。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。 

    Decompiler 反编译器

    基础的类型反编译功能都具备,现在只支持把源代码反编译为C#和IL语言,不支持VB。

    clip_image001[19]

    当需要找的程序集是.NET框架时,可以直接从菜单File—Open from GAC中打开需要查看源码的程序集。

    image

    代码保存功能也做得不错,当点击一个类型时,选择File->Save Code会反编译当前的类型并保存到指定的文件中,当选择程序集时,Save Code保存为一个项目(csproj)文件,并且把它所有的类型加到这个项目中。

     

    Debugger 调试器

    这里要说的调试器,不是指Visual Studio的源码级别的调试器,而是指程序集的调试器。Reflector有个Addin,可以直接附加在Visual Studio中,调试第三方的类型库,而不需要把第三方的类型库反编译后,以源码的形式添加到项目中。

    ILSpy也有这个功能,直接对第三方的程序集进行调试,有两种选项

    如果第三方类型库是可执行程序(EXE),可以用Debug an executable来启动这个程序。

    如果第三方类型库是程序集(DLL),可以用Attach to running application来附加,以启动程序集的调试。

    clip_image001[7]

    从上面两张图中已经可以看出它的用法,和调试源代码一样。在需要监视变量值的方法的地方,设置断点,当程序运行到此时,就可以通过监视窗体来观察变量的值。从ILSpy的状态栏中看出,上面的第一张图是正处于调试状态,第二张图,是准备就绪,可以进行调试。

    这两者的区别是,Attach to a running application调试时,如果代码经过编译器优化,则监视器会无法得到它的值。

    clip_image001[9]

    如图所示,无法显示正在调试的变量num的值,因为代码已经经过优化。官方推荐的方式是Debug an executable


    与在Visual Studio中调试.NET源代码一样,你可以Step into,Step over,continue,同时状态栏会显示就绪(stand by),运行中(running),正在调试(debugging)。

    clip_image001[11]

    除了调试程序集的C#/VB形式的代码之外,也可以以IL代码形式调试,如下图所示

    clip_image001[13]

    由此看来,这还是相当不错的调试IL代码的工具。工具可以促进学习的效果,学习领悟之后,又可以推进工具的发展,这就是知识的无止境的发展。

    ILSpy的debugger是以插件形式存在的,请确保包含ILSpy.Debugger的Plugin。

    clip_image001[15]

    根据我们的理解,调试.NET程序集一定需要PDB文件才可以。然而ILSpy却没有产生PDB文件(no PDB files are generated),而且它不可以调试ASP.NET Web application和Web 服务。 
    这其中的原理,不甚明白。compiler/debugger一直是我喜爱的技术主题,但学识肤浅,无法分享。 

     

    Reflector会检测到系统时间超过了它预设的时间,如果不升级,它会主动删除自己,从你的电脑中out掉。如果你对此很烦恼,那就让它out吧,你可以有另一个选择,试试ILSpy,或许会带来一丝的惊喜。

    展开全文
  • ILSpy——C#反编译工具

    千次阅读 2016-03-28 12:14:21
    Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图 ...
  • 此软件可以反编译任何CLASS文件,目前最好的一款!!
  • .net程序的反编译与重设

    千次阅读 2018-08-02 20:54:11
    没有源码,则只有反编译了。这个事情的对错先不提,我们只关心技术上的事。朋友们可以作为技术参考,不可做坏事哈! 一、工具 1、dnspy:https://github.com/0xd4d/dnSpy 反编译工具,支持重新编译,能满足大多数...
  • .net软件反编译笔记

    千次阅读 2016-05-17 09:48:21
    大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作。 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, ...
  • .net程序防止反编译

    千次阅读 2019-06-04 12:02:09
    当前C# .net语言的应用范围越来越广泛,IIS 的服务器...而作为一款.net 语言,也有它让开发者头疼的弊病——非常容易被反编译。市面上的 Dnspy, ILspy,de4dot等工具可以非常容易反编译出被混淆保护的C# .net 程序。...
  • dotPeek 可以用来反编译代码 请看 http://www.cnblogs.com/lindexi/p/debug-wpf-dotpeek-dotnet-code.html
  • dotPeek 可以用来反编译C#代码 请看 http://www.cnblogs.com/lindexi/p/debug-wpf-dotpeek-dotnet-code.html
  • 使用Reflector for .NET可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic.NET 中的等价类和方法。经过多年的发展,...
  • .NET反编译工具

    2014-10-22 21:54:32
    Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图 ...
  • .Net 反编译 XAML 导出 Reflector插件

    热门讨论 2012-12-14 17:11:52
    资源为一个DLL文件,是Reflector的插件,需要配合Reflector工作。具体请看压缩包里的说明。 使用该插件可以从常规.NET-WPF的程序集(DLL和EXE)中导出XAML文件。没有测试过silverLight。
  • .NET 反编译工具及其插件 工具网址:http://www.aisto.com/roeder/dotnet/ 插件网址:http://www.codeplex.com/reflectoraddins Reflector for .NET Reflector is the class browser, explorer...
  • 一个很好的C#反编译工具,功能强大,有兴趣的可以看看。
  • 反编译软件dnSpy中修改baml文件

    千次阅读 热门讨论 2019-01-20 20:02:57
    步骤1:用反编译软件打开dl文件 步骤2:搜索文本,确定文件位置 步骤三:把找到的文件复制到文本编辑器里,然后搜索定位到具体的内容,返回到反编译软件里找到它 步骤四:后来发现没有办法在dnSpy中删除掉文本,...
  • .NET Reactor 简介 .NET Reactor 是针对.NET Framework编写的软件的功能强大的代码保护和软件许可系统,并支持生成...wpf、winform等框架生成的执行文件是可以被ILSPY等软件反编译的,只要将exe文件拖到ILSPY,源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,771
精华内容 1,108
关键字:

wpf反编译