亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mtkfilenamelenpatcheryamadabellyakumo.c

?? 不知如何使用,哪個(gè)會(huì)用的指教一下,謝謝QQ547873739
?? C
字號(hào):


#include <stdio.h>

// ----------------------------------------------------------------------------------------

unsigned char patternScrollBar [] = { 0x74, 0x01, 0xF0, 0xA3, 0x74, 0x50, 0xF0, 0x90 };
unsigned int  sizeScrollBar = 8;

unsigned char patternSelectionBar [] = { 0x00, 0x1A, 0x00, 0x3E, 0x01, 0x36, 0x00, 0x5C, 0x00, 0x1A, 0x00, 0x5E, 0x01, 0x36, 0x00, 0x7C };
unsigned int  sizeSelectionBar = 16;

unsigned char patternListClearing [] = { 0x7B, 0x1E, 0x7A, 0x00, 0x7D, 0x1C, 0x7C, 0x01, 0x7F, 0x0E };
unsigned int  sizeListClearing = 10;

unsigned char patternListClearingYakumo [] = { 0x7B, 0x1E, 0x7A, 0x00, 0x7D, 0x1C, 0x7C, 0x01, 0x7F, 0x0F };
unsigned int  sizeListClearingYakumo = 10;

unsigned char patternListClearingBell [] = { 0x7F, 0x0E, 0x7D, 0x1C, 0x7C, 0x01, 0x7B, 0x1E, 0x7A, 0x00 };
unsigned int  sizeListClearingBell = 10;

unsigned char patternFileNameSize [] = { 0xD3, 0x94, 0x0E, 0x40, 0x03, 0x74, 0x0E, 0xF0 };
unsigned int  sizeFileNameSize = 8;

// ----------------------------------------------------------------------------------------

char* outputFileName = "MTK-modifiedFileBrowser.BIN";
unsigned char *mem;
FILE *inputFileHandle, *outputFileHandle;
size_t inputFileLength, bytesRead;

unsigned short scrollX2 = 586;
unsigned short selBarX2 = 578;
unsigned char sFilenameLen = 42;

char errorList[][80] = {
   "Failed to read input file %s",                                                                                                         // 1
   "Can't allocate enough memory to load file %s",                                                                // 2
   "Not all sections found - cannot patch, sorry."                                                                // 3
   };

unsigned char getHighByte(unsigned short value)
{
                return value / 0x100;
}

unsigned char getLowByte(unsigned short value)
{
                return value % 0x100;
}

int findOffset(int startOffset, unsigned char * pattern, unsigned int patternSize)
{
        int i, j, eqFlag;

        for (i=startOffset; i < inputFileLength; i++)
        {
                eqFlag = 1;
                for (j=0; j < patternSize; j++)
                {
// printf("comparing %x and %x\n", pattern[j], mem[i+j]);
                        if (pattern[j] != mem[i+j])
                        {
                                eqFlag = 0;
                                break;
                        }
                }
                if (eqFlag)
                {
                        return i;
                }
        }
        return -1;
}

void patchByte(int offset, unsigned char byte)
{
        if (mem[offset] != byte)
        {
                printf(" patched at %06x: %02x => %02x\n", offset, mem[offset], byte);
                mem[offset] = byte;
        }
}

// ----- Clean up memory and close files -----
void cleanUp()
{
   if (mem)                free(mem);
   if (inputFileHandle)                fclose(inputFileHandle);
   if (outputFileHandle)        fclose(outputFileHandle);
}

// ----- Exit with given error number & message -----
void exitOnErrorText(int errorNum, char* text)
{
   cleanUp();

   printf("\nERROR: ");
   printf(errorList[errorNum-1], text);
   printf("\n");
   exit(errorNum);
}

// ----- write the packed version of converted file -----
void writeFile(char* fileName)
{
        FILE *outHandle;
        outHandle = fopen(fileName, "wb");
        fwrite(mem, 1, inputFileLength, outHandle);
        fclose(outHandle);
}

// ----- Open the input file -----
void openInputFile(char* fileName)
{
   int i;
   // Open, check size, allocate memory and read input file
   inputFileHandle = fopen(fileName, "rb");
   if (!inputFileHandle)                                        {exitOnErrorText(1, fileName);}

   if (fseek(inputFileHandle, 0, SEEK_END))        {exitOnErrorText(1, fileName);}

   inputFileLength = (size_t)ftell(inputFileHandle);
   if (fseek(inputFileHandle, 0, SEEK_SET))        {exitOnErrorText(1, fileName);}

   mem = (unsigned char*) malloc(inputFileLength);
   if (!mem)                                        {exitOnErrorText(2, fileName);}

   bytesRead = fread(mem, sizeof(unsigned char), inputFileLength, inputFileHandle);
   if (bytesRead != inputFileLength)                {exitOnErrorText(1, fileName);}

}

// Main routine ----------------------------------------------------------------

int main(int argc, char *argv[])
{
   int offset, i, patches = 0;
   int patchedScrollBar=0,patchedSelectionBar=0,patchedListClearing=0,patchedListClearingYakumo=0,patchedListClearingBell=0,patchedFileNameSize=0;

   printf("\n     MTK file browser patcher v0.2 (c) borus a.k.a cax and fix bei fualex");
   printf("\n  ----------------------------------------------------------------------------");
   printf("\n 				 (many thanks to OpenMTK group for patching info secrets)");
   printf("\n");

   // output help hint
   if (argc <= 1)
   {
      printf("\nUsage: %s firmware_filename [[[scrollbar_offset] filename_length] selection_bar_offset]\n", argv[0]);
             exit(1);
   }

   if (argc > 2)
   {
             scrollX2 = atoi(argv[2]);
   }

   if (argc > 3)
   {
             sFilenameLen = atoi(argv[3]);
   }


   if (argc > 4)
   {
             selBarX2 = atoi(argv[4]);
   }

   printf("\nUsing scrollbar at %d(0x%02x),filename len %d(0x%02x),selection bar at %d(0x%02x)\n", scrollX2, scrollX2, sFilenameLen, sFilenameLen, selBarX2, selBarX2);

   // open file
   openInputFile(argv[1]);
   printf("\nOpened firmware file %s, %d bytes\n", argv[1], inputFileLength);

   // start patching
   printf("\nPatching scrollbar position:\n");
   for(offset=0; (offset = findOffset(offset, patternScrollBar, sizeScrollBar)) > 0; offset++)
   {
            if (! (mem[offset+1] == 0x01 && mem[offset+5] == 0x50
                && mem[offset+11]== 0x01 && mem[offset+15]== 0x60))
            {
                        continue;
                }

                patchByte(offset+ 1, getHighByte(scrollX2));
                patchByte(offset+ 5, getLowByte(scrollX2));
                patchByte(offset+11, getHighByte(scrollX2+0x10));
                patchByte(offset+15, getLowByte(scrollX2+0x10));

                patchedScrollBar=1;
   }

   if (! patchedScrollBar)
   {
           printf("\n\tERROR: Can't find scrollbar position section\n");
   }

   printf("\nPatching selection bar size:\n");
   for(offset=0; (offset = findOffset(offset, patternSelectionBar, sizeSelectionBar)) > 0; offset++)
   {
                for (i=0; i<6; i++)
                {
                        patchByte(offset+i*8+4, getHighByte(selBarX2));
                        patchByte(offset+i*8+5, getLowByte(selBarX2));
                }

                patchedSelectionBar=1;
   }


   if (! patchedSelectionBar)
   {
           printf("\n\tERROR: Can't find selection bar section\n");
   }

   printf("\nPatching file list clearing routine for Yamada:\n");
      for(offset=0; (offset = findOffset(offset, patternListClearing, sizeListClearing)) > 0; offset++)
   {
                patchByte(offset+7, getHighByte(selBarX2-0x1A));
                patchByte(offset+5, getLowByte(selBarX2-0x1A));

                patchedListClearing=1;
   }

   if (! patchedListClearing)
   {
           printf("\n\tERROR: Can't find file list clearing routine for Yamada\n");

   }

   if (! patchedListClearing)
   {
      printf("\nPatching file list clearing routine for Bell:\n");
         for(offset=0; (offset = findOffset(offset, patternListClearingBell, sizeListClearingBell)) > 0; offset++)
         {
            patchByte(offset+5, getHighByte(selBarX2-0x1A));
            patchByte(offset+3, getLowByte(selBarX2-0x1A));

            patchedListClearingBell=1;
         }

         if (! patchedListClearingBell)
         {
            printf("\n\tERROR: Can't find file list clearing routine for Bell\n");
         }
   }

      if (! patchedListClearingBell)
   {
      printf("\nPatching file list clearing routine for Yakumo:\n");
         for(offset=0; (offset = findOffset(offset, patternListClearingYakumo, sizeListClearingYakumo)) > 0; offset++)
         {
                patchByte(offset+7, getHighByte(selBarX2-0x1A));
                patchByte(offset+5, getLowByte(selBarX2-0x1A));

            patchedListClearingYakumo=1;
         }

         if (! patchedListClearingYakumo)
         {
            printf("\n\tERROR: Can't find file list clearing routine for Yakumo\n");
         }
   }

   printf("\nPatching file name size:\n");
   for(offset=0; (offset = findOffset(offset, patternFileNameSize, sizeFileNameSize)) > 0; offset++)
   {
                patchByte(offset+2, sFilenameLen);
                patchByte(offset+6, sFilenameLen);

                patchedFileNameSize=1;
   }

   if (! patchedFileNameSize)
   {
           printf("\n\tERROR: Can't find Patching file name size section\n");
   }

   if (patchedScrollBar+patchedSelectionBar+patchedListClearing+patchedFileNameSize != 4 &&
            patchedScrollBar+patchedSelectionBar+patchedListClearingYakumo+patchedFileNameSize != 4 &&
                 patchedScrollBar+patchedSelectionBar+patchedListClearingBell+patchedFileNameSize != 4)
   {
                   exitOnErrorText(3, "");
   }

   writeFile(outputFileName);
   printf("\nUpdated firmware saved to: %s", outputFileName);
   printf("\n");
   printf("\nDON'T FORGET to do the following BEFORE flashing:");
   printf("\n");
   printf("\n replace MPEG Block->MPEG 3 in MTKReMaker with more suitable");
   printf("\n and resave this firmware with corrected checksum.");
   printf("\n Good luck !\n");


   cleanUp();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美一区二区三区久本道91| 欧美最猛性xxxxx直播| 欧美精品亚洲一区二区在线播放| 亚洲美腿欧美偷拍| 色综合色狠狠天天综合色| 18欧美亚洲精品| 91麻豆国产福利在线观看| 亚洲精品网站在线观看| 91国产免费观看| 午夜精品一区二区三区电影天堂 | 国产午夜三级一区二区三| 国产一区欧美日韩| 国产日韩一级二级三级| 99综合影院在线| 亚洲综合在线第一页| 欧美二区三区的天堂| 久久精品72免费观看| 久久精品欧美一区二区三区不卡 | 成人激情免费网站| 亚洲色图丝袜美腿| 91精品在线一区二区| 激情综合五月天| 亚洲人妖av一区二区| 欧美日韩高清不卡| 国产美女娇喘av呻吟久久| 国产精品黄色在线观看| 欧美视频你懂的| 黄色资源网久久资源365| 中文字幕亚洲区| 欧美一激情一区二区三区| 国产高清成人在线| 亚洲一区二区三区小说| 2020国产精品自拍| 色哟哟一区二区三区| 免费观看久久久4p| 国产精品久久久久久久久免费相片 | 欧美精品aⅴ在线视频| 国产一区不卡视频| 亚洲一区在线观看视频| 久久麻豆一区二区| 欧美日韩国产大片| 成人av在线网站| 日本成人中文字幕| 亚洲欧美日韩中文字幕一区二区三区 | 久久亚洲一区二区三区四区| 色综合色狠狠天天综合色| 老司机午夜精品| 亚洲综合自拍偷拍| 国产日本亚洲高清| 日韩一区二区三区免费看| 97精品国产露脸对白| 国模无码大尺度一区二区三区| 亚洲精品视频在线看| 国产日韩高清在线| 日韩欧美亚洲国产精品字幕久久久| 99精品国产91久久久久久 | 亚洲嫩草精品久久| 久久先锋影音av| 欧美一区二区三区四区视频| 91麻豆免费看| 高清视频一区二区| 精久久久久久久久久久| 亚洲va欧美va人人爽| 中文字幕一区二区不卡| 国产日韩欧美在线一区| 精品国产一区久久| 欧美一级一级性生活免费录像| 一本久道中文字幕精品亚洲嫩| 国产精品538一区二区在线| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲6080在线| 亚洲成人一区二区在线观看| 亚洲色图在线播放| 自拍偷拍国产精品| 中文字幕中文字幕在线一区 | 99久久精品国产精品久久| 国产另类ts人妖一区二区| 久久精品72免费观看| 麻豆91在线观看| 免费成人在线影院| 日本网站在线观看一区二区三区| 丝袜a∨在线一区二区三区不卡 | 亚洲午夜电影在线观看| 一区二区三区在线视频免费| 亚洲欧美电影院| 亚洲精品日日夜夜| 一级日本不卡的影视| 亚洲另类在线制服丝袜| 亚洲综合激情另类小说区| 亚洲自拍偷拍av| 天堂va蜜桃一区二区三区漫画版| 五月天丁香久久| 蜜桃视频一区二区三区 | 激情都市一区二区| 国产成人精品影视| hitomi一区二区三区精品| 91网站黄www| 精品视频一区三区九区| 欧美一区二区在线不卡| 欧美大片在线观看| 国产亚洲人成网站| 中文字幕在线播放不卡一区| 亚洲欧美电影院| 偷窥国产亚洲免费视频| 精品在线播放午夜| 成人激情动漫在线观看| 91国偷自产一区二区开放时间 | 日韩国产精品久久| 狠狠色狠狠色综合| av一区二区三区在线| 欧美性xxxxx极品少妇| 91精品欧美久久久久久动漫 | 成人少妇影院yyyy| 色婷婷综合久久久久中文一区二区| 欧美日韩一区不卡| 337p日本欧洲亚洲大胆色噜噜| 欧美韩国一区二区| 亚洲福利国产精品| 国产成人精品在线看| 欧美性大战久久久久久久蜜臀 | 国产女人aaa级久久久级| 伊人开心综合网| 精品一区二区三区久久久| 91一区在线观看| 日韩欧美国产精品一区| 亚洲欧美在线观看| 六月丁香婷婷色狠狠久久| av综合在线播放| 日韩欧美国产麻豆| 一区二区高清视频在线观看| 国产一区二区久久| 欧美亚洲综合一区| 国产精品视频一二三区| 热久久久久久久| 97se亚洲国产综合自在线不卡| 日韩欧美一区在线观看| 亚洲美女在线一区| 国产91丝袜在线观看| 欧美精品vⅰdeose4hd| 亚洲视频小说图片| 国产精品夜夜爽| 欧美一区二区在线视频| 一区二区三区资源| 欧美日韩高清在线播放| 亚洲欧洲韩国日本视频| 国产精品一区二区久久精品爱涩| 精品视频一区三区九区| 亚洲美女区一区| 成人小视频在线| 欧美sm美女调教| 偷拍一区二区三区四区| 在线一区二区三区四区| 日韩一区在线免费观看| 国产99久久久精品| www国产成人| 另类调教123区| 韩国毛片一区二区三区| 欧美日韩高清在线| 亚洲欧美国产77777| 国产精品资源网| 精品国产乱码久久久久久浪潮| 丝袜美腿亚洲一区二区图片| 在线观看中文字幕不卡| 欧美成人精品二区三区99精品| 一区二区三区不卡视频在线观看| 一区二区三区成人| 日韩午夜在线观看视频| 国产一区二区美女诱惑| 日韩理论片网站| 8x8x8国产精品| 国产精一区二区三区| 亚洲男同1069视频| 欧美一区二区三区免费视频 | 久久国内精品自在自线400部| 精品国产一区二区国模嫣然| 成人一级黄色片| 亚洲国产精品久久久久婷婷884| 欧美v日韩v国产v| 99久久精品免费观看| 日韩av一二三| 国产精品理伦片| 欧美精品乱人伦久久久久久| 国产精品白丝jk白祙喷水网站| 亚洲青青青在线视频| 日韩午夜精品视频| 91亚洲精品久久久蜜桃网站| 日本欧美大码aⅴ在线播放| 欧美国产激情二区三区| 欧美日本国产视频| 成人午夜av电影| 人妖欧美一区二区| 亚洲欧美视频一区| 久久婷婷色综合| 欧美日韩综合在线免费观看| 国产精品一级在线| 日韩va欧美va亚洲va久久| 国产精品福利电影一区二区三区四区| 国产精品福利av| 2023国产精华国产精品| 欧美久久一二区|