static void file_check_pdf(file_recovery_t *file_recovery) { const unsigned char pdf_footer[4]= { '%', 'E', 'O', 'F'}; file_search_footer(file_recovery, pdf_footer, sizeof(pdf_footer), 0); file_allow_nl(file_recovery, NL_BARENL|NL_CRLF|NL_BARECR); file_date_pdf(file_recovery); }
static void file_check_wee(file_recovery_t *file_recovery) { const unsigned char wee_footer[7]= { 'W' , 'E' , 'E' , 'X' , 0x21, 0x01, 0x00 }; file_search_footer(file_recovery, wee_footer, sizeof(wee_footer), 17); }
static void file_check_tivo(file_recovery_t *file_recovery) { const unsigned char tivo_footer[8]= { 0x00, 0x00, 0x01, 0xb7, 0x00, 0x00, 0x01, 0xb9 }; file_search_footer(file_recovery, tivo_footer, sizeof(tivo_footer), 0); }
static void file_check_frm(file_recovery_t *file_recovery) { const unsigned char frm_footer[11]= { '#', 'E', 'N', 'D', '_', 'O', 'F', '_', 'U', 'G', 'C'}; file_search_footer(file_recovery, frm_footer, sizeof(frm_footer), 1); }
static void file_check_e01(file_recovery_t *file_recovery) { const uint64_t tmp=file_recovery->file_size; const unsigned char sig_done[16]={ 'd', 'o', 'n', 'e', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; const unsigned char sig_next[16]={ 'n', 'e', 'x', 't', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; file_search_footer(file_recovery, sig_next, sizeof(sig_next), 60); if(file_recovery->file_size!=0) return ; file_recovery->file_size=tmp; file_search_footer(file_recovery, sig_done, sizeof(sig_done), 60); }
static void file_check_pzf(file_recovery_t *file_recovery) { const unsigned char pzf_footer[17]= { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x40 }; file_search_footer(file_recovery, pzf_footer, sizeof(pzf_footer), 0); }
static void file_check_als(file_recovery_t *file_recovery) { static const unsigned char als_footer[0x16]= { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01 }; file_search_footer(file_recovery, als_footer, sizeof(als_footer), 7); }
static void file_check_emlx(file_recovery_t *file_recovery) { if(file_recovery->file_size < file_recovery->calculated_file_size) file_recovery->file_size=0; else { if(file_recovery->file_size > file_recovery->calculated_file_size+2048) file_recovery->file_size=file_recovery->calculated_file_size+2048; file_search_footer(file_recovery, "</plist>\n", 9, 0); } }
static void file_check_rar(file_recovery_t *file_recovery) { static const unsigned char rar_footer[7]={0xc4, 0x3d, 0x7b, 0x00, 0x40, 0x07, 0x00 }; file_search_footer(file_recovery, rar_footer, sizeof(rar_footer), 0); }
static void file_check_arj(file_recovery_t *file_recovery) { static const unsigned char arj_footer[4]={0x60, 0xEA, 0x00, 0x00 }; file_search_footer(file_recovery, arj_footer, sizeof(arj_footer), 0); }
static void file_check_dxf(file_recovery_t *file_recovery) { const unsigned char dxf_footer[4]= {'\n', 'E', 'O', 'F'}; file_search_footer(file_recovery, dxf_footer, sizeof(dxf_footer), 0); file_allow_nl(file_recovery, NL_BARENL|NL_CRLF); }
static void file_check_crw(file_recovery_t *file_recovery) { const unsigned char crw_footer[2]= { 0x0A, 0x30}; file_search_footer(file_recovery, crw_footer, sizeof(crw_footer), 12); }
static void file_check_njx(file_recovery_t *file_recovery) { const unsigned char njx_footer[4]= {'N', 'J', '*', 0x04}; file_search_footer(file_recovery, njx_footer, sizeof(njx_footer), 0); }
static void file_check_hr9(file_recovery_t *file_recovery) { const unsigned char hr9_footer[4]= {0xc0, 0xde, 0xca, 0xfe}; file_search_footer(file_recovery, hr9_footer, sizeof(hr9_footer), 0x50-4); }
static void file_check_cwk(file_recovery_t *file_recovery) { const unsigned char cwk_footer[4]= {0xf0, 0xf1, 0xf2, 0xf3}; file_search_footer(file_recovery, cwk_footer, sizeof(cwk_footer), 4); }
static void file_check_bkf(file_recovery_t *file_recovery) { const unsigned char bkf_footer[4]= { 'S', 'F', 'M', 'B'}; file_search_footer(file_recovery, bkf_footer, sizeof(bkf_footer), 0x400-4); }
static void file_check_lso(file_recovery_t *file_recovery) { const unsigned char lso_footer[6]= {0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x7F}; file_search_footer(file_recovery, lso_footer, sizeof(lso_footer), 0x46); }
static void file_check_svg(file_recovery_t *file_recovery) { file_search_footer(file_recovery, "</svg>", 6, 0); file_allow_nl(file_recovery, NL_BARENL|NL_CRLF|NL_BARECR); }
static void file_check_ers(file_recovery_t *file_recovery) { file_search_footer(file_recovery, "DatasetHeader End", 17, 0); file_allow_nl(file_recovery, NL_BARENL|NL_CRLF|NL_BARECR); }