שלום ‏אורח!
דוא"ל:  סיסמא:  
זכור אותי   |   שכחת סיסמה?   |   להרשמה בחינם עכשיו!
« חזור לפורום תכנות ופיתוח סה"כ 4 תגובות על פני 1 עמודים
LiorL
ליאור לוי
הודעות: 372
ותיק
כתבתי AOB SCANNER ומשום מה הוא לא עובד לי,פעם ראשונה שאני כותב שטות כזאת ואני לא בטוח שעשיתי את כל הדברים נכונים אז אשמח אם מישהו יתקן אותי,בטוח יש פה כמה טעויות ולא רק אחת.

DWORD ScanForAddress()
{
	int countMatch = 0;//if its equals sizeof(aob) so its ok because all match
	DWORD size = moduleInfo.SizeOfImage;
	DWORD addr;
	for(unsigned int i = 0; i < size && countMatch!=12; i++)
	{
		if(aob[i] == '?')
			continue;
		else if(*(DWORD*)(baseAddr+i) == aob[i])
			addr = (baseAddr+i-countMatch++);
		else
			countMatch = 0;
	}
	if(countMatch!=12)//we haven't found anything
		return 0;
	return addr;
}
בעקרון זה כתוב לעבוד על 12 בייטים.
22:44 | 25/06/10 מסר אישי הודעה חדשה
Alon2
אלון גובקין
הודעות: 1022
מנהל
AOB Scanner?
05:30 | 26/06/10 מסר אישי הודעה חדשה
LiorL
ליאור לוי
הודעות: 372
ותיק
אני נותן מערך של בייטים, (ARRAY OF BYTES) והתוכנה שלי עוברת על זיכרון של PROCESS מסוים ומחפשת שם אדרס עם הערכים האלה,ברגע שהיא מוצאת אז אני יודע שמצאתי את האדרס המתאים.
כך זה יכול לעבוד לכל גרסא שאין בה שינוי ממשי של משחק / תוכנה ואוכל למצוא את האדרס שאני רוצה לכתוב אליו בכל פעם מחדש מבלי לעדכן את התוכנה שלי.
13:11 | 26/06/10 מסר אישי הודעה חדשה
Liams
ליעם שטיין
הודעות: 910
ותיק
יש פה מאמר מאוד עוזר:
http://forum.cheatengine.org/viewtopic.php?t=168493
02:20 | 29/06/10 מסר אישי הודעה חדשה
LiorL
ליאור לוי
הודעות: 372
ותיק
כן ראיתי את זה,אבל זה DLL שהוא הכין ואני רוצה לכתוב אחד משלי ולא להשתמש ב-DLL שלו.
18:44 | 05/07/10 מסר אישי הודעה חדשה