set명령어로 C코드상의 변수나 레지스터는 변경이 가능한데..
주소안의 값을 GDB로 바꿀 수 있는 지 알고 싶습니다...(예) 0x0804820de의 값을 변경할 수 있는지
그리고
CMP DWORD PTR [EAX] , 0 <-이상하게 그냥 EAX쓰면 될걸가지고 저런식으로 되있더라구요(나름 의문)
아무튼 그래서 EAX를 바꿔보았습니다만 저기서 SEIVE인가 그 세그폴트뜰때 뜨는 그 신호오더라구요 그래서
주소값 변경법이나 저 신호의 이유를 알고싶습니다..
Hit : 3835 Date : 2011/08/07 10:41
chaser1963
첫번째는 잘모르겠는데 바꾸셔도 코드영역은 못바꾸고 임의로 그렇게 쉽게 바뀔지는 모르겠네요
두번째는 eax에 값이 아니라 eax의 주소가 가진 그 값의 값입니다-_- 머랄까 약간 포인터 개념이에요
예를들어
int *eax = (int *)malloc(sizeof(int));
*eax = 5;
여기서 5와 0을 비교하고싶은데