<div>이미 존재하지 않는 회사의 10여년전 프로그램을 다시 써야할 일이 생겨서 뜯어보고 있습니다.</div>어셈블리어인데 c코드로 바꿔보자면 <div>some_sub_call(DWORD Arg) {<br><div>DWORD A = Arg + 0x7EFEFEFF;</div></div> <div>DWORD B = Arg ^ 0xFFFFFFFF;</div> <div>DWORD C = A ^ B;</div> <div>DWORD D = C & 0x81010100;</div> <div>if(C == 0) //문제의 조건</div> <div><br></div> <div>당췌 저 비트연산이 어떤 의미가 있는지 모르겠네요.</div> <div>C==0이 되는 것과 Arg와 대충 어떤 관계, 그러니까 몇번째 비트가 0이면 0이된다든지 하는 관계, 인지 감도안오네요.</div> <div>어떤 비트를 검사하는 거다 설명해주시면 매우 감사하구요.</div> <div>대체 왜 이런 연산을 해서 검사하는 것인지 아무 짐작이라도 말씀해주시면 감사하겠습니다.</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.