最新消息:想得多,做的少。一天到晚瞎鸡巴搞。

DebugView — 发/收包分析工具

锄头 阿虚 1018浏览 0评论

介绍

.      DebugView 并非微软的那款DebugView工具,而是我自己写的显示包数据的工具。用途在于最近分析一款程序做类似脱机的东西。(不是外挂。)方便自己观察分析每次程序与硬件,程序与服务器发包的顺序流程,收包数据。来辅助自己完成工作的产物。不过这款工具不是万能的,你需要自行找到发送点并且自己进行做HOOK。

使用

#include <windows.h>

int main(int argc, char* argv[])
{
    BYTE bbbbb[0x31] = {
    0x06, 0xE0, 0x02, 0x51, 0x20, 0x10, 0x00, 0x00, 0x00, 0x04, 0x63, 0x00, 0x00, 0x00, 0xF7, 
    0x01, 0x01, 0xFF, 0xFF, 0x00, 0x1B, 0x00, 0xFF, 0x0F, 0x00, 0x05, 0x02, 0x0};
 
    HWND m_hwnd = ::FindWindow(NULL, "DebugView");  
    if (m_hwnd != NULL)
    {
        COPYDATASTRUCT data = { 0 };
        data.lpData = (LPVOID)bbbbb;
        data.cbData = 31;
        data.dwData = 2;
        ::SendMessage(m_hwnd, WM_COPYDATA, NULL, (LPARAM)&amp;data);
    } 

	return 0;
}

显示

.    在程序中我设置的命令为:

send: 1
recv: 2
WriteFile: 3
ReadFile: 4

.    分别对应send,recv,writeFile,readFile。标签

.    All为显示所有的包,以收到的顺序来显示。srAll为显示所有send/recve网络发收包。wrAll为显示所有的WriteFile/ReadFile。

Edit框

.     点击每一列收到的包将会在下面的EDIT以16进制方式显示。

.Edit鼠标右键

.    复制所有数据:将当前EDIT内显示的复制到剪切板

.    复制十六进制数组:将当前包的十六进制复制到剪切板,每行十六个为一行。。

.    生成C数组:将当前包的数据生成一个C数组,可以直接使用。

过滤器功能

.      程序实现了对收到的包进行过滤的过滤器功能,使用为每次先点击【添加】按钮添加一行list,然后对需要过滤的字节在某一位偏移双击进行填入过滤的数据。每个数据为BYTE类型。所以你不能填入超过FF的数据。

.      添加完后点击【确定】即可保存过滤内容开始过滤后续收到的包。

过滤器有三种:

.    停止过滤:接收所有发送过来的数据

.    过滤包:收到的包会先检查过滤列表中是否存在,存在则不保留,直接丢弃。不存在过滤内容则保留,并且显示在列表中。

.    非过滤包:收到的包会先检查过滤列表中是否存在,存在则保留,并且显示在列表中。不存在过滤内容则丢弃。

 

2016/05/14更新

.      更新远程注入DLL 和 移除远程DLL功能。方便程序员调试时不需要打开多个软件。

 

下载

点我源码下载

点我EXE下载

转载请注明:虚无 » DebugView — 发/收包分析工具

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 之前写过自用的hook.没这些功能. 也想过写这些功能... 缘分吧.查东西突然看到的. wpe对post一直不支持.还有就是16进制替换也不支持. 几年前找此类工具很难,现在源码都直接共享,终于可以享受时代的成果了. 不过技术也没有以前那么值钱了.
    虚无空幻2年前 (2016-04-18)回复
    • 这个东西并不难,不过网上确实很少有人发过。都应该是自己写了私用的吧。
      清寧2年前 (2016-04-19)回复