ExeCgiCmd

z Tiny Mosquito, 2 dni temu, napisane w C, wyświetlone 7 razy. [paste_expire] 10 miesiące.
URL https://pastebin.k4be.pl/view/80d30e36 Udostępnij
Pobierz wklejkę lub Pokaż surowy tekst
  1. undefined4 ExeCgiCmd(void)
  2.  
  3. {
  4.   int result;
  5.   int *piVar3;
  6.   size_t key_value_len;
  7.   char *key_value_end_ptr;
  8.   char local_214 [200];
  9.   char acStack_14c [256];
  10.   timespec local_4c;
  11.   timespec local_44;
  12.   char *local_3c;
  13.   char *local_38;
  14.   char *local_34;
  15.   uint local_30;
  16.   FILE *local_2c;
  17.   undefined8 local_28;
  18.   byte *local_20;
  19.   int cgi_num;
  20.   CgiParam *cgi_ptr;
  21.   FILE *pFVar2;
  22.  
  23.   cgi_num = 0;
  24.   do {
  25.     if (CgiNum <= cgi_num) {
  26.       return 0;
  27.     }
  28.     result = strcmp(CgiParamA[cgi_num].property,"AWB");
  29.     if (result == 0) {
  30. LAB_00012f2a:
  31.       fprintf(stderr,"CgiParamA[i].property=%s\n",cgi_num * 0x200 + 0x29204);
  32.       result = strcmp(CgiParamA[cgi_num].property,"TimeSettings");
  33.       if (result == 0) {
  34.         Cgi_CheckValue(cgi_num);
  35.       }
  36.       result = strcmp(CgiParamA[cgi_num].action,"set");
  37.       if (result == 0) {
  38.         sprintf(acStack_14c,"./CGI_PROCESS.sh %s %s %s 1>&2",CgiParamA + cgi_num,
  39.                 cgi_num * 0x200 + 0x29204,cgi_num * 0x200 + 0x29244);
  40.         local_30 = system(acStack_14c);
  41.         pFVar2 = stderr;
  42.         if ((((int)local_30 < 0) || ((local_30 & 0x7f) != 0)) || ((local_30 >> 8 & 0xff) != 0)) {
  43.           piVar3 = __errno_location();
  44.           key_value_end_ptr = strerror(*piVar3);
  45.           fprintf(pFVar2,"%s: cmd=%s (error: %s)\n\r","ExeCgiCmd",acStack_14c,key_value_end_ptr);
  46.           fwrite(&DAT_00017eec,1,4,stdout);
  47.           fwrite(&DAT_00017ef4,1,4,stdout);
  48.           fwrite(&DAT_00017eec,1,4,stderr);
  49.           fwrite(&DAT_00017ef4,1,4,stderr);
  50.         }
  51.         else {
  52.           fwrite("0\n",1,2,stdout);
  53.           fwrite("OK\n",1,3,stdout);
  54.           fwrite("0\n",1,2,stderr);
  55.           fwrite("OK\n",1,3,stderr);
  56.         }
  57.         result = strcmp(CgiParamA[cgi_num].property,"AWB");
  58.         if (result == 0) {
  59. LAB_0001357a:
  60.           result = strcmp(CgiParamA[cgi_num].property,"Exposure");
  61.           if (result == 0) {
  62.             CgiParamA[cgi_num].property[0] = 'E';
  63.             CgiParamA[cgi_num].property[1] = 'V';
  64.             CgiParamA[cgi_num].property[2] = '\0';
  65.           }
  66.           result = strcmp(CgiParamA[cgi_num].property,"Imageres");
  67.           if (result == 0) {
  68.             builtin_strncpy(CgiParamA[cgi_num].property,"Imag",4);
  69.             builtin_strncpy(CgiParamA[cgi_num].property + 4,"eRes",4);
  70.             CgiParamA[cgi_num].property[8] = '\0';
  71.           }
  72.           result = strcmp(CgiParamA[cgi_num].property,"Videores");
  73.           if (result == 0) {
  74.             builtin_strncpy(CgiParamA[cgi_num].property,"Vide",4);
  75.             builtin_strncpy(CgiParamA[cgi_num].property + 4,"oRes",4);
  76.             CgiParamA[cgi_num].property[8] = '\0';
  77.           }
  78.           builtin_strncpy(CgiParamA[cgi_num].key_value,"Came",4);
  79.           builtin_strncpy(CgiParamA[cgi_num].key_value + 4,"ra.M",4);
  80.           builtin_strncpy(CgiParamA[cgi_num].key_value + 8,"enu.",4);
  81.           CgiParamA[cgi_num].key_value[0xc] = '\0';
  82.           strcat(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].property);
  83.           cgi_ptr = CgiParamA + cgi_num;
  84.           key_value_len = strlen(cgi_ptr->key_value);
  85.           key_value_end_ptr = cgi_ptr->key_value + key_value_len;
  86.           key_value_end_ptr[0] = '=';
  87.           key_value_end_ptr[1] = '\0';
  88.           strcat(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].value);
  89.           fprintf(stderr,"%s: key_value[%d]= %s\n\r","ExeCgiCmd",cgi_num,cgi_num * 0x200 + 0x29384);
  90.           SetProcess(cgi_num * 0x200 + 0x29384);
  91.         }
  92.         else {
  93.           result = strcmp(CgiParamA[cgi_num].property,"EV");
  94.           if (result == 0) goto LAB_0001357a;
  95.           result = strcmp(CgiParamA[cgi_num].property,"Exposure");
  96.           if (result == 0) goto LAB_0001357a;
  97.           result = strcmp(CgiParamA[cgi_num].property,"Flicker");
  98.           if (result == 0) goto LAB_0001357a;
  99.           result = strcmp(CgiParamA[cgi_num].property,"ImageRes");
  100.           if (result == 0) goto LAB_0001357a;
  101.           result = strcmp(CgiParamA[cgi_num].property,"Imageres");
  102.           if (result == 0) goto LAB_0001357a;
  103.           result = strcmp(CgiParamA[cgi_num].property,"MTD");
  104.           if (result == 0) goto LAB_0001357a;
  105.           result = strcmp(CgiParamA[cgi_num].property,"VideoRes");
  106.           if (result == 0) goto LAB_0001357a;
  107.           result = strcmp(CgiParamA[cgi_num].property,"Videores");
  108.           if (result == 0) goto LAB_0001357a;
  109.           result = strcmp(CgiParamA[cgi_num].property,"VideoClipTime");
  110.           if (result == 0) goto LAB_0001357a;
  111.           result = strcmp(CgiParamA[cgi_num].property,"LoopingVideo");
  112.           if (result == 0) goto LAB_0001357a;
  113.           result = strcmp(CgiParamA[cgi_num].property,"SoundRecord");
  114.           if (result == 0) goto LAB_0001357a;
  115.           result = strcmp(CgiParamA[cgi_num].property,"RecStamp");
  116.           if (result == 0) goto LAB_0001357a;
  117.           result = strcmp(CgiParamA[cgi_num].property,"SpeedUint");
  118.           if (result == 0) goto LAB_0001357a;
  119.           result = strcmp(CgiParamA[cgi_num].property,"SpeedCamAlert");
  120.           if (result == 0) goto LAB_0001357a;
  121.           result = strcmp(CgiParamA[cgi_num].property,"SpeedLimitAlert");
  122.           if (result == 0) goto LAB_0001357a;
  123.           result = strcmp(CgiParamA[cgi_num].property,"TimeZone");
  124.           if (result == 0) goto LAB_0001357a;
  125.           result = strcmp(CgiParamA[cgi_num].property,"SyncTime");
  126.           if (result == 0) goto LAB_0001357a;
  127.           result = strcmp(CgiParamA[cgi_num].property,"GSensor");
  128.           if (result == 0) goto LAB_0001357a;
  129.           result = strcmp(CgiParamA[cgi_num].property,"PosSetting_Add");
  130.           if (result == 0) goto LAB_0001357a;
  131.           result = strcmp(CgiParamA[cgi_num].property,"PosSetting_DelLast");
  132.           if (result == 0) goto LAB_0001357a;
  133.           result = strcmp(CgiParamA[cgi_num].property,"PosSetting_DelAll");
  134.           if (result == 0) goto LAB_0001357a;
  135.           result = strcmp(CgiParamA[cgi_num].property,"VoiceSwitch");
  136.           if (result == 0) goto LAB_0001357a;
  137.           result = strcmp(CgiParamA[cgi_num].property,"ParkingMonitor");
  138.           if (result == 0) goto LAB_0001357a;
  139.         }
  140.         result = strcmp(CgiParamA[cgi_num].property,"MovieAudio");
  141.         if (result == 0) {
  142.           builtin_strncpy(CgiParamA[cgi_num].key_value,"Came",4);
  143.           builtin_strncpy(CgiParamA[cgi_num].key_value + 4,"ra.P",4);
  144.           builtin_strncpy(CgiParamA[cgi_num].key_value + 8,"revi",4);
  145.           builtin_strncpy(CgiParamA[cgi_num].key_value + 0xc,"ew.M",4);
  146.           builtin_strncpy(CgiParamA[cgi_num].key_value + 0x10,"JPEG",4);
  147.           builtin_strncpy(CgiParamA[cgi_num].key_value + 0x14,".sta",4);
  148.           builtin_strncpy(CgiParamA[cgi_num].key_value + 0x18,"tus.",4);
  149.           CgiParamA[cgi_num].key_value[0x1c] = '\0';
  150.           strcat(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].property);
  151.           cgi_ptr = CgiParamA + cgi_num;
  152.           key_value_len = strlen(cgi_ptr->key_value);
  153.           key_value_end_ptr = cgi_ptr->key_value + key_value_len;
  154.           key_value_end_ptr[0] = '=';
  155.           key_value_end_ptr[1] = '\0';
  156.           strcat(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].value);
  157.           fprintf(stderr,"%s: key_value[%d]= %s\n\r","ExeCgiCmd",cgi_num,cgi_num * 0x200 + 0x29384);
  158.           SetProcess(cgi_num * 0x200 + 0x29384);
  159.         }
  160.       }
  161.       else {
  162.         result = strcmp(CgiParamA[cgi_num].action,"get");
  163.         if (result == 0) {
  164.           local_214[0] = '\0';
  165.           local_214[1] = '\0';
  166.           local_214[2] = '\0';
  167.           local_214[3] = '\0';
  168.           memset(local_214 + 4,0,0xc4);
  169.           local_28._0_4_ = 0;
  170.           local_28._4_4_ = 0;
  171.           sprintf(acStack_14c,"./CGI_PROCESS.sh %s %s",CgiParamA + cgi_num,cgi_num * 0x200 + 0x29204
  172.                  );
  173.           result = strcmp(CgiParamA[cgi_num].property,"duration");
  174.           if (result == 0) {
  175.             sprintf(local_214,"%s",cgi_num * 0x200 + 0x29244);
  176.             local_28 = GetFileDuration(local_214);
  177.             fprintf(stdout,"%llu\n",(int)local_28,(int)((ulonglong)local_28 >> 0x20));
  178.           }
  179.           else {
  180.             local_2c = popen(acStack_14c,"r");
  181.             pFVar2 = stderr;
  182.             if (local_2c == (FILE *)0x0) {
  183.               piVar3 = __errno_location();
  184.               result = *piVar3;
  185.               piVar3 = __errno_location();
  186.               key_value_end_ptr = strerror(*piVar3);
  187.               fprintf(pFVar2,"%s: popen, errno(%d), %s\n\r","ExeCgiCmd",result,key_value_end_ptr);
  188.               return 0xffffffff;
  189.             }
  190.             fwrite("0\n",1,2,stdout);
  191.             fwrite("OK\n",1,3,stdout);
  192.             fwrite("0\n",1,2,stderr);
  193.             fwrite("OK\n",1,3,stderr);
  194.             while (key_value_end_ptr = fgets(local_214,200,local_2c),
  195.                   key_value_end_ptr != (char *)0x0) {
  196.               fputs(local_214,stdout);
  197.               fputs(local_214,stderr);
  198.             }
  199.             pclose(local_2c);
  200.           }
  201.           result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.SDInfo");
  202.           if (result != 0) {
  203.             result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.FWVersion");
  204.             if (result != 0) {
  205.               result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.RTSP.av");
  206.               if (result != 0) {
  207.                 result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.DeviceUUID");
  208.                 if (result != 0) {
  209.                   result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.UUID");
  210.                   if (result != 0) {
  211.                     GetProcess(cgi_num * 0x200 + 0x29204);
  212.                     goto LAB_00013c90;
  213.                   }
  214.                 }
  215.                 fwrite("0\n",1,2,stdout);
  216.                 fwrite("OK\n",1,3,stdout);
  217.                 goto LAB_00013c90;
  218.               }
  219.             }
  220.           }
  221.           fwrite("0\n",1,2,stdout);
  222.           fwrite("OK\n",1,3,stdout);
  223.           fwrite("0\n",1,2,stderr);
  224.           fwrite("OK\n",1,3,stderr);
  225.         }
  226.         else {
  227.           result = strcmp(CgiParamA[cgi_num].action,"del");
  228.           if (result == 0) {
  229.             result = strncmp(CgiParamA[cgi_num].property,"$mnt$mmc$",9);
  230.             if (result == 0) {
  231.               while( true ) {
  232.                 local_20 = (byte *)strchr(CgiParamA[cgi_num].property,0x24);
  233.                 if (local_20 == (byte *)0x0) break;
  234.                 fprintf(stderr,"%s: substitute=%c\n\r","ExeCgiCmd",(uint)*local_20);
  235.                 *local_20 = 0x2f;
  236.                 fprintf(stderr,"%s: substitute=%c\n\r","ExeCgiCmd",(uint)*local_20);
  237.               }
  238.               fprintf(stderr,"%s: break\n\r","ExeCgiCmd");
  239.             }
  240.             sprintf(acStack_14c,"./CGI_PROCESS.sh %s %s 1>&2",CgiParamA + cgi_num,
  241.                     cgi_num * 0x200 + 0x29204);
  242.             system(acStack_14c);
  243.             fwrite("0\n",1,2,stdout);
  244.             fwrite("OK\n",1,3,stdout);
  245.             fwrite("0\n",1,2,stderr);
  246.             fwrite("OK\n",1,3,stderr);
  247.           }
  248.         }
  249.       }
  250. LAB_00013c90:
  251.       result = strcmp(CgiParamA[cgi_num].action,"set");
  252.       if (result == 0) {
  253.         result = strcmp(CgiParamA[cgi_num].property,"65");
  254.         if (result == 0) {
  255.           result = clock_gettime(0,&local_44);
  256.           if (result == -1) {
  257.             fprintf(stderr,"%s: clock_gettime error\n\r","ExeCgiCmd");
  258.           }
  259.           else {
  260.             fprintf(stderr,"%s: gtime.tv_sec=%ld\n\r","ExeCgiCmd",local_44.tv_sec);
  261.             fprintf(stderr,"%s: gtime.tv_nsec=%ld\n\r","ExeCgiCmd",local_44.tv_nsec);
  262.           }
  263.           local_34 = CgiParamA[cgi_num].value;
  264.           local_38 = ".";
  265.           local_3c = strtok(local_34,".");
  266.           fprintf(stderr,"%s: tmpstr=%s\n\r","ExeCgiCmd",local_3c);
  267.           local_4c.tv_sec = atoi(local_3c);
  268.           fprintf(stderr,"%s: stime.tv_sec=%ld\n\r","ExeCgiCmd",local_4c.tv_sec);
  269.           while( true ) {
  270.             local_3c = strtok((char *)0x0,local_38);
  271.             if (local_3c == (char *)0x0) break;
  272.             fprintf(stderr,"%s: tmpstr=%s\n\r","ExeCgiCmd",local_3c);
  273.             local_4c.tv_nsec = atoi(local_3c);
  274.             fprintf(stderr,"%s: stime.tv_nsec=%ld\n\r","ExeCgiCmd",local_4c.tv_nsec);
  275.           }
  276.           result = clock_settime(0,&local_4c);
  277.           if (result == -1) {
  278.             fprintf(stderr,"%s: clock_settime error\n\r","ExeCgiCmd");
  279.           }
  280.           fwrite("0\n",1,2,stdout);
  281.           fwrite("OK\n",1,3,stdout);
  282.           fwrite("0\n",1,2,stderr);
  283.           fwrite("OK\n",1,3,stderr);
  284.         }
  285.       }
  286.     }
  287.     else {
  288.       result = strcmp(CgiParamA[cgi_num].property,"EV");
  289.       if (result == 0) goto LAB_00012f2a;
  290.       result = strcmp(CgiParamA[cgi_num].property,"Exposure");
  291.       if (result == 0) goto LAB_00012f2a;
  292.       result = strcmp(CgiParamA[cgi_num].property,"Flicker");
  293.       if (result == 0) goto LAB_00012f2a;
  294.       result = strcmp(CgiParamA[cgi_num].property,"ImageRes");
  295.       if (result == 0) goto LAB_00012f2a;
  296.       result = strcmp(CgiParamA[cgi_num].property,"Imageres");
  297.       if (result == 0) goto LAB_00012f2a;
  298.       result = strcmp(CgiParamA[cgi_num].property,"MTD");
  299.       if (result == 0) goto LAB_00012f2a;
  300.       result = strcmp(CgiParamA[cgi_num].property,"VideoRes");
  301.       if (result == 0) goto LAB_00012f2a;
  302.       result = strcmp(CgiParamA[cgi_num].property,"Videores");
  303.       if (result == 0) goto LAB_00012f2a;
  304.       result = strcmp(CgiParamA[cgi_num].property,"VideoClipTime");
  305.       if (result == 0) goto LAB_00012f2a;
  306.       result = strcmp(CgiParamA[cgi_num].property,"LoopingVideo");
  307.       if (result == 0) goto LAB_00012f2a;
  308.       result = strcmp(CgiParamA[cgi_num].property,"SoundRecord");
  309.       if (result == 0) goto LAB_00012f2a;
  310.       result = strcmp(CgiParamA[cgi_num].property,"MovieAudio");
  311.       if (result == 0) goto LAB_00012f2a;
  312.       result = strcmp(CgiParamA[cgi_num].property,"RecStamp");
  313.       if (result == 0) goto LAB_00012f2a;
  314.       result = strcmp(CgiParamA[cgi_num].property,"SpeedUint");
  315.       if (result == 0) goto LAB_00012f2a;
  316.       result = strcmp(CgiParamA[cgi_num].property,"SpeedCamAlert");
  317.       if (result == 0) goto LAB_00012f2a;
  318.       result = strcmp(CgiParamA[cgi_num].property,"SpeedLimitAlert");
  319.       if (result == 0) goto LAB_00012f2a;
  320.       result = strcmp(CgiParamA[cgi_num].property,"TimeZone");
  321.       if (result == 0) goto LAB_00012f2a;
  322.       result = strcmp(CgiParamA[cgi_num].property,"SyncTime");
  323.       if (result == 0) goto LAB_00012f2a;
  324.       result = strcmp(CgiParamA[cgi_num].property,"PosSetting_Add");
  325.       if (result == 0) goto LAB_00012f2a;
  326.       result = strcmp(CgiParamA[cgi_num].property,"PosSetting_DelLast");
  327.       if (result == 0) goto LAB_00012f2a;
  328.       result = strcmp(CgiParamA[cgi_num].property,"PosSetting_DelAll");
  329.       if (result == 0) goto LAB_00012f2a;
  330.       result = strcmp(CgiParamA[cgi_num].property,"FactoryReset");
  331.       if (result == 0) goto LAB_00012f2a;
  332.       result = strcmp(CgiParamA[cgi_num].property,"ParkingMonitor");
  333.       if (result == 0) goto LAB_00012f2a;
  334.       result = strcmp(CgiParamA[cgi_num].property,"VoiceSwitch");
  335.       if (result == 0) goto LAB_00012f2a;
  336.       result = strcmp(CgiParamA[cgi_num].property,"GSensor");
  337.       if (result == 0) goto LAB_00012f2a;
  338.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.*");
  339.       if (result == 0) goto LAB_00012f2a;
  340.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.*");
  341.       if (result == 0) goto LAB_00012f2a;
  342.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.CardInfo.*");
  343.       if (result == 0) goto LAB_00012f2a;
  344.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.RearStarus");
  345.       if (result == 0) goto LAB_00012f2a;
  346.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.SDInfo");
  347.       if (result == 0) goto LAB_00012f2a;
  348.       result = strcmp(CgiParamA[cgi_num].property,"OTAUpdate");
  349.       if (result == 0) goto LAB_00012f2a;
  350.       result = strcmp(CgiParamA[cgi_num].property,"FWUpdateDate");
  351.       if (result == 0) goto LAB_00012f2a;
  352.       result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.DeviceUUID");
  353.       if (result == 0) goto LAB_00012f2a;
  354.       result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.UUID");
  355.       if (result == 0) goto LAB_00012f2a;
  356.       result = strcmp(CgiParamA[cgi_num].property,"Camera.menu.FWVersion");
  357.       if (result == 0) goto LAB_00012f2a;
  358.       result = strcmp(CgiParamA[cgi_num].property,"FWVersion");
  359.       if (result == 0) goto LAB_00012f2a;
  360.       result = strcmp(CgiParamA[cgi_num].property,"device_name");
  361.       if (result == 0) goto LAB_00012f2a;
  362.       result = strcmp(CgiParamA[cgi_num].property,"streamer");
  363.       if (result == 0) goto LAB_00012f2a;
  364.       result = strcmp(CgiParamA[cgi_num].property,"forceiframe");
  365.       if (result == 0) goto LAB_00012f2a;
  366.       result = strcmp(CgiParamA[cgi_num].property,"setbitrate");
  367.       if (result == 0) goto LAB_00012f2a;
  368.       result = strcmp(CgiParamA[cgi_num].property,"setframerate");
  369.       if (result == 0) goto LAB_00012f2a;
  370.       result = strcmp(CgiParamA[cgi_num].property,"setvideogop");
  371.       if (result == 0) goto LAB_00012f2a;
  372.       result = strcmp(CgiParamA[cgi_num].property,"reset_to_default");
  373.       if (result == 0) goto LAB_00012f2a;
  374.       result = strcmp(CgiParamA[cgi_num].property,"reboot");
  375.       if (result == 0) goto LAB_00012f2a;
  376.       result = strcmp(CgiParamA[cgi_num].property,"streamerstatus");
  377.       if (result == 0) goto LAB_00012f2a;
  378.       result = strcmp(CgiParamA[cgi_num].property,"file_list");
  379.       if (result == 0) goto LAB_00012f2a;
  380.       result = strcmp(CgiParamA[cgi_num].property,"devinfo.fwver");
  381.       if (result == 0) goto LAB_00012f2a;
  382.       result = strcmp(CgiParamA[cgi_num].property,"devinfo.macaddr");
  383.       if (result == 0) goto LAB_00012f2a;
  384.       result = strcmp(CgiParamA[cgi_num].property,"devinfo.linuxkernelver");
  385.       if (result == 0) goto LAB_00012f2a;
  386.       result = strcmp(CgiParamA[cgi_num].property,"thumb.jpeg");
  387.       if (result == 0) goto LAB_00012f2a;
  388.       result = strcmp(CgiParamA[cgi_num].property,"duration");
  389.       if (result == 0) goto LAB_00012f2a;
  390.       result = strcmp(CgiParamA[cgi_num].property,"Camera.System.Power");
  391.       if (result == 0) goto LAB_00012f2a;
  392.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.MJPEG.status.*");
  393.       if (result == 0) goto LAB_00012f2a;
  394.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.MJPEG.TimeStamp");
  395.       if (result == 0) goto LAB_00012f2a;
  396.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.MJPEG.TimeStamp.*");
  397.       if (result == 0) goto LAB_00012f2a;
  398.       result = strcmp(CgiParamA[cgi_num].property,"Net.WIFI_AP.SSID");
  399.       if (result == 0) goto LAB_00012f2a;
  400.       result = strcmp(CgiParamA[cgi_num].property,"Net.WIFI_AP.CryptoKey");
  401.       if (result == 0) goto LAB_00012f2a;
  402.       result = strcmp(CgiParamA[cgi_num].property,"Net.WIFI_STA.AP.2.SSID");
  403.       if (result == 0) goto LAB_00012f2a;
  404.       result = strcmp(CgiParamA[cgi_num].property,"Net.WIFI_STA.AP.2.CryptoKey");
  405.       if (result == 0) goto LAB_00012f2a;
  406.       result = strcmp(CgiParamA[cgi_num].property,"Video");
  407.       if (result == 0) goto LAB_00012f2a;
  408.       result = strncmp(CgiParamA[cgi_num].property,"$mnt$mmc$",9);
  409.       if (result == 0) goto LAB_00012f2a;
  410.       result = strncmp(CgiParamA[cgi_num].property,"/mnt/mmc/",9);
  411.       if (result == 0) goto LAB_00012f2a;
  412.       result = strcmp(CgiParamA[cgi_num].property,"TimeSettings");
  413.       if (result == 0) goto LAB_00012f2a;
  414.       result = strcmp(CgiParamA[cgi_num].property,"SD0");
  415.       if (result == 0) goto LAB_00012f2a;
  416.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.RearStarus");
  417.       if (result == 0) goto LAB_00012f2a;
  418.       result = strcmp(CgiParamA[cgi_num].property,"Net");
  419.       if (result == 0) goto LAB_00012f2a;
  420.       result = strcmp(CgiParamA[cgi_num].property,"Playback");
  421.       if (result == 0) goto LAB_00012f2a;
  422.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.APPConnection");
  423.       if (result == 0) goto LAB_00012f2a;
  424.       result = strcmp(CgiParamA[cgi_num].property,"StreamStatus");
  425.       if (result == 0) goto LAB_00012f2a;
  426.       result = strcmp(CgiParamA[cgi_num].property,"TimeSettings");
  427.       if (result == 0) goto LAB_00012f2a;
  428.       result = strcmp(CgiParamA[cgi_num].property,"Setting");
  429.       if (result == 0) goto LAB_00012f2a;
  430.       result = strcmp(CgiParamA[cgi_num].property,"NRecRes");
  431.       if (result == 0) goto LAB_00012f2a;
  432.       result = strcmp(CgiParamA[cgi_num].property,"NRecWb");
  433.       if (result == 0) goto LAB_00012f2a;
  434.       result = strcmp(CgiParamA[cgi_num].property,"NRecEv");
  435.       if (result == 0) goto LAB_00012f2a;
  436.       result = strcmp(CgiParamA[cgi_num].property,"NRecMeMode");
  437.       if (result == 0) goto LAB_00012f2a;
  438.       result = strcmp(CgiParamA[cgi_num].property,"NRecShap");
  439.       if (result == 0) goto LAB_00012f2a;
  440.       result = strcmp(CgiParamA[cgi_num].property,"NRecEffect");
  441.       if (result == 0) goto LAB_00012f2a;
  442.       result = strcmp(CgiParamA[cgi_num].property,"NRecISO");
  443.       if (result == 0) goto LAB_00012f2a;
  444.       result = strcmp(CgiParamA[cgi_num].property,"NRecWaterM");
  445.       if (result == 0) goto LAB_00012f2a;
  446.       result = strcmp(CgiParamA[cgi_num].property,"NRecMMute");
  447.       if (result == 0) goto LAB_00012f2a;
  448.       result = strcmp(CgiParamA[cgi_num].property,"NRecMTD");
  449.       if (result == 0) goto LAB_00012f2a;
  450.       result = strcmp(CgiParamA[cgi_num].property,"NRecEIS");
  451.       if (result == 0) goto LAB_00012f2a;
  452.       result = strcmp(CgiParamA[cgi_num].property,"SRecType");
  453.       if (result == 0) goto LAB_00012f2a;
  454.       result = strcmp(CgiParamA[cgi_num].property,"SRecWb");
  455.       if (result == 0) goto LAB_00012f2a;
  456.       result = strcmp(CgiParamA[cgi_num].property,"SRecEv");
  457.       if (result == 0) goto LAB_00012f2a;
  458.       result = strcmp(CgiParamA[cgi_num].property,"SRecMeMode");
  459.       if (result == 0) goto LAB_00012f2a;
  460.       result = strcmp(CgiParamA[cgi_num].property,"SRecShap");
  461.       if (result == 0) goto LAB_00012f2a;
  462.       result = strcmp(CgiParamA[cgi_num].property,"SRecEffect");
  463.       if (result == 0) goto LAB_00012f2a;
  464.       result = strcmp(CgiParamA[cgi_num].property,"SRecWaterM");
  465.       if (result == 0) goto LAB_00012f2a;
  466.       result = strcmp(CgiParamA[cgi_num].property,"LRecRes");
  467.       if (result == 0) goto LAB_00012f2a;
  468.       result = strcmp(CgiParamA[cgi_num].property,"LRecTime");
  469.       if (result == 0) goto LAB_00012f2a;
  470.       result = strcmp(CgiParamA[cgi_num].property,"LRecWb");
  471.       if (result == 0) goto LAB_00012f2a;
  472.       result = strcmp(CgiParamA[cgi_num].property,"LRecEv");
  473.       if (result == 0) goto LAB_00012f2a;
  474.       result = strcmp(CgiParamA[cgi_num].property,"LRecMeMode");
  475.       if (result == 0) goto LAB_00012f2a;
  476.       result = strcmp(CgiParamA[cgi_num].property,"LRecShap");
  477.       if (result == 0) goto LAB_00012f2a;
  478.       result = strcmp(CgiParamA[cgi_num].property,"LRecEffect");
  479.       if (result == 0) goto LAB_00012f2a;
  480.       result = strcmp(CgiParamA[cgi_num].property,"LRecISO");
  481.       if (result == 0) goto LAB_00012f2a;
  482.       result = strcmp(CgiParamA[cgi_num].property,"LRecWaterM");
  483.       if (result == 0) goto LAB_00012f2a;
  484.       result = strcmp(CgiParamA[cgi_num].property,"LRecMMute");
  485.       if (result == 0) goto LAB_00012f2a;
  486.       result = strcmp(CgiParamA[cgi_num].property,"LRecMTD");
  487.       if (result == 0) goto LAB_00012f2a;
  488.       result = strcmp(CgiParamA[cgi_num].property,"LRecEIS");
  489.       if (result == 0) goto LAB_00012f2a;
  490.       result = strcmp(CgiParamA[cgi_num].property,"TLRecRes");
  491.       if (result == 0) goto LAB_00012f2a;
  492.       result = strcmp(CgiParamA[cgi_num].property,"TLRecIntervals");
  493.       if (result == 0) goto LAB_00012f2a;
  494.       result = strcmp(CgiParamA[cgi_num].property,"TLRecWb");
  495.       if (result == 0) goto LAB_00012f2a;
  496.       result = strcmp(CgiParamA[cgi_num].property,"TLRecEv");
  497.       if (result == 0) goto LAB_00012f2a;
  498.       result = strcmp(CgiParamA[cgi_num].property,"TLRecTime");
  499.       if (result == 0) goto LAB_00012f2a;
  500.       result = strcmp(CgiParamA[cgi_num].property,"TLRecMeMode");
  501.       if (result == 0) goto LAB_00012f2a;
  502.       result = strcmp(CgiParamA[cgi_num].property,"TLRecShap");
  503.       if (result == 0) goto LAB_00012f2a;
  504.       result = strcmp(CgiParamA[cgi_num].property,"TLRecEffect");
  505.       if (result == 0) goto LAB_00012f2a;
  506.       result = strcmp(CgiParamA[cgi_num].property,"TLRecISO");
  507.       if (result == 0) goto LAB_00012f2a;
  508.       result = strcmp(CgiParamA[cgi_num].property,"TLRecWaterM");
  509.       if (result == 0) goto LAB_00012f2a;
  510.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoRes");
  511.       if (result == 0) goto LAB_00012f2a;
  512.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoWb");
  513.       if (result == 0) goto LAB_00012f2a;
  514.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoEv");
  515.       if (result == 0) goto LAB_00012f2a;
  516.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoMeMode");
  517.       if (result == 0) goto LAB_00012f2a;
  518.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoShap");
  519.       if (result == 0) goto LAB_00012f2a;
  520.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoLEv");
  521.       if (result == 0) goto LAB_00012f2a;
  522.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoISO");
  523.       if (result == 0) goto LAB_00012f2a;
  524.       result = strcmp(CgiParamA[cgi_num].property,"NPhotoWaterM");
  525.       if (result == 0) goto LAB_00012f2a;
  526.       result = strcmp(CgiParamA[cgi_num].property,"APhotoRes");
  527.       if (result == 0) goto LAB_00012f2a;
  528.       result = strcmp(CgiParamA[cgi_num].property,"APhotoIntervals");
  529.       if (result == 0) goto LAB_00012f2a;
  530.       result = strcmp(CgiParamA[cgi_num].property,"APhotoWb");
  531.       if (result == 0) goto LAB_00012f2a;
  532.       result = strcmp(CgiParamA[cgi_num].property,"APhotoEv");
  533.       if (result == 0) goto LAB_00012f2a;
  534.       result = strcmp(CgiParamA[cgi_num].property,"APhotoMeMode");
  535.       if (result == 0) goto LAB_00012f2a;
  536.       result = strcmp(CgiParamA[cgi_num].property,"APhotoShap");
  537.       if (result == 0) goto LAB_00012f2a;
  538.       result = strcmp(CgiParamA[cgi_num].property,"APhotoISO");
  539.       if (result == 0) goto LAB_00012f2a;
  540.       result = strcmp(CgiParamA[cgi_num].property,"APhotoWaterM");
  541.       if (result == 0) goto LAB_00012f2a;
  542.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoRes");
  543.       if (result == 0) goto LAB_00012f2a;
  544.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoIntervals");
  545.       if (result == 0) goto LAB_00012f2a;
  546.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoWb");
  547.       if (result == 0) goto LAB_00012f2a;
  548.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoEv");
  549.       if (result == 0) goto LAB_00012f2a;
  550.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoMeMode");
  551.       if (result == 0) goto LAB_00012f2a;
  552.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoFEQ");
  553.       if (result == 0) goto LAB_00012f2a;
  554.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoShap");
  555.       if (result == 0) goto LAB_00012f2a;
  556.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoISO");
  557.       if (result == 0) goto LAB_00012f2a;
  558.       result = strcmp(CgiParamA[cgi_num].property,"CPhotoWaterM");
  559.       if (result == 0) goto LAB_00012f2a;
  560.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoRes");
  561.       if (result == 0) goto LAB_00012f2a;
  562.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoCountDown");
  563.       if (result == 0) goto LAB_00012f2a;
  564.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoWb");
  565.       if (result == 0) goto LAB_00012f2a;
  566.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoEv");
  567.       if (result == 0) goto LAB_00012f2a;
  568.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoMeMode");
  569.       if (result == 0) goto LAB_00012f2a;
  570.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoShap");
  571.       if (result == 0) goto LAB_00012f2a;
  572.       result = strcmp(CgiParamA[cgi_num].property,"TPhotoISO");
  573.       if (result == 0) goto LAB_00012f2a;
  574.       result = strcmp(CgiParamA[cgi_num].property,"MovieSin");
  575.       if (result == 0) goto LAB_00012f2a;
  576.       result = strcmp(CgiParamA[cgi_num].property,"WiFi");
  577.       if (result == 0) goto LAB_00012f2a;
  578.       result = strcmp(CgiParamA[cgi_num].property,"Flicker");
  579.       if (result == 0) goto LAB_00012f2a;
  580.       result = strcmp(CgiParamA[cgi_num].property,"LedOn");
  581.       if (result == 0) goto LAB_00012f2a;
  582.       result = strcmp(CgiParamA[cgi_num].property,"BLTime");
  583.       if (result == 0) goto LAB_00012f2a;
  584.       result = strcmp(CgiParamA[cgi_num].property,"PowerOffTime");
  585.       if (result == 0) goto LAB_00012f2a;
  586.       result = strcmp(CgiParamA[cgi_num].property,"KeyTone");
  587.       if (result == 0) goto LAB_00012f2a;
  588.       result = strcmp(CgiParamA[cgi_num].property,"PowerOnAudio");
  589.       if (result == 0) goto LAB_00012f2a;
  590.       result = strcmp(CgiParamA[cgi_num].property,"Lan");
  591.       if (result == 0) goto LAB_00012f2a;
  592.       result = strcmp(CgiParamA[cgi_num].property,"DateTimeMode");
  593.       if (result == 0) goto LAB_00012f2a;
  594.       result = strcmp(CgiParamA[cgi_num].property,"PlaybackVolume");
  595.       if (result == 0) goto LAB_00012f2a;
  596.       result = strcmp(CgiParamA[cgi_num].property,"CarDriverMode");
  597.       if (result == 0) goto LAB_00012f2a;
  598.       result = strcmp(CgiParamA[cgi_num].property,"BLlevel");
  599.       if (result == 0) goto LAB_00012f2a;
  600.       result = strcmp(CgiParamA[cgi_num].property,"sysworkmode");
  601.       if (result == 0) goto LAB_00012f2a;
  602.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Menu.sysworkmode");
  603.       if (result == 0) goto LAB_00012f2a;
  604.       result = strcmp(CgiParamA[cgi_num].property,"battery");
  605.       if (result == 0) goto LAB_00012f2a;
  606.       result = strcmp(CgiParamA[cgi_num].property,"SyncTime");
  607.       if (result == 0) goto LAB_00012f2a;
  608.       result = strcmp(CgiParamA[cgi_num].property,"keepalive");
  609.       if (result == 0) goto LAB_00012f2a;
  610.       result = strcmp(CgiParamA[cgi_num].property,"rtsp_info");
  611.       if (result == 0) goto LAB_00012f2a;
  612.       result = strcmp(CgiParamA[cgi_num].property,"Camera.Preview.RTSP.av");
  613.       if (result == 0) goto LAB_00012f2a;
  614.       result = strcmp(CgiParamA[cgi_num].action,"dir");
  615.       if (result == 0) {
  616. LAB_00014038:
  617.         result = strcmp(CgiParamA[cgi_num].property,"DCIM");
  618.         if (result == 0) {
  619.           builtin_strncpy(CgiParamA[cgi_num].property,"Norm",4);
  620.           CgiParamA[cgi_num].property[4] = 'a';
  621.           CgiParamA[cgi_num].property[5] = 'l';
  622.           CgiParamA[cgi_num].property[6] = '\0';
  623.         }
  624.         result = strcasecmp(CgiParamA[cgi_num].format,"jpeg");
  625.         if (result == 0) {
  626.           builtin_strncpy(CgiParamA[cgi_num].format,"JPG",4);
  627.         }
  628.         directory(CgiParamA + cgi_num,cgi_num * 0x200 + 0x29204,cgi_num * 0x200 + 0x29284,
  629.                   cgi_num * 0x200 + 0x292c4,cgi_num * 0x200 + 0x29304);
  630.       }
  631.       else {
  632.         result = strcmp(CgiParamA[cgi_num].action,"reardir");
  633.         if (result == 0) goto LAB_00014038;
  634.         result = strcmp(CgiParamA[cgi_num].action,"get");
  635.         if (result == 0) {
  636.           GetProcess(cgi_num * 0x200 + 0x29204);
  637.         }
  638.         else {
  639.           result = strcmp(CgiParamA[cgi_num].action,"set");
  640.           if (result == 0) {
  641.             result = strcmp(CgiParamA[cgi_num].property,"Playback");
  642.             if (result == 0) {
  643.               result = strcmp(CgiParamA[cgi_num].value,"heartbeat");
  644.               if (result == 0) {
  645.                 fwrite("0\n",1,2,stdout);
  646.                 fwrite("OK\n",1,3,stdout);
  647.                 fwrite("0\n",1,2,stderr);
  648.                 fwrite("OK\n",1,3,stderr);
  649.                 goto LAB_000143ce;
  650.               }
  651.             }
  652.           }
  653.           result = strcmp(CgiParamA[cgi_num].action,"set");
  654.           if (result == 0) {
  655.             strcpy(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].property);
  656.             cgi_ptr = CgiParamA + cgi_num;
  657.             key_value_len = strlen(cgi_ptr->key_value);
  658.             key_value_end_ptr = cgi_ptr->key_value + key_value_len;
  659.             key_value_end_ptr[0] = '=';
  660.             key_value_end_ptr[1] = '\0';
  661.             strcat(CgiParamA[cgi_num].key_value,CgiParamA[cgi_num].value);
  662.             fprintf(stderr,"%s: key_value[%d]= %s\n\r","ExeCgiCmd",cgi_num,cgi_num * 0x200 + 0x29384
  663.                    );
  664.             SetProcess(cgi_num * 0x200 + 0x29384);
  665.           }
  666.           else {
  667.             result = strcmp(CgiParamA[cgi_num].action,"del");
  668.             if (result == 0) {
  669.               DelProcess(cgi_num * 0x200 + 0x29204);
  670.             }
  671.             else {
  672.               result = strcmp(CgiParamA[cgi_num].action,"setcamid");
  673.               if (result == 0) {
  674.                 fwrite("0\n",1,2,stdout);
  675.                 fwrite("OK\n",1,3,stdout);
  676.                 fwrite("0\n",1,2,stderr);
  677.                 fwrite("OK\n",1,3,stderr);
  678.               }
  679.               else {
  680.                 fprintf(stderr,"CgiParam error, %s %s %s\n",CgiParamA + cgi_num,
  681.                         cgi_num * 0x200 + 0x29204,cgi_num * 0x200 + 0x29244);
  682.                 fwrite(&DAT_00017eec,1,4,stdout);
  683.                 fwrite(&DAT_00017ef4,1,4,stdout);
  684.                 fwrite(&DAT_00017eec,1,4,stderr);
  685.                 fwrite(&DAT_00017ef4,1,4,stderr);
  686.               }
  687.             }
  688.           }
  689.         }
  690.       }
  691.     }
  692. LAB_000143ce:
  693.     cgi_num = cgi_num + 1;
  694.   } while( true );
  695. }
  696.  
  697.  

odpowiedź "ExeCgiCmd"

Tutaj możesz odpowiedzieć na wklejkę z góry

captcha