微耕N3000注入

  1. 使用ILSpy或Reflector 反編譯N3000並導出解決方案,便於搜索方法代碼
  2. 使用ILDASM生成中間代碼D:\app\WG\AccessControl\IL\N3000.il

    操做以下:(可參考html

    打開目錄C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin app

    運行ildasm.exe spa

     

    經過IL DASM的界面,打開N3000.EXE文件 3d

     

    在文件菜單中使用轉儲,轉儲IL文件爲D:\app\WG\AccessControl\IL\N3000.IL htm

     

     

  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中的方法 blog

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

  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() cmd

  1. 保存,從新編譯N3000.EXE

 

至此注入完成 源碼

相關文章
相關標籤/搜索