void PackCom::buildLoader(const Filter *ft) { initLoader(stub_i086_dos16_com, sizeof(stub_i086_dos16_com)); addLoader("COMMAIN1", ph.first_offset_found == 1 ? "COMSBBBP" : "", "COMPSHDI", ft->id ? "COMCALLT" : "", "COMMAIN2,UPX1HEAD,COMCUTPO,NRV2B160", ft->id ? "NRVDDONE" : "NRVDRETU", "NRVDECO1", ph.max_offset_found <= 0xd00 ? "NRVLED00" : "NRVGTD00", "NRVDECO2", NULL ); if (ft->id) { assert(ft->calls > 0); addFilter16(ft->id); } }
void PackSys::buildLoader(const Filter *ft) { initLoader(stub_i086_dos16_sys, sizeof(stub_i086_dos16_sys)); addLoader("SYSMAIN1", opt->cpu == opt->CPU_8086 ? "SYSI0861" : "SYSI2861", "SYSMAIN2", ph.first_offset_found == 1 ? "SYSSBBBP" : "", ft->id ? "SYSCALLT" : "", "SYSMAIN3,UPX1HEAD,SYSCUTPO,NRV2B160,NRVDDONE,NRVDECO1", ph.max_offset_found <= 0xd00 ? "NRVLED00" : "NRVGTD00", "NRVDECO2", NULL ); if (ft->id) { assert(ft->calls > 0); addFilter16(ft->id); } addLoader("SYSMAIN5", opt->cpu == opt->CPU_8086 ? "SYSI0862" : "SYSI2862", "SYSJUMP1", NULL ); }