이진 파일에서 일부 정보를 추출하려고합니다. 모양은 다음과 같습니다 :Regex 바이너리 파일에서 영숫자가 아닌 문자로 문자열 일치
AUTHCODE(here goes 3 bytes, that I don't need)part_that_i_need(here goes a NULL byte)
.
qszjlbnkmctkkezgd_qyzkyptqigudilzpkp_qgetefvmigwimrihudk
의 부분을 개발하였습니다.
는 여기에 지금까지 한 일이다 :
string ReadFileMF;
using (StreamReader reader = new StreamReader(pathCopy))
{
ReadFileMF = reader.ReadToEnd();
}
///match the whole string
Match passMF = Regex.Match(ReadFileMF, @"(AUTHCODE).+?(www)");
String passMFs = passMF.Value;
//convert to array of bytes
byte[] bpass = StrToByteArray(passMFs);
//replace the 3 bytes after AUTHCODE with spaces
bpass[8] = 0x20;
bpass[9] = 0x20;
bpass[10] = 0x20;
좋아, 그래서 지금은 그냥 마지막에 널 바이트와 일치해야합니다. 같은 것이 (AUTHCODE).+?(NULL_BYTE)
입니다. 어떤 아이디어?
는 길이를 변경할 수 있습니까? 안전하게 문자열로 변환 할 수 있습니까 (정규 표현식). –
예 필요한 값의 길이를 변경할 수 있습니다. 그리고 이미 (AUTHCODE). +? (N) – technology
과 일치하는 문자열로 바뀌 었습니다. "이미 문자열로 바뀌 었습니다."즉,'byte'가 아닌'char's를 건너 뛰고 싶다는 뜻입니다. –