zoukankan      html  css  js  c++  java
  • .net破解二(修改dll)

    .net破解二(修改dll)

     

    多谢大家支持!

    昨天说了一下反编译与剥壳(.net破解一(反编译,反混淆-剥壳,工具推荐)),今天就来修改修改dll,为了方便,我自己写一个简单程序用来测试

    代码如下:

    一个 ConsoleApplication,输出Hello World.

    现在我想修改它,让他输出我想要的内容,或者直接改变该方法的功能,但是没有源码,只有Console.exe


    工具:Reflexil 它是Reflector的一个插件

    工具获取:1.可以直接到Reflector官网下载http://www.red-gate.com/products/dotnet-development/reflector/add-ins

         2.打开Reflector, Tool=>Add-ins=>Add-In Gallery, 跳转到 上面的下载地址

    下载好Reflexil后,在Add-ins 界面,点"+",选择Reflexil.Reflector.AIO.dll,然后Close

    现在在Tool中会多一个Reflexil选项

    它的界面


    用法:

    把我刚才写的Hello world拖进Reflector,我们选中程序集,命名空间,类命,方法, Reflexil的界面都是不一样的.

    这里可以知道,我们能注入类,接口,枚举,方法,等,也可以重命名,删除.

    现在我们来添加一个方法试试,选择Inject method   Item Name:Demo(此时只能声明无参,无返回值的方法,后面会讲什么添加这些)

    点ok会给出警告

     意思就是,做大改动(注入,删除,重命名)时你是看不见结果,让你保存一次在导入新的dll文件,那就保存一次

    保存好后,把新dll拖到Reflector中,就会发现在 Programe中多了一个Dmeo方法.

    现在来给Demo 写实现

    选择Demo 后右边的界面为:

    选择Main:

    instructions 中是IL指令, 高玩可以直接修改添加指令,但不是高玩咋办?

    我们选择Replace all with code... 替换所以代码.

    不过在这之前 先在Parameters添加一个参数string name,并在Attributes 将Return type设为stirng

    我再次点击Replace all with code...  代码已经更新为

    修改完成后,点compile 如果没有错误,就会生成IL指令,点ok就行

    现在在来修改一下Main方法,调用Demo

    代码已经改完,现在保存看看执行效果:

    原程序:

    修改后程序:

     总结:上一篇文章我是需要登录,而现在我们也知道方法,只需要找到对应的登录方法,直接改成返回true,就能登录了

    发现问题 请留言,如果喜欢请推荐一下,

    转载请注明出处! 谢谢

    本文源于公司内部技术交流,如有不当之处,还请指正。

    Content:

    1. What is Data-driven design?
    2. WPF revolution.
    3. More about ObservableCollection.
    4. Question.
     
    1. What is Data-driven design?
    Data-driven design: is a design of using entity or module to control the software how to display and design. Now in Wikipedia, the article had been redirected to Responsibility-driven design which is inspired by the Client/Service Mode. The Client/Service model they refer to assumes that a software client and a software server exchange information based on a contract that both parties commit to adhere to. The client may only make the requests specified, the server must answer them.
    简而言之,广义上来说数据驱动设计是以数据为中心展开的设计方式,与以往的由界面至数据结构的方式相反,首先要从数据结构/数据模型下手,完善数据控制层/业务逻辑层,最后在到界面的设计。
     
     
    Summary: 
    1 It’s just a different way that how to design software. It’s a design method not writing code directly. 只是一种不同的设计软件的思想,方式。
    2 As usual, we design software from interface to data source, firstly drag user control to panel and secondly write control event. It’s also called up to down design. 通常,我们是从上之下的设计方式,先界面,后模型。
    3 On the opposite side, we use down to up design. From data module to user interface, we design around data module that compared with usual design, it’s called Inversion Of Control. 相反,我们是从数据入手展开软件设计,一切以数据为中心;底层数据驱动开发,界面依赖于数据,也叫做控制反转。
     
    Application:
    1 WCF
      First,we make a data module. Like this:
      
      Second, we make a WCF service in order to provider functions around data module.
      
     
     
    2 WPF Revolution.
     Winform DataBinding:
       如果在Winform下开发,实现数据的双向绑定,当然是依靠委托的方式实现的。底层数据模型提供一个广播委托Speaker,当数据发生改变时,触发委托通知。一般来讲我们需要构建一个通道用于共享并集中管理通道消息Channel,通道将收集上来的消息发送给监听者Listener。
      
      WPF DataBinding:
      WPF 提供了ObervalCollection 实现数据集合的双向绑定,INotifyCollection是对Module层的数据更新通知,底层实现的代码与上面的实现方式几乎相同,而ObervalCollection则是对List进行了二次封装,提供List.Add,List.Remove级别上的绑定,就是说如果数据集合发生变化,也将会通知相关Listener。
      本质上来说,WPF 的ObervalCollection 和 INotifyCollection并未提供什么新鲜的东西,只是一次便捷的封装。当然这里也要公平的说一下,这2个类只是WPF DataBinding思想的一部分而已,另外还包括界面的动态绑定,属性的双向绑定等等,都是一次思想上的革新!
     
     
    Summary
    –1. DataBinding’s essence is a method of using delegate which need both listener and speaker.
    –2. WPF build-in support XAML Binding grammar.
    –3. DataBinding is not just used for implement INotifyCollectionChanged interface, also you can only use the class Binding for yourself binding application.
    –4. If you need a list of data support two-way binding, you should use ObservableCollection instead of Ilist.
    –5. Data-Binding is just a method of software design not just only in WPF.
     
     
     

    工程狮必备属性:追新,执着,高内聚低耦合。 
    版权声明:凡是没有标注[转载]的,在引用文章时,均要加上本博客地址http://www.cnblogs.com/cuiyansong/。
     
    分类: 原创
    标签: DataBinding
     
     
    分类: .net破解
    标签: 修改Dll
  • 相关阅读:
    ps:图层知识
    ps:选区的存储及载入
    ps:消除锯齿和羽化
    ps:不规则选区
    ps:建立规则选区
    python如何查看内存占用空间
    python-生成器
    python3-列表生成式
    python:迭代
    Photoshop画笔工具的使用
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3438142.html
Copyright © 2011-2022 走看看