SAP客户端网络流量压缩分析与处理
1. 汇编语言基础与SAP相关背景
在汇编语言中,常见的模式之一是函数调用,其典型序列为 PUSH
链 / CALL
/ ADD ESP, X
,这种序列较易检测和识别。同时,之前预留的空间通常会填充 NOP
指令(如 0x90
)或已知操作码的其他 NOP
指令,也可能是 INT3
指令( 0xCC
)。
对于SAP客户端,默认情况下,SAPGUI与SAP之间的网络流量未加密但会进行压缩。通过将环境变量 TDW_NOCOMPRESS
设置为 1
,可以关闭网络数据包的压缩,但会弹出一个无法关闭的烦人窗口。
2. 查找关键信息与代码分析
我们已知 TDW_NOCOMPRESS
环境变量在SAPGUI客户端内部的某处被检查,且存在 “data compression switched off” 这样的字符串。借助FAR文件管理器,发现这两个字符串都存储在 SAPguilib.dll
文件中。
在IDA中打开 SAPguilib.dll
并搜索 TDW_NOCOMPRESS
字符串,发现其存在且仅有一处引用。相关代码片段如下: