⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backdoor.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
            OSDUTL_OutputNumFromIndex(wTemp);            memcpy(&(pwVersionString[bTemp]), &(__wOSDUTLStringBuf[1]),                   __wOSDUTLStringBuf[0]*2);            bTemp += __wOSDUTLStringBuf[0];    // Version            pwVersionString[0] = bTemp - 1;            break;        case FORMAT_NUMBER:            wTemp = dwVersion;             if (0 != wTemp / 1000)            {                pwVersionString[bTemp++] = CHAR_0 + (wTemp / 1000);            }            wTemp = wTemp % 1000;            pwVersionString[bTemp++] = CHAR_0 + (wTemp / 100);            wTemp = wTemp % 100;            pwVersionString[bTemp++] = CHAR_0 + (wTemp / 10);            wTemp = wTemp % 10;            pwVersionString[bTemp++] = CHAR_0 + wTemp;            pwVersionString[0] = bTemp - 1;            break;        default:            break;    }    GDI_DrawString_909(0, pVersion_StrAttr, pwVersionString);}void _TranslateString(PBYTE pbAsciiString, PWORD pwString){    BYTE bTemp = 0;    while ('\0' != pbAsciiString[bTemp] && GDI_STRING_LENGTH > bTemp)    {        pwString[bTemp+1] = OSDUTL_TransformChar(pbAsciiString[bTemp]); //CoCo1.20, reduce code size.        bTemp++;    }    pwString[0] = bTemp;}void _OutputDebugInfo(void){    PARM_DRAW_STRING DebugStrAttr;      WORD wStrTmp[9];    _bCARDPath = FALSE;    _bNIMPath = FALSE;	    DebugStrAttr.bBackground = MAINMENU_PALETTE_ENTRY_CONTENT_REGION;    DebugStrAttr.bTextColor = MAINMENU_PALETTE_ENTRY_BACKDOOR_STRING;    DebugStrAttr.wX = BACKDOOR_DISPLAY_VERSION_START_H;    DebugStrAttr.wY = BACKDOOR_DISPLAY_VERSION_START_V+15;    // Show titile: Debug Mode Info    GDI_DrawString_909(0, &DebugStrAttr, aSETUPDebugModeInfo);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPDebugModeInfo);	    // Show default debug mode value	        OSDUTL_PrepareOutputString();        OSDUTL_CopyStringFromIndex(aSETUPDefault);         wStrTmp[0] = 8;	    wStrTmp[1] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF0000000) >> 28));    wStrTmp[2] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF000000) >> 24));	    wStrTmp[3] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF00000) >> 20));        wStrTmp[4] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF0000) >> 16));    wStrTmp[5] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF000) >> 12));    wStrTmp[6] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF00) >> 8));    wStrTmp[7] = _TranslateNum((BYTE)((_dwBackupDebugMode & 0xF0) >> 4));    wStrTmp[8] = _TranslateNum((BYTE)(_dwBackupDebugMode & 0xF));    OSDUTL_CopyStringFromIndex(wStrTmp);          GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);       DebugStrAttr.wY += GDI_GetStringHeight(aSETUPDefault);    // Show new debug mode value    OSDUTL_PrepareOutputString();    OSDUTL_CopyStringFromIndex(aSETUPNew);        if (_bDebugSetMode)    {        wStrTmp[0] = 8;	        wStrTmp[1] = _TranslateNum((BYTE)((_dwDebugMode & 0xF0000000) >> 28));        wStrTmp[2] = _TranslateNum((BYTE)((_dwDebugMode & 0xF000000) >> 24));	        wStrTmp[3] = _TranslateNum((BYTE)((_dwDebugMode & 0xF00000) >> 20));            wStrTmp[4] = _TranslateNum((BYTE)((_dwDebugMode & 0xF0000) >> 16));        wStrTmp[5] = _TranslateNum((BYTE)((_dwDebugMode & 0xF000) >> 12));        wStrTmp[6] = _TranslateNum((BYTE)((_dwDebugMode & 0xF00) >> 8));        wStrTmp[7] = _TranslateNum((BYTE)((_dwDebugMode & 0xF0) >> 4));        wStrTmp[8] = _TranslateNum((BYTE)(_dwDebugMode & 0xF));        OSDUTL_CopyStringFromIndex(wStrTmp);          }    else    {        OSDUTL_CopyStringFromIndex(aSETUPNotSet);    }    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPNew);    // Show DSU_TX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPDSU_TX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)(_dwDebugMode & 0xF)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPDSU_TX);    // Show DSU_RX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPDSU_RX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)((_dwDebugMode & 0xF0) >> 4)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPDSU_RX);    // Show UR1_TX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPUR1_TX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)((_dwDebugMode & 0xF00) >> 8)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPUR1_TX);    // Show UR1_RX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPUR1_RX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)((_dwDebugMode & 0xF000) >> 12)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPUR1_RX);    // Show UR2_TX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPUR2_TX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)((_dwDebugMode & 0xF0000) >> 16)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPUR2_TX);     // Show UR2_RX mode.    OSDUTL_PrepareOutputString();       OSDUTL_CopyStringFromIndex(aSETUPUR2_RX);         OSDUTL_CopyStringFromIndex(_TranslateDebugMode((BYTE)((_dwDebugMode & 0xF00000) >> 20)));	    GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);    DebugStrAttr.wY += GDI_GetStringHeight(aSETUPUR2_RX) + 10;    if (_bCARDPath)    {        OSDUTL_PrepareOutputString();           OSDUTL_CopyStringFromIndex(aSETUPDBGInfo1);                GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);        DebugStrAttr.wY += GDI_GetStringHeight(__pOSDUTLOutputString);    }    if (_bNIMPath)    {        OSDUTL_PrepareOutputString();           OSDUTL_CopyStringFromIndex(aSETUPDBGInfo2);                GDI_DrawString_909(0, &DebugStrAttr, __pOSDUTLOutputString);        DebugStrAttr.wY += GDI_GetStringHeight(__pOSDUTLOutputString);    }	}WORD _TranslateNum(BYTE bNum){    if (bNum < 10)    {        return aNDNumbers[bNum];    }    else if (bNum <= 15)    {        return aNDUppercase[bNum-10];    }    return aNDNumbers[0]; // Non matched.}WORD* _TranslateDebugMode(BYTE bMode){    WORD * pwDebugModStr;    switch (bMode)    {    case 0:        pwDebugModStr = aSETUPDisable;        break;    case 1:        _bNIMPath = TRUE;        pwDebugModStr = aSETUPEnable;        break;    case 2:        _bCARDPath = TRUE;        pwDebugModStr = aSETUPEnable;        break;       default:        pwDebugModStr = aSETUPEnable;        break;    }        return pwDebugModStr;}BYTE _GetDebugIndex(DWORD dwMode){    switch (dwMode)    {    case DEBUG_MODE_1:        		        return 1;    case DEBUG_MODE_2:        return 2;    case DEBUG_MODE_3:        return 3;    case DEBUG_MODE_4:        return 4;	    case DEBUG_MODE_5:        return 5;    case DEBUG_MODE_6:		        return 6;    case DEBUG_MODE_7:		        return 7;    case DEBUG_MODE_8:		        return 8;    case DEBUG_MODE_9:		        return 9;    case DEBUG_MODE_10:		        return 10;    case DEBUG_MODE_11:		        return 11;		    case DEBUG_MODE_0:	    default:        return 0;    }}void _SetDebugMode(BYTE bIndex){    _dwDebugMode = 0;	    switch (bIndex)    {                                  case 1:         _dwDebugMode|=SET_DSU1_TX_VALUE(NIM_PATH);                 //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NIM_PATH);                  //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NOT_USED);                 //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);                 //UART1_RX_SOURCE << 12;                             _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 2:         _dwDebugMode|=SET_DSU1_TX_VALUE(CARD_READER_PATH);          //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(CARD_READER_PATH);          //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NOT_USED);                 //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);                  //UART1_RX_SOURCE << 12;                            _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 3:        _dwDebugMode|=SET_DSU1_TX_VALUE(NOT_USED);                  //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NOT_USED);                  //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NIM_PATH);                  //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NIM_PATH);                  //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 4:         _dwDebugMode|=SET_DSU1_TX_VALUE(NIM_PATH);                   //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NIM_PATH);                    //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NIM_PATH);                   //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NIM_PATH);                  //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 5:        _dwDebugMode|=SET_DSU1_TX_VALUE(CARD_READER_PATH);          //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(CARD_READER_PATH);          //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NIM_PATH);                  //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NIM_PATH);                  //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 6:         _dwDebugMode|=SET_DSU1_TX_VALUE(NOT_USED);                   //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NOT_USED);                   //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);          //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(CARD_READER_PATH);          //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;    case 7:               _dwDebugMode|=SET_DSU1_TX_VALUE(NIM_PATH);                   //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NIM_PATH);                   //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);          //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(CARD_READER_PATH);          //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;        case 8:             _dwDebugMode|=SET_DSU1_TX_VALUE(CARD_READER_PATH);          //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(CARD_READER_PATH);          //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);         //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(CARD_READER_PATH);         //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);                 //UART2_RX_SOURCE << 20;        break;     case 9:            _dwDebugMode|=SET_DSU1_TX_VALUE(CARD_READER_PATH);          //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(CARD_READER_PATH);          //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);         //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);                 //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                 //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(EXPAND_GPIO_PATH);         //UART2_RX_SOURCE << 20;        break;     case 10:                 _dwDebugMode|=SET_DSU1_TX_VALUE(NIM_PATH);                   //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NIM_PATH);                   //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);          //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);                  //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                  //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(EXPAND_GPIO_PATH);          //UART2_RX_SOURCE << 20;        break;    case 11:            _dwDebugMode|=SET_DSU1_TX_VALUE(NOT_USED);                   //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NOT_USED);                   //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(CARD_READER_PATH);          //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);                  //UART1_RX_SOURCE << 12;                        _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);                  //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(EXPAND_GPIO_PATH);          //UART2_RX_SOURCE << 20;        break;    case 0:     default:         _dwDebugMode|=SET_DSU1_TX_VALUE(NOT_USED);       //DSU1_TX_SOURCE        _dwDebugMode|=SET_DSU1_RX_VALUE(NOT_USED);  //DSU1_RX_SOURCE << 4;           _dwDebugMode|=SET_UART1_TX_VALUE(NOT_USED);  //UART1_TX_SOURCE << 8;         _dwDebugMode|=SET_UART1_RX_VALUE(NOT_USED);        //UART1_RX_SOURCE << 12;            _dwDebugMode|=SET_UART2_TX_VALUE(NOT_USED);        //UART2_TX_SOURCE << 16;        _dwDebugMode|=SET_UART2_RX_VALUE(NOT_USED);        //UART2_RX_SOURCE << 20;                break;    }}void _GetUsefulDebugMode(BYTE bDIR){    DWORD dwDBGMode, dwCompare;	    dwDBGMode = UTL_Get_Path_DebugMode();	    if (bDIR) // Increase Index    {        do        {            _bDebugIndex++;            if (_bDebugIndex >= MAX_DBG_MODE)            {                _bDebugIndex = 0;            }                           dwCompare = 1L << _bDebugIndex;			        } while (!(dwCompare & dwDBGMode));                }    else // Decrease Index    {        do        {            if (_bDebugIndex == 0)            {                _bDebugIndex = MAX_DBG_MODE - 1;            }            else            {                _bDebugIndex--;            }                         dwCompare = 1L << _bDebugIndex;			        } while (!(dwCompare & dwDBGMode));     }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -