main
함수에서 일치하는지 확인하는 함수
if
문을 역연산 하면 된다
전형적인 rev-basic 문제 유형
a1[]
은 입력받은 문자열,arr[]
은byte_140003000
의 값이다
byte_140003000
의 값은
IDA
에서 더블 클릭하고, SHIFT+E
를 누르면 HEX
코드가 보인다
Brute Force
해서 푸려고 했다
왜 안되지?
음수를 곱하니깐 안된다
분석을 더 하자
byte_140003000
의 함수이다
엄..
?
아
디컴파일링 하지 말걸....
컴퓨터는 음수를 변환한다.
-5
를 그대로 곱하는 것이 아니라
0xFB
를 곱하고0xFF
로 모듈러를 하면 된다
디컴파일링한 C언어를 보고 시간을 날렸다
어셈블리어로 분석을 하면 쉽게 풀린다
댓글을 잘 참고하자....