Skip to content

Commit b535667

Browse files
committed
Updated pe-sieve: 0.3.8. Support new shellc options
1 parent ea68564 commit b535667

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

mal_unpack_ver.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#define MALUNP_MAJOR_VERSION 0
44
#define MALUNP_MINOR_VERSION 9
5-
#define MALUNP_MICRO_VERSION 7
5+
#define MALUNP_MICRO_VERSION 8
66
#define MALUNP_PATCH_VERSION 0
77

8-
#define MALUNP_VERSION_STR "0.9.7"
8+
#define MALUNP_VERSION_STR "0.9.8"

params.h

+10-4
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,15 @@ class UnpackParams : public Params
155155
this->addParam(new BoolParam(PARAM_MINDUMP, false));
156156
this->setInfo(PARAM_MINDUMP, "Create a minidump of the detected process");
157157

158-
this->addParam(new BoolParam(PARAM_SHELLCODE, false));
159-
this->setInfo(PARAM_SHELLCODE, "Detect shellcodes");
158+
EnumParam* shellcParam = new EnumParam(PARAM_SHELLCODE, "shellc_mode", false);
159+
if (shellcParam) {
160+
this->addParam(shellcParam);
161+
this->setInfo(PARAM_SHELLCODE, "Detect shellcode implants (by patterns or statistics). ");
162+
shellcParam->addEnumValue(pesieve::t_shellc_mode::SHELLC_PATTERNS, "P", "detect shellcodes by patterns");
163+
shellcParam->addEnumValue(pesieve::t_shellc_mode::SHELLC_STATS, "S", "detect shellcodes by stats");
164+
shellcParam->addEnumValue(pesieve::t_shellc_mode::SHELLC_PATTERNS_OR_STATS, "A", "detect shellcodes by patterns or stats (any match)");
165+
shellcParam->addEnumValue(pesieve::t_shellc_mode::SHELLC_PATTERNS_AND_STATS, "B", "detect shellcodes by patterns and stats (both match)");
166+
}
160167

161168
this->addParam(new BoolParam(PARAM_HOOKS, false));
162169
this->setInfo(PARAM_HOOKS, "Detect hooks and patches");
@@ -181,7 +188,6 @@ class UnpackParams : public Params
181188
impParam->addEnumValue(pesieve::t_imprec_mode::PE_IMPREC_REBUILD2, "R2", translate_imprec_mode(pesieve::t_imprec_mode::PE_IMPREC_REBUILD2));
182189
}
183190

184-
185191
EnumParam* norespParam = new EnumParam(PARAM_NORESPAWN, "respawn_protect", false);
186192
if (norespParam) {
187193

@@ -303,7 +309,7 @@ class UnpackParams : public Params
303309

304310
copyVal<BoolParam>(PARAM_REFLECTION, ps.make_reflection);
305311
copyVal<BoolParam>(PARAM_MINDUMP, ps.minidump);
306-
copyVal<BoolParam>(PARAM_SHELLCODE, ps.shellcode);
312+
copyVal<EnumParam>(PARAM_SHELLCODE, ps.shellcode);
307313
copyVal<EnumParam>(PARAM_IMP, ps.imprec_mode);
308314
copyVal<EnumParam>(PARAM_DATA, ps.data);
309315
copyVal<BoolParam>(PARAM_CACHE, ps.use_cache);

0 commit comments

Comments
 (0)