// unmidl.py version 1.0 by Dave Aitel www.immunitysec.com //Found interfaces at 2678 //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 7d4 //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_9 element_296; [case(2)] TYPE_10 element_300; } TYPE_2; typedef struct { [unique] TYPE_4 *element_267; long element_274; [string] wchar_t * element_275; [unique] [string] wchar_t *element_276; [unique] [string] wchar_t *element_277; [unique] [string] wchar_t *element_278; TYPE_5 element_279; TYPE_5 element_282; long element_283; TYPE_6 element_284; TYPE_8 element_291; short element_295; } 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; long element_281; } TYPE_5; typedef struct { long element_290; [size_is(element_290)] [unique] TYPE_7 *element_285; } TYPE_6; typedef struct { long element_286; short element_287; short element_288; [size_is(8)] byte *element_289; } TYPE_7; typedef struct { long element_294; [size_is(element_294)] [unique] long *element_293; } TYPE_8; typedef struct { [unique] [string] wchar_t *element_297; [unique] [string] wchar_t *element_298; long element_299; } TYPE_9; typedef struct { [unique] [string] wchar_t *element_301; [unique] [string] wchar_t *element_302; long element_303; short element_304; } TYPE_10; typedef struct { long element_331; [unique] [string] wchar_t *element_329; [unique] [string] wchar_t *element_330; } TYPE_11; typedef struct { [unique] [string] wchar_t *element_335; [unique] [string] wchar_t *element_336; TYPE_5 element_337; TYPE_5 element_338; TYPE_6 element_339; TYPE_8 element_340; long element_341; short element_342; } TYPE_12; //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_306, [out] long * element_307, [size_is(*element_307)] [out] [ref] [unique] byte ** element_308 ); long Function_06( [in] [context_handle] void * element_310, [in] [unique] [string] wchar_t * element_311, [in] long element_312, [in] long element_313, [out] long * element_314, [size_is(*element_314)] [out] [ref] [unique] byte ** element_315, [out] long * element_316, [size_is(*element_316)] [out] [ref] [unique] byte ** element_317 ); long Function_07( [in] [context_handle] void * element_319, [in] [unique] [string] wchar_t * element_320, [in] long element_321, [in] long element_322, [size_is(element_322)] [in] byte element_323 ); long Function_08( [out] long * element_325, [size_is(*element_325)] [out] [ref] [unique] TYPE_11 *** element_328 ); long Function_09( [in] [context_handle] void * element_333, [in] TYPE_12 * element_334, [out] [ref] [unique] [string] wchar_t ** element_343 ); long Function_0a( [in] [context_handle] void * element_345, [out] long * element_346, [size_is(*element_346)] [out] [ref] [unique] TYPE_11 *** element_349 ); long Function_0b( [in] [context_handle] void * element_351, [in] [string] wchar_t * element_352 ); long Function_0c( [in] [string] wchar_t * element_354, [in] long element_355, [size_is(element_355)] [in] byte element_356 ); //Found interfaces at 5f4 Client routines found //Found interfaces at fdc Client routines found //Found interfaces at 4bfc //NDR Version = 0002 //IDL [ uuid(a2d47257-12f7-4beb-8981-0ebfa935c407), version(1.0) ] interface myinterface //Displaying TYPES typedef struct { TYPE_2 element_365; /* enum */ unsigned short element_369; long element_370; [size_is(128)] wchar_t *element_371; /* enum */ unsigned short element_372; } TYPE_1; typedef struct { long element_366; /* enum */ unsigned short element_367; long element_368; } TYPE_2; typedef struct { [unique] [string] wchar_t *element_385; [unique] [string] wchar_t *element_386; [range(0,10)] long element_388; [size_is(element_399)] [unique] TYPE_4 *element_389; long element_398; TYPE_6 element_399; long element_403; } TYPE_3; typedef struct { short element_390; short element_391; TYPE_5 element_392; short element_396; long element_397; } TYPE_4; typedef [switch_type(long)] union { [case(23)] [size_is(16)] byte *element_393; [case(2)] [size_is(4)] byte *element_394; } TYPE_5; typedef struct { [range(0,4096)] long element_401; [size_is(element_401)] [unique] byte *element_402; } TYPE_6; typedef struct { [size_is(16)] byte *element_405; } TYPE_7; typedef struct { [range(0,100)] long element_433; [size_is(element_433)] [unique] TYPE_9 *element_434; } TYPE_8; typedef struct { TYPE_4 element_435; short element_436; long element_437; long element_438; } TYPE_9; typedef struct { /* enum */ unsigned short element_447; TYPE_11 element_448; } TYPE_10; typedef [switch_type(long)] union { [case(2)] long element_449; [case(1)] [unique] [string] wchar_t *element_450; } TYPE_11; //Display Functions long Function_00( [out] [context_handle] void * element_358, [in] long element_359, [in,out] [unique] long * element_360 ); long Function_01( [in] [context_handle] void * element_362, [out] long * element_363, [size_is(*element_363)] [out] [ref] [unique] TYPE_1 *** element_364 ); long Function_02( [in,out] [context_handle] void * element_374 ); long Function_03( [out] [context_handle] void * element_376 ); long Function_04( [in,out] [context_handle] void * element_378 ); long Function_05( [out] [context_handle] void * element_380, [in] long element_381, [in] [string] wchar_t * element_382, [in] [unique] [string] wchar_t * element_383, [in] TYPE_3 * element_384, [in] [unique] TYPE_7 ** element_404, [out] TYPE_7 * element_406, [in] long element_407, [in,out] [unique] long * element_408 ); long Function_06( [in,out] [context_handle] void * element_410 ); long Function_07( [out] [context_handle] void * element_412, [in] long element_413, [in] [unique] [string] wchar_t * element_414, [in] [string] wchar_t * element_415, [in] long element_416, [in] long element_417, [in] /* enum */ unsigned short element_418, [in] [unique] TYPE_7 ** element_419, [in] long element_420, [in] long element_421, [in] long element_422, [in] long element_423, [in] long element_424, [in,out] [unique] long * element_425 ); long Function_08( [in] [context_handle] void * element_427, [out] [ref] /* enum */ unsigned short * element_428, [out] [ref] [unique] TYPE_3 *** element_429, [in,out] [unique] [string] wchar_t ** element_430, [in,out] [unique] TYPE_8 *** element_431 ); long Function_09( [in,out] [context_handle] void * element_440 ); long Function_0a( ); long Function_0b( [in] /* enum */ unsigned short element_443, [in] [range(0,20)] long element_445, [size_is(element_445)] [in] [unique] TYPE_10 ** element_446, [out] long * element_452, [size_is(*element_452)] [out] [ref] [unique] TYPE_10 *** element_453 ); //Found interfaces at 6fb54 //Found interfaces at e4 //Found interfaces at 68 //Found interfaces at 2c8 //Found interfaces at 1b4c //Found interfaces at fec