Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 加密前提取HTTPS数据包_Debugging_Https_Openssl_Obfuscation_Dll Injection - Fatal编程技术网

Debugging 加密前提取HTTPS数据包

Debugging 加密前提取HTTPS数据包,debugging,https,openssl,obfuscation,dll-injection,Debugging,Https,Openssl,Obfuscation,Dll Injection,假设我们有一个Windows应用程序,它通过HTTPS发送一些数据包。 我们需要提取这些数据包的内容(当然是未加密的) 无法获得服务器私有证书,并且MitM攻击不起作用(此应用程序使用了一些MitM防御)。 因此,解密似乎已经不存在了 唯一的选择(我想)是在加密之前从应用程序中提取这些数据包。 应用程序得到了很好的保护,它不依赖于OpenSSL DLL。然而,我们有一种感觉,它使用OpenSSL(但是,静态链接,可能是在编译/链接之前修改了OpenSSL源代码) 挂接对OpenSSL函数(如ss

假设我们有一个Windows应用程序,它通过HTTPS发送一些数据包。 我们需要提取这些数据包的内容(当然是未加密的)

无法获得服务器私有证书,并且MitM攻击不起作用(此应用程序使用了一些MitM防御)。 因此,解密似乎已经不存在了

唯一的选择(我想)是在加密之前从应用程序中提取这些数据包。 应用程序得到了很好的保护,它不依赖于OpenSSL DLL。然而,我们有一种感觉,它使用OpenSSL(但是,静态链接,可能是在编译/链接之前修改了OpenSSL源代码)

挂接对OpenSSL函数(如ssl_write())的调用并不简单,因为应用程序的可执行文件是打包和模糊的。它还有一个调试保护,但是已经找到了一个隐藏调试器,可以避免这种防御。 因此,我们可以调试这个应用程序。但是,在调试过程中看到的代码是一团混乱(模糊)。 甚至由该应用程序加载的系统DLL也完全混乱。以下是调试此应用程序期间WS2_32.dll中的send()函数的外观示例: 以下是正常(未受保护)应用程序的外观,以供参考: 因此,很难理解函数参数是如何传递的,而且看起来它们可以通过不同的方式传递(不确定,但根据调试实验看起来是这样)

这似乎是一项非常常见的任务,因为有许多Windows应用程序使用HTTPS和静态链接的OpenSSL


希望有人有这样的经验并能与大家分享。

这个问题似乎离题了,因为它与编程或开发无关。也许是个更好的问的地方。我不知道。我在那里试试。谢谢