C#编译的不是真正的exe和dll
准备一个免杀的dll,打算用白名单调用这个dll的。但是c#编译的不是真正的exe和dll,需要在.net环境下运行。
exe去调用dll的时候也会发现没有函数导出表,无法调用。
本次失败是因为没有了解各种语言的特性导致的。还是记录一下,以免忘记。要牢记这次教训。
第一步,用cs生成payload.bin
payload.bin
https://mega.nz/file/uIAE3JhJ#yNKmVBy-9OJdPZlvhXoK9rxDUbxAj9t9e0NtteLqQTs
第二步,对payload.bin进行加密
https://mega.nz/file/SMRWBTIS#QC2fS2-FcGKTd0nLIx-hyR2U3yYDG9EmYuT6vUXkrPQ
2_aes_encryption.exe payload.bin
生成加密的载荷
第三步,修改源码
将加密载荷托管到这个地址:
http://IP:8083/20210928101153
修改源码中的url为上述地址,修改解密payload的密码,需要和2_aes_encryption.exe加密密码一致
https://mega.nz/file/iBRCTRiR#v8tXHQNccieICLKGOq_Hs1CFrZ-hNZWzF2LvLyaKH7I
第四步,生成dll
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:library hollowing.cs
获得hollowing.dll
第五步,使用smartassembly对dll进行混淆
获得linkinfo.dll
1/30
fc099eba78606238c82a29a7d3d5bfabd1b58a248dae8e917ca6a0349d0801ac