1. 아래처럼 소스 작성


#include <stdio.h>

int main()

{

int a = 0;

while(a<10)

a++;

printf("result %d\n", a);

return 0;

}


2. 결과는 10이 나올것이다. 이것을 5로 바꿔보자!




3. 올리디버거로 해당 .exe를 연다



f8을 눌르면서 CALL test1.00401005까지 이동하고 이상태에서 f7을눌러서 call함수를  따라 들어간다!



4. while(a<10)구문을 찾는다



위에보는 곳 CMP [LOCAL.1], 0xA가 a<10를 나타내는 말이기때문에 해당줄을 더블클릭해서 0x5로 바꾼다.



5. 아래 그림을 보면 마지막 0xA가 0x5로 바뀐것을 알 수 있다.



6. 바뀐부분을 실행파일로 복사한다.



7. 이러한 화면으로 이동후에


8. 마우스 우클릭후 save file을 클릭해서 다른 이름으로 저장해서



9. 해당 파일을 실행하면 기존 결과 10이 아닌 5로 표시된다.


'리버싱, 어셈' 카테고리의 다른 글

PE구조  (0) 2014.11.14
exe, dll 분석 툴  (0) 2014.11.06
getenv 함수  (0) 2014.08.02
어셈 명령어  (0) 2014.06.21
툴 다운로드  (0) 2014.03.28
Posted by wakira
,