zoukankan      html  css  js  c++  java
  • 从360安全卫士中提取网络速度监控

             最近想要从使用一个网速监控的软件来查看自己的电脑,看看计算机中到底哪个进程占用的网络资源比较多。发觉360中的网络监控还不错,可以看到每个进程所使用的带宽多少,但是又不想安装整个360安全卫士,于是自己就决定自己把网络监控部分功能的文件提取出来,单独使用。

            首先打开360安全卫士的网络监控功能,使用procexp.exe(这个程序在SysinternalsSuite中有,需要可以到微软网站去下)可以看到对应的进程的Image文件是360AppLoader.exe,自己直接运行360AppLoader.exe发现无法启动,就觉得可能是Command参数没有输入。当然在procexp.exe中看到的CommandLine是空的,这是360AppLoader.exe把它给清空了,于是便使用Windows注册表中Image File Operation注册项下的Debugger值,设置成WinDbg。 使用WinDbg挂着360AppLoader.exe运行,于是就把Command参数给取得了,如下:

      "C:\Program Files\360\360safe\360AppLoader.exe" /module=netmon\360NetFos.dll /compatible=1 /create=CreatePage /init=InitPage /uninit=UnInitPage /canrun=IsSupported /border=5 /title=360流量监控 /wndclass=Q360NetFosClass /disableskin=1

    按照这个命令行,把360AppLoader.exe和对应的netmon目录都拷贝出来。再使用WinDbg直接运行360AppLoader.exe,当然需要输入上面的Arguments,运行时把发现不能加载的模块都从原来安装目录拷贝出来,最后就可以单独运行了。

    image

    上图就是这些基本的文件,其中config是界面配置文件,可以不要。

    再使用CMD,在拷贝出来的文件中直接运行360AppLoader.exe /module=netmon\360NetFos.dll /compatible=1 /create=CreatePage /init=InitPage /uninit=UnInitPage /canrun=IsSupported /border=5 /title=360流量监控 /wndclass=Q360NetFosClass /disableskin=1就可以使用网络监控功能了。

    也可以给360AppLoader.exe创建一个快捷方式,在快捷方式的目标中输入上面的参数:如下图(显示不全)

    image

    当然还有些问题,程序启动的时候会提示找不到deepsacn目录下的一些文件,这些文件本身对网络监控应该是没有用处的,是用于扫描的。如果你不希望它弹出提示,可以把deepscan目录和其下的几个文件拷贝过来就可以了。

    其实我估计可能根本都不需要这么多文件,也不需要360AppLoader.exe 文件,使用Depend.exe可以看到360NetFos.dll会导出函数

    CreatePage、InitPage、UninitPage、IsSupported,估计所有处理的代码都在360NetFos.dll中,而360AppLoader.exe 只是提供一个显示的容器,就像Windows的Exporer属性中的扩展Page一样。所有要处理,显示的都在自己的explorer插件dll中。

    image 

    这样一来只要自己写一个外部的显示容器,直接调用360NetFos.dll导出的函数就可以了,当然这可能要你先反汇编360AppLoader.exe文件,看看它原来的处理逻辑是什么样的就可以了(这个文件不大,也没有加壳过)。今天就偷懒不反汇编看了。有时间再弄弄吧。如果想反汇编分析逻辑,推荐IDA+WinDbg(或OD)。

    下面我提取出来的文件。文件都是360原来的文件,都是有360公司的数字签名的,我没有修改过。

    netmon.rar

    直接运行下载下来的文件中“360AppLoader.exe - 快捷方式”。
    不过需要根据360AppLoader.exe的位置设置才能用。可以参考其中的ReadMe.txt文件。

  • 相关阅读:
    MSDN Magazine搞错了
    Visual Studio 2005中设置调试符号(Debug Symbols)
    BCB 6的问题
    吴裕雄天生自然Spring Boot使用Spring Data JPA实现人与身份证的一对一关系映射
    吴裕雄天生自然Spring BootSpring Data JPA
    吴裕雄天生自然Spring BootSpring Boot对JSP的支持
    吴裕雄天生自然Spring BootSpring Boot的异常统一处理
    吴裕雄天生自然Spring Boot使用Spring Data JPA实现Author与Article的一对多关系映射
    吴裕雄天生自然Spring Boot解决 Error creating bean with name 'entityManagerFactory' defined in class path resource
    吴裕雄天生自然Spring Boot@ExceptionHandler注解和@ControllerAdvice注解
  • 原文地址:https://www.cnblogs.com/Quincy/p/1885998.html
Copyright © 2011-2022 走看看