// unmidl.py version 1.0 by Dave Aitel www.immunitysec.com //Found interfaces at 2228 //NDR Version = 0002 //IDL [ uuid(3f31c91e-2545-4b7b-9311-9529e8bffef6), version(1.0) ] interface myinterface //Displaying TYPES typedef struct { long element_9; long element_10; [unique] [string] wchar_t *element_3; [unique] [string] wchar_t *element_4; [unique] [string] wchar_t *element_5; [unique] [string] wchar_t *element_6; [unique] [string] wchar_t *element_7; [unique] [string] wchar_t *element_8; long element_11; long element_12; } TYPE_1; typedef struct { long element_37; long element_38; } TYPE_2; typedef struct { long element_41; short element_42; short element_43; [size_is(8)] byte *element_44; } TYPE_3; typedef struct { long element_58; long element_59; [unique] [string] wchar_t *element_52; [unique] [string] wchar_t *element_53; [unique] [string] wchar_t *element_54; [unique] [string] wchar_t *element_55; [unique] [string] wchar_t *element_56; [unique] [string] wchar_t *element_57; long element_60; long element_61; } TYPE_4; typedef struct { long element_78; TYPE_6 element_79; } TYPE_5; typedef struct { short element_80; short element_81; long element_82; TYPE_7 element_83; long element_85; } TYPE_6; typedef struct { [size_is(16)] char *element_84; } TYPE_7; typedef struct { /* enum */ unsigned short element_101; [unique] TYPE_3 *element_102; } TYPE_8; typedef struct { long element_116; TYPE_3 element_117; TYPE_3 element_118; long element_119; long element_120; [unique] [string] wchar_t *element_111; [unique] [string] wchar_t *element_112; [unique] [string] wchar_t *element_113; TYPE_2 element_121; TYPE_2 element_122; TYPE_2 element_123; long element_124; [size_is(element_124)] [unique] byte *element_114; long element_125; [size_is(element_125)] [unique] byte *element_115; } TYPE_9; typedef struct { long element_134; TYPE_3 element_135; TYPE_3 element_136; long element_137; long element_138; [unique] [string] wchar_t *element_129; [unique] [string] wchar_t *element_130; [unique] [string] wchar_t *element_131; TYPE_2 element_139; TYPE_2 element_140; TYPE_2 element_141; long element_142; [size_is(element_142)] [unique] byte *element_132; long element_143; [size_is(element_143)] [unique] byte *element_133; } TYPE_10; typedef struct { long element_181; long element_182; [unique] [string] wchar_t *element_183; [unique] [string] wchar_t *element_184; hyper element_185; long element_186; Some kind of error![unique] TYPE_5 *element_187; TYPE_12 element_189; } TYPE_11; typedef struct { Unknown_TYPE(3) element_190; Unknown_TYPE(4) element_191; ??? element_192; Unknown_TYPE(41) element_193; Unknown_TYPE(84) element_194; long element_195; ??? element_196; byte element_197; ??? element_198; long element_200; } TYPE_12; typedef struct { long element_207; long element_208; hyper element_209; hyper element_210; [unique] [string] wchar_t *element_211; TYPE_5 element_212; } TYPE_13; typedef struct { long element_237; long element_238; [unique] [string] wchar_t *element_226; [unique] TYPE_15 *element_227; [unique] [string] wchar_t *element_234; [unique] [string] wchar_t *element_235; TYPE_2 element_239; TYPE_2 element_240; long element_241; [size_is(element_241)] [unique] TYPE_3 *element_236; } TYPE_14; typedef struct { [unique] [string] char *element_228; long element_231; [size_is(element_231)] [unique] byte *element_229; long element_232; [size_is(element_232)] [unique] byte *element_230; long element_233; } TYPE_15; //Display Functions long Function_00( [in] [string] wchar_t * element_1, [in] TYPE_1 * element_2, [out] [context_handle] void * element_13 ); long Function_01( [in] [string] wchar_t * element_15, [in] [string] wchar_t * element_16, [in] [string] wchar_t * element_17, [in] [unique] [string] wchar_t * element_18, [out] [context_handle] void * element_19 ); long Function_02( [in] [string] wchar_t * element_21, [in] [string] wchar_t * element_22, [in] [string] wchar_t * element_23, [in] [unique] [string] wchar_t * element_24, [out] [context_handle] void * element_25 ); long Function_03( [in] [context_handle] void * element_27 ); long Function_04( [in,out] [context_handle] void * element_29 ); long Function_05( [in] [string] wchar_t * element_31, [in] [string] wchar_t * element_32 ); long Function_06( [in] [context_handle] void * element_34, [in] [string] wchar_t * element_35, [in] [unique] TYPE_2 ** element_36, [in] long element_39, [size_is(element_39)] [in] [unique] TYPE_3 ** element_40, [out] [ref] [unique] [string] wchar_t ** element_45 ); long Function_07( [in] [context_handle] void * element_47, [out] long * element_48 ); long Function_08( [in] [context_handle] void * element_50, [out] [ref] [unique] TYPE_4 *** element_51 ); long Function_09( [in] [context_handle] void * element_63, [in] TYPE_1 * element_64 ); long Function_0a( [in] [context_handle] void * element_66, [in] long element_67, [out] [context_handle] void * element_68 ); long Function_0b( [in] [context_handle] void * element_70, [in] long element_71, [in] [unique] [string] wchar_t * element_72, [out] [context_handle] void * element_73 ); long Function_0c( [in] [context_handle] void * element_75, [in] [string] wchar_t * element_76, [in] TYPE_5 * element_77, [out] hyper * element_86 ); long Function_0d( [in] [context_handle] void * element_88, [in] hyper element_89 ); long Function_0e( [in] [context_handle] void * element_91, [in] hyper element_92, [in] TYPE_3 * element_93, [in] long element_94, [size_is(element_94)] [in] [unique] byte * element_95 ); long Function_0f( [in] [context_handle] void * element_97, [in] long element_98, [in] long element_99, [size_is(element_99)] [in] TYPE_8 * element_100, [in] [string] wchar_t * element_103, [out] [context_handle] void * element_104 ); long Function_10( [in,out] [context_handle] void * element_106 ); long Function_11( [in] [context_handle] void * element_108, [in] TYPE_3 * element_109, [out] [ref] [unique] TYPE_9 *** element_110 ); long Function_12( [in] [context_handle] void * element_127, [in] TYPE_10 * element_128, [out] TYPE_3 * element_144 ); long Function_13( [in] [context_handle] void * element_146, [in] TYPE_10 * element_147 ); long Function_14( [in] [context_handle] void * element_149, [in] TYPE_3 * element_150 ); long Function_15( [in] [context_handle] void * element_152, [in] [unique] TYPE_3 ** element_153, [out] [context_handle] void * element_154 ); long Function_16( [in] [context_handle] void * element_156, [in] [string] wchar_t * element_157, [out] [context_handle] void * element_158 ); long Function_17( [in] [context_handle] void * element_160, [in] [string] wchar_t * element_161 ); long Function_18( [in] [context_handle] void * element_163, [in] [string] wchar_t * element_164 ); long Function_19( [in] [context_handle] void * element_166, [in] TYPE_2 * element_167, [out] TYPE_2 * element_168 ); long Function_1a( [in] [context_handle] void * element_170, [in] TYPE_2 * element_171, [out] TYPE_2 * element_172 ); long Function_1b( [in] [context_handle] void * element_174, [out] long * element_175 ); long Function_1c( [in] [context_handle] void * element_177, [in] long element_178, [out] long * element_179, [size_is(*element_179)] [out] [ref] [unique] long ** element_201 ); long Function_1d( [in] [context_handle] void * element_203, [in] long element_204, [out] long * element_205, [size_is(*element_205)] [out] [ref] [unique] long ** element_213 ); long Function_1e( [in] [context_handle] void * element_215, [in] long element_216, [out] long * element_217, [size_is(*element_217)] [out] [ref] [unique] long ** element_219 ); long Function_1f( [in,out] [context_handle] void * element_221 ); long Function_20( [in] [context_handle] void * element_223, [in] [string] wchar_t * element_224, [in] [unique] TYPE_14 ** element_225, [in] long element_242, [in,out] [unique] [string] wchar_t ** element_243 ); //Found interfaces at 18c Client routines found //Found interfaces at 80c //NDR Version = 0002 //IDL [ uuid(8174bb16-571b-4c38-8386-1102b449044a), version(1.0) ] interface myinterface //Displaying TYPES typedef struct { long element_264; TYPE_2 element_265; } TYPE_1; typedef [switch_type(long)] union { [case(1)] TYPE_3 element_266; [case(3)] TYPE_7 element_293; [case(2)] TYPE_7 element_297; } TYPE_2; typedef struct { [unique] TYPE_4 *element_267; [unique] [string] wchar_t *element_274; [unique] [string] wchar_t *element_275; [unique] [string] wchar_t *element_276; [unique] [string] wchar_t *element_277; [unique] [string] wchar_t *element_278; TYPE_6 element_286; TYPE_6 element_289; long element_290; long element_291; [size_is(element_291)] [unique] TYPE_5 *element_279; long element_292; [size_is(element_292)] [unique] long *element_285; } TYPE_3; typedef struct { [unique] [string] char *element_268; long element_271; [size_is(element_271)] [unique] byte *element_269; long element_272; [size_is(element_272)] [unique] byte *element_270; long element_273; } TYPE_4; typedef struct { long element_280; short element_281; short element_282; [size_is(8)] byte *element_283; } TYPE_5; typedef struct { long element_287; long element_288; } TYPE_6; typedef struct { [unique] [string] wchar_t *element_294; [unique] [string] wchar_t *element_295; long element_296; } TYPE_7; typedef struct { long element_324; [unique] [string] wchar_t *element_322; [unique] [string] wchar_t *element_323; } TYPE_8; typedef struct { [unique] [string] wchar_t *element_328; [unique] [string] wchar_t *element_329; TYPE_6 element_333; TYPE_6 element_334; long element_335; [size_is(element_335)] [unique] TYPE_5 *element_330; long element_336; [size_is(element_336)] [unique] long *element_332; long element_337; } TYPE_9; //Display Functions long Function_00( [in] [unique] [string] wchar_t * element_245, [in] [unique] [string] wchar_t * element_246, [in] [unique] [string] wchar_t * element_247, [out] [context_handle] void * element_248, [out] [ref] [unique] [string] wchar_t ** element_249 ); long Function_01( [in,out] [context_handle] void * element_251 ); long Function_02( [in,out] [context_handle] void * element_253 ); long Function_03( [in] [unique] [string] wchar_t * element_255, [out] [context_handle] void * element_256 ); long Function_04( [in] [context_handle] void * element_258, [in] [unique] [string] wchar_t * element_259 ); long Function_05( [in] [context_handle] void * element_261, [in] [unique] [string] wchar_t * element_262, [in] TYPE_1 * element_263, [in] long element_299, [out] long * element_300, [size_is(*element_300)] [out] [ref] [unique] byte ** element_301 ); long Function_06( [in] [context_handle] void * element_303, [in] [unique] [string] wchar_t * element_304, [in] long element_305, [in] long element_306, [out] long * element_307, [size_is(*element_307)] [out] [ref] [unique] byte ** element_308, [out] long * element_309, [size_is(*element_309)] [out] [ref] [unique] byte ** element_310 ); long Function_07( [in] [context_handle] void * element_312, [in] [unique] [string] wchar_t * element_313, [in] long element_314, [in] long element_315, [size_is(element_315)] [in] byte element_316 ); long Function_08( [out] long * element_318, [size_is(*element_318)] [out] [ref] [unique] TYPE_8 *** element_321 ); long Function_09( [in] [context_handle] void * element_326, [in] TYPE_9 * element_327, [out] [ref] [unique] [string] wchar_t ** element_338 ); long Function_0a( [in] [context_handle] void * element_340, [out] long * element_341, [size_is(*element_341)] [out] [ref] [unique] TYPE_8 *** element_344 ); long Function_0b( [in] [context_handle] void * element_346, [in] [string] wchar_t * element_347 ); long Function_0c( [in] [string] wchar_t * element_349, [in] long element_350, [size_is(element_350)] [in] byte element_351 ); //Found interfaces at 64c Client routines found //Found interfaces at f8c Client routines found //Found interfaces at 4d24 //NDR Version = 0002 //IDL [ uuid(a2d47257-12f7-4beb-8981-0ebfa935c407), version(1.0) ] interface myinterface //Displaying TYPES typedef struct { TYPE_2 element_360; /* enum */ unsigned short element_364; long element_365; [size_is(128)] wchar_t *element_366; /* enum */ unsigned short element_367; } TYPE_1; typedef struct { long element_361; /* enum */ unsigned short element_362; long element_363; } TYPE_2; typedef struct { [unique] [string] wchar_t *element_380; [unique] [string] wchar_t *element_381; [range(1,20)] long element_383; Some kind of error![unique] TYPE_4 *element_384; long element_392; } TYPE_3; typedef struct { short element_385; short element_386; TYPE_5 element_387; short element_391; } TYPE_4; typedef [switch_type(long)] union { [case(23)] [size_is(16)] byte *element_388; [case(2)] [size_is(4)] byte *element_389; } TYPE_5; typedef struct { [size_is(16)] byte *element_394; } TYPE_6; typedef struct { [range(0,100)] long element_420; [size_is(element_420)] [unique] TYPE_8 *element_421; } TYPE_7; typedef struct { TYPE_4 element_422; short element_423; } TYPE_8; typedef struct { /* enum */ unsigned short element_432; TYPE_10 element_433; } TYPE_9; typedef [switch_type(long)] union { [case(2)] long element_434; [case(1)] [unique] [string] wchar_t *element_435; } TYPE_10; //Display Functions long Function_00( [out] [context_handle] void * element_353, [in] long element_354, [in,out] [unique] long * element_355 ); long Function_01( [in] [context_handle] void * element_357, [out] long * element_358, [size_is(*element_358)] [out] [ref] [unique] TYPE_1 *** element_359 ); long Function_02( [in,out] [context_handle] void * element_369 ); long Function_03( [out] [context_handle] void * element_371 ); long Function_04( [in,out] [context_handle] void * element_373 ); long Function_05( [out] [context_handle] void * element_375, [in] [context_handle] void * element_376, [in] [string] wchar_t * element_377, [in] [unique] [string] wchar_t * element_378, [in] TYPE_3 * element_379, [in] [unique] TYPE_6 ** element_393, [out] TYPE_6 * element_395, [in] long element_396, [in,out] [unique] long * element_397 ); long Function_06( [in,out] [context_handle] void * element_399 ); long Function_07( [out] [context_handle] void * element_401, [in] [context_handle] void * element_402, [in] [string] wchar_t * element_403, [in] [string] wchar_t * element_404, [in] long element_405, [in] long element_406, [in] /* enum */ unsigned short element_407, [in] [unique] TYPE_6 ** element_408, [in] long element_409, [in] long element_410, [in] long element_411, [in,out] [unique] long * element_412 ); long Function_08( [in] [context_handle] void * element_414, [out] [ref] /* enum */ unsigned short * element_415, [out] [ref] [unique] TYPE_3 *** element_416, [in,out] [unique] [string] wchar_t ** element_417, [in,out] [unique] TYPE_7 *** element_418 ); long Function_09( [in,out] [context_handle] void * element_425 ); long Function_0a( ); long Function_0b( [in] /* enum */ unsigned short element_428, [in] [range(0,20)] long element_430, [size_is(element_430)] [in] [unique] TYPE_9 ** element_431, [in,out] [unique] long * element_437, [size_is(*element_437)] [in,out] [unique] TYPE_9 *** element_438 ); //Found interfaces at 69c2c //Found interfaces at e4 //Found interfaces at 68 //Found interfaces at 2c0 //Found interfaces at 1b54 //Found interfaces at d24