在编译的可执行文件中更改tcp包头的简单方法?

时间:2013-02-23 06:21:46

标签: assembly tcp winsock cracking

我有可执行文件(可能用c ++编写),它使用tcp和windows套接字连接到服务器端软件(win sock api)。

然后它发送带有标头的数据包(例如标头是两个字节0x0064),登录名和密码。 然后开始它与服务器的交互。

我想更改登录数据包标题,例如,从0x0064更改为0x0065。

当然我总是可以在我的电脑上使用像WPE(winsock数据包编辑器)这样的嗅探器来改变它,或者我可以使用带有套接字发送函数包装器的Microsoft Detours编写dll,并在程序启动之前注入它,但我必须检查将要发送的每个数据包,知道它有0x0064标头,它正是我想要更改的数据包。

所以,我的问题是 - 是否有任何简单的方法来查找带有此数据包标头的变量(我相信它们只是在构建数据包时硬编码,就像在sprintf中一样),并且只是在HEX编辑器中更改一个字节而不学习汇编?也许有一个很好的教程/ crackme示例解决方案,将解释如何做到这一点?

任何建议都会有所帮助。谢谢!

0 个答案:

没有答案