我有可执行文件(可能用 c++ 编写),它使用 tcp 和 windows 套接字(win sock api)连接到服务器端软件。
然后它发送带有标题的数据包(例如标题是两个字节0x0064),登录名和密码。然后开始它与服务器的交互。
我想更改登录数据包头,例如,从 0x0064 更改为 0x0065。
当然,我总是可以使用 WPE(winsock 数据包编辑器)之类的嗅探器在我的 PC 上更改它,或者我可以使用带有套接字发送函数包装器的 Microsoft Detours 编写 dll,并在程序启动之前将其注入,但我必须检查每个数据包将要发送,知道它有 0x0064 标头,它正是我要更改的数据包。
所以,我的问题是 - 是否有任何简单的方法可以使用这个数据包头找到变量(我相信他们只是在构建数据包时对其进行硬编码,就像在 sprintf 中一样),并且只是在不学习汇编程序的情况下在 HEX 编辑器中更改一个字节?也许有很好的教程/crackme 示例与解决方案将解释如何做到这一点?
任何建议都会有所帮助。谢谢!