微耕N3000注入_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 微耕N3000注入

微耕N3000注入

 2017/9/23 22:38:25  秦秋随  程序员俱乐部  我要评论(0)
  • 摘要:使用ILSpy或Reflector反编译N3000并导出解决方案,便于搜索方法代码使用ILDASM生成中间代码D:\app\WG\AccessControl\IL\N3000.il操作如下:(可参考)打开目录C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\Bin运行ildasm.exe通过ILDASM的界面,打开N3000.EXE文件在文件菜单中使用转储,转储IL文件为D:\app\WG\AccessControl\IL\N3000
  • 标签:
  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

?

至此注入完成

?

  • 相关文章
发表评论
用户名: 匿名