shellcode-factory icon indicating copy to clipboard operation
shellcode-factory copied to clipboard

在Release下,shellcode中使用数组进行复杂赋值操作时,会出现无法解析__ImageBase外部变量的错误

Open Peter-Zheng-Sp opened this issue 1 year ago • 2 comments

报错代码样例:

SC_EXPORT_DATA(volatile __int64, a[3])
SC_EXPORT_DATA(volatile __int64, b[3])
SC_EXPORT_DATA(volatile __int64, c[3])

int ii = 0;

SC_EXPORT BOOL demo(LPVOID lpParameter) {
a[ii] = ii;
b[ii] = ii;
c[ii] = ii;
}

报错如下:

3>[ erro ]Unresolved symbols "__ImageBase"
3>[ erro ]Unresolved symbols

观察到生成payload的lib中在索引数组的时候,会引入名为 __ImageBase 的外部变量。 75d5503b-60f0-4b4e-8a6d-8e38d2ece676

Peter-Zheng-Sp avatar Sep 24 '24 15:09 Peter-Zheng-Sp

其实 _ImageBase 应该等同于模块句柄基址。但不知这个问题咋解决?

AlexAdasCca avatar Dec 21 '24 08:12 AlexAdasCca

其实 _ImageBase 应该等同于模块句柄基址。但不知这个问题咋解决?

是的,但是debug模式下就不会有这个问题,我觉得应该是某种优化机制导致的。

Peter-Zheng-Sp avatar Dec 24 '24 09:12 Peter-Zheng-Sp