연산식이 이해가안됩니당 ㅠ
byte_140003000[i] = i ^(arg + i) + 2 * i
이 식에서 막혀서 풀이를 이것저것 보았는데요,
역연산할때 예를들어
byte_140003000[1]이면
60h = 1 ^ (arg + 1) + 2 * 1 인게 맞는건가요..? 그럼
60h - 2 = 1 ^ (arg + 1) 일거고
5e = 1 ^ (arg + 1) 에서
5e 를 1이랑 xor 하면
5f = arg + 1 이니까 첫번째 arg 는 5e 가 되야하는거 아닌가용...ㅠ 잘못된 부분 지적좀해주세요
#reversing
작성자 정보
답변
1
Sechack
2024 Invitational Contenders
아 대충 보고 답글 달았네요. 죄송합니다. 수정해서 답변드리자면
(arg + i)이거는 메모리 주소일거에요. arg[i] 라고 생각하시면 되겠습니다.
byte_140003000[1] 이면
1 ^ arg[1] + 2 * 1
이렇게 될겁니다.