#include "..\include_cnvpe_header.h"

// 调用格式: SDT_BIN 转换可执行文件数据, 命令说明: "转换所提供的使用易语言编译的可执行文件或易语言支持库内容数据，使其内容完全被改变，但不影响其正常使用。返回转换后的结果字节集。如果转换失败，将返回空字节集，同时如果参数中提供了转换结果获取变量，其中将返回具体的错误代码值。本命令主要用作应付一些使用落后的特征码查毒技术的杀毒软件，使其不再或很难对易语言编译出来的程序和易语言本身支持库误报，建议大家在发布自己的软件前使用本命令转换下编译后的可执行文件和所需要携带的支持库。注意：1、多次重复转换可能会导致转换后的可执行文件或易语言支持库无法使用，请确保只转换一次；2、对于非易语言编译的可执行文件或DLL，不保证转换后能够正常使用"
// 参数<1>: 可执行文件数据 SDT_BIN, 参数说明: "提供需要转换的PE格式可执行文件数据，可以是EXE或DLL文件内容"
// 参数<2>: [转换码 SDT_INT], 参数说明: "可以是非零的任何数值，使用不同的数值将得到完全不同的转换结果，使用相同的数值将得到完全相同的转换结果。如果提供数值0，将自动使用随机数值。如果本参数被省略，默认值为0"
// 参数<3>: [&转换结果 SDT_INT], 参数说明: "通过为本参数提供一个变量即可获取命令运行后具体的转换是否成功状态，所返回值有以下几种：0:转换成功; -1:所提供数据无效; -2:数据中没有需要转换的部分; -3:无法找到转换代码插入空间。如果本参数被省略，将不返回转换结果"
CNVPE_EXTERN_C void cnvpe_cnvpe_0_cnvpe(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
    LPBYTE   arg1 = pArgInf[0].m_pBin;
    INT      arg2 = pArgInf[1].m_int;
    PINT     arg3 = pArgInf[2].m_pInt;

}

