https://dhhd-goldmilk777.tistory.com/15
이글을먼저보고오시는걸 추천드립니다
이글을 보셨다면 이제 대충 리버싱이
저런툴을가지고 프로그램의 동작원리를 아는것구나
라고생각했다면 네 잘이해하셨습니다
리버싱을할려면 조금이라도 어셈블리어를 알아야합니다
이걸 간단하게 요약해서하죠
주의(이건 요약을꽤많이해서한걸로 다른글들을참고해서보는걸 추천드립니다)
일단적으로 레지스터등은 좀어려울것니
명령어부터간단한것 알려주죠
mov eax,100 (ia32)
mov r0,#100 (armv7)
위에건 인텔cpu의 어셈블리어고
밑에건안드로이드 어셈블리어의일종입니다
저걸해석하면 mov는move움직이다
eax를 100에
이걸해석하면
eax에 100을 움직인다
약간 수학적으로하면 eax = 100 입니다
이정도해도 잘한것예요 이정도만알아도 안드로이드모딩은어느정도할수있을것입니다
이제 다음걸배워보죠
ret (ia32)
bx lr (armv7)
일단위에건뜻이 return 돌아가다
밑에건 bx lr link register로 둘다 같은의미이지만
뜻을하자면 호출한 함수로부터 돌려보내는 명령입니다
이제 호출하는 명령이 궁금하겠죠
call 메모리주소
bl 메모리주소
뜻은 메모리주소에있는 함수를 호출합니다입니다
저걸로한후 bx lr ret등으로 월래위치로 돌려보내는구조이죠
이정도면 초보자에게는 충분하다고하고
레지스터를 배워보죠
용도들은 다른글에있으니참고하고 여기는 더쉽게해보죠
레지스터(Register)는 CPU알죠 연산하는것요
거기서 처리한데이터를 임시용으로 저장하는것입니다
장점하나배워보죠 저장하는값의범위가작지만 cpu와연결되있었어
램보다 몇배이상은 더빨라요(연산이)
이글은초보중에서 기본글을이해하지못하는사람에게드리는글이면
이글을읽고 제블로그의다른글을 이제다시한번읽어보세요
'PC리버싱 > (구)기초' 카테고리의 다른 글
레지스터(Register)의 이해 (0) | 2020.03.14 |
---|---|
더쉽게배워보자 레지스터에대하여 (0) | 2020.03.14 |
생초보자를 위한 리버싱 기초잡이2미완성 (0) | 2020.03.10 |
생초보자를 위한 리버싱 기초잡이1 (0) | 2020.03.10 |
리버싱 어셈블리어명령어에관하여 (0) | 2020.03.09 |