1. 使用ILSpy或Reflector 反编译N3000并导出解决方案,便于搜索方法代码
  2. 使用ILDASM生成中间代码D:\app\WG\AccessControl\IL\N3000.il

    操作如下:(可参考

    打开目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

    运行ildasm.exe

     

    通过IL DASM的界面,打开N3000.EXE文件

     

    在文件菜单中使用转储,转储IL文件为D:\app\WG\AccessControl\IL\N3000.IL

     

     

  3. 用NOTEPAD++打开IL文件
    1. 公开wgconfig类
      1. 搜索beforefieldinit WG3000_COMM.Core.wgAppConfig

  1. 修改private为public
  1. 公开icPrivilege
    1. 搜索beforefieldinit WG3000_COMM.DataOper.icPrivilege

  1. 修改private为public
  1. 公开icConsumerShare
    1. 搜索beforefieldinit WG3000_COMM.DataOper.icConsumerShare

  1. 修改private为public
  1. 公开icConsumer
    1. 搜索beforefieldinit WG3000_COMM.DataOper.icConsumer

  1. 修改private为public

 

  1. 公开icControllerConfigureFromDB
    1. 搜索beforefieldinit WG3000_COMM.DataOper.icControllerConfigureFromDB

  1. 修改private为public

 

此时agent项目应该能编译通过,编译前会调用C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe将N3000.IL文件编译为N3000.EXE,代表项目会调用N3000.EXE中的方法

C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe n3000.il /exe /output=n3000.exe

  1. 注入QGate.Spy.DLL
    1. 搜索void Main(string[] cmdArgs)
    2. 查看反编译出来的 N3000.EXE的源码中的入口代码,寻找合理的注入位置,一般选择在登录后,主窗体加载前

 

 

 

  1. 从void Main开始搜索frmADCT3000,在IL文件中找到相应位置

  1. 添加新行,注意行号要根据上下文确定

IL_07c2: call void [QGate.Spy]QGate.Spy.ClassSpy::Start()

  1. 保存,重新编译N3000.EXE

 

至此注入完成

 

微耕N3000注入的更多相关文章

  1. 新版微耕软件(N3000)与旧版2000的实体功能区别

    更多细节请参阅其软件操作说明书. 建议:基于安全的应用始终变化不断,软件投入一直无法满足客户的定制化要求.不如提供基本的SDK,接口,允许第三方以插件的形式开发控制界面.报表. 软件只提供核心的界面. ...

  2. webapi - 使用依赖注入

    本篇将要和大家分享的是webapi中如何使用依赖注入,依赖注入这个东西在接口中常用,实际工作中也用的比较频繁,因此这里分享两种在api中依赖注入的方式Ninject和Unity:由于快过年这段时间打算 ...

  3. ASP.NET Core 中文文档 第四章 MVC(3.8)视图中的依赖注入

    原文:Dependency injection into views 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) ASP.NET Core 支持在视图中使用 依赖 ...

  4. 在WPF中使用依赖注入的方式创建视图

    在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...

  5. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

  6. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入

    上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...

  7. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用

    再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件

    系列目录 上一篇演示了WebApi利用Unity注入 很多人问我如何用配置文件来配置注入,本节演示如何利用配置文件来注入,道理是一样的,跳转到上一节下载源码一起来动手! 1.打开源码定位到文件Depe ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-WebApi与Unity注入

    系列目录 前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入.系列开头已 ...

随机推荐

  1. 吴恩达机器学习笔记54-开发与评价一个异常检测系统及其与监督学习的对比(Developing and Evaluating an Anomaly Detection System and the Comparison to Supervised Learning)

    一.开发与评价一个异常检测系统 异常检测算法是一个非监督学习算法,意味着我们无法根据结果变量

  2. centos7启动流程(从加电开始)

    图片来自于https://blog.csdn.net/qq_27754983/article/details/75212666 1. UEFI或BIOS启动 服务器加电后,CPU 自动重置成初始状态, ...

  3. [Swift]LeetCode236. 二叉树的最近公共祖先 | Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  4. MySQL5.7.25(解压版)Windows下详细的安装过程

    大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...

  5. 【mysql】Date和String的互相转换(DATE_FORMAT & STR_TO_DATE)

    1.Date  ——>  String 使用的函数:DATE_FORMAT(date,format)     date:需要转换的日期       format:格式化的样式 format样式整 ...

  6. C# 多线程学习笔记 - 1

    本文主要针对 GKarch 相关文章留作笔记,仅在原文基础上记录了自己的理解与摘抄部分片段. 遵循原作者的 CC 3.0 协议. 如果想要了解更加详细的文章信息内容,请访问下列地址进行学习. 原文章地 ...

  7. Django+Bootstrap+Mysql 搭建个人博客(一)

    1.1.环境搭建 (1)虚拟环境 mkvirtualenv website pip install django==1.11.7 (2)创建项目和app:website和blog (3)设置中文set ...

  8. Qt之自绘制饼图

    1.说明 最近在搞绘图方面的工作,说实话C++的第三方绘图库并不算多,总之我了解的有:qtcharts.ChartDirector.qwt.kdchart和QCustomPlot.这几个库各有利弊. ...

  9. windows之桌面程序引导功能

    经常使用windows系统的同学可能都会遇到这样一种情况,刚按照完的应用程序,可能会在桌面产生一个提示信息,指示当前快捷方式可以使用了,并给出相应的文字说明,指示该快捷方式的功能.那么大家有没有考虑过 ...

  10. Android Native crash日志分析

    在Android应用crash的类型中,native类型crash应该是比较难的一种了,因为大家接触的少,然后相对也要多转几道工序,所有大部分对这个都比较生疏.虽然相关文章也有很多了,但是我在刚开始学 ...