PDA

View Full Version : giup minh voi...bien con tro



vc++
30-08-2004, 21:25
thật ra bài này nên để bên box c++ nhưng mình nghĩ để bên đây thì có nhiều cao thủ hơn. Gíup mình nhé.

Ý tưởng: khi chơi game Starcraft thì số kim cương sẽ tăng lên. Giả sử tại thời điểm Y có số kim cương là 34400. Xem như giá trị này lưu trong 1 biến int và có địa chỉ là 4339620

Mình muốn viết 1 chương trình dạng hacker như sau: khi đến thời điểm Y, mình nhấn phím ("Window" -kế bên phím Ctrl) sau đó mình bật chương trình của mình lên để thay đổi giá trị biến thành 55000 tại địa chỉ 4339620. Sau đó thoát chương trình ...rùi trở lại vào game để có được số kim cương mới.

Vấn đề: mình không biết làm sao để xác nhận giá trị biến tại 1 địa chỉ cho trước.
mình thử làm như thế này mà không được:
int *p; (dùng vc++)
p=4339620;
printf("%d",*p);

vấn đề hai: mình có hai biến
long a,b;
mình muốn lưu địa chỉ của biến a thành giá trị của biến b thì phải làm sao? (giống như cách thức của con trỏ)
mình thử làm như thế này mà không được:
long a,b;
b=&a;
printf("%d",b);

giúp mình nhé.

ke_tui_nha
31-08-2004, 03:51
Vấn đề ở chỗ là các ct chạy trên Windows đều có một không gian địa chỉ riêng (cùng địa chỉ 4339620 nhưng không cùng chỉ đến một vùng nhớ trong 2 ct khác nhau đang chạy), nên bạn không thể can thiệp vào vùng nhớ của các ct khác đang chạy ngoài cách dùng hàm OpenProcess, ReadProcessMemory, WriteProcessMemory.
long a,b;
b=(long)&a;
printf("%l",b);

vc++
31-08-2004, 06:30
vậy mỉnh có thể chạy vòng tìm kiếm dia chỉ vùng nhớ để tìm ra đúng địa chỉ có giá trị như mong muốn không? (vì mình đã thấy 1 chương trình hack game starcaft như mình vừa nên trên ->nhưng không biết thuật toán bên trong như thê nào)
Xin rất cám ơn bạn.