כותב |
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 31 March 2008 בשעה 22:37 | | IP רשוּם
|
|
|
|
השאלה שלי היא כזאת:
כיצד ניתן למנוע ולאבטח משחק כך שפעולת ה-Cheat Engine לא תהיה אפקטיבית...
למי שלא יודע->Cheat Engine זה תוכנה שסורקת את הזיכרון עליו פועלת
התוכנה במחשב.
ובאמצעות כלי זה ניתן לשנות את ערכי המשתנים של המשחק\תוכנה, בלי שהמשורר התכוון
לכך... .
אם למישהו יש הצעות אשמח לשמוע....................
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 01 April 2008 בשעה 22:42 | | IP רשוּם
|
|
|
|
לשמור Checksum במקום נפרד... אומנם ניתן לעקוף, לא בקלות...
או לכתוב תוכנה שמתנחלת זמנית על WireProcessmemory ומבטלת את הפעולה שלו אם היא מגלה שזה נגד התוכנה שהיא מגנה עליה...
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 01 April 2008 בשעה 23:08 | | IP רשוּם
|
|
|
|
בקשר ל-Checksum זהו פתרון נחמד אבל כמו שאמרת אפשר לעקוף וגם דורש עבודה
נוספת מהמתכנת... דבר שקצת מרתיע.......
בקשר ל-WireProcessmemory איך בדיוק אני אמור לבנות Tool שיבדוק אם תוכנה X
עובדת\סורקת על התוכנה שלי.......???
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 02 April 2008 בשעה 23:27 | | IP רשוּם
|
|
|
|
כעיקרון אתה יכול לבנות תוכנה שתעשה Hook גלובלי על כל תוכנה חדשה שרצה על המערכת.. ז"א אתה כותב DLL שנטען לכל תהליך, ועושה מה שאתה רוצה שיעשה... שפרקטית משכתב התנהגות של WriteProcessMemory.. אפשר לעשות את זה עם Driver אבל זה הרבה יותר מסובך...
תסתכל על פונקצייה של Windows: SetWindowsHookEx
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 03 April 2008 בשעה 00:07 | | IP רשוּם
|
|
|
|
הסתכלתי על מה שאמרת... זה דבר נחמד מאוד....
ואף פעם לא שמעתי על זה לפני זה.............
בהחלט עזרת לי, אני אסתכל על זה כבר בעצמי והכל...
תודה על ההכוונה והעזרה!.
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 03 April 2008 בשעה 22:21 | | IP רשוּם
|
|
|
|
יש לי שאלה נוספת... האם אני יכול לדעת את המיקום שבו תוכנה פועלת בזיכרון ללא
שימוש ב-Kernel???
כך שלא יוכלו לעלות עלי כשאני קורא זיכרון...
כי חשבתי שאם אני אקרא זיכרון עם ג'אווה לא יעלו עלי אבל בעיה היא שחיפשתי וחיפשתי ולא
מצאתי אפשרות לקרוא זיכרון עם ג'אווה... או מקסימום אפשר עם אסמבלי אבל הבעיה
היא שאני צריך את המיקום שאליו התוכנה נטענה פלוס הבלוקים הנוספים (כיוון שיש מצב
שחלקי הסגמנטים לא נמצאים כגוש אחד בזיכרון) וזה מתבצע באמצעות Kernel.
אם תוכלו לעזור לי בזה אשמח מאוד... (כמובן זה ללא כוונות זדון )
והמבין יבין .
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 04 April 2008 בשעה 18:26 | | IP רשוּם
|
|
|
|
Fate כתב:
כעיקרון אתה יכול לבנות תוכנה שתעשה Hook גלובלי על כל תוכנה חדשה שרצה על המערכת.. ז"א אתה כותב DLL שנטען לכל תהליך, ועושה מה שאתה רוצה שיעשה... שפרקטית משכתב התנהגות של WriteProcessMemory.. אפשר לעשות את זה עם Driver אבל זה הרבה יותר מסובך...
תסתכל על פונקצייה של Windows: SetWindowsHookEx
|
|
|
קודם כל, המון אנטיוירוסים יכפכפו אותך על ניסיןו לעשות SetWindowsHookEx גלובאלי. ואז מה? לשים hook על OpenProcess וכאלה כדי לתפוס את מי שמנסה להתחבר לפרוסס שלך?
חוץ מזה, בקצב הזה מי שמשחק עם התוכנה שלך ישתמש ב-Native API וב-NtOpenProcess. מה תעשה אז?
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 05 April 2008 בשעה 10:16 | | IP רשוּם
|
|
|
|
בכל מקרה מי שזה לא יהיה שינסה להתעסק עם התוכנה שלי חייב להשתמש בWindows API. כי הוא לא יכול לגשת לטווח זיכרון של התוכנה שלי בשום צורה אחרת. בגלל שאני עולה לפניו, אני מסוגל לעקוף לו את כל הפונקציות שאני רוצה. ולא אכפת לי מה האנטיוירוס או הFirewall יגידו, זה תוכנה לגיטימית, מאשרים אותה.
כמובן כל זה בהנחה והתוכה שרוצה להתעסק עם הזיכרון שלך לא ניגשת לRing 0.
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 05 April 2008 בשעה 13:00 | | IP רשוּם
|
|
|
|
חברי'ה, לא עניתם לי.... אני חייב לגשת לפונקציות המובנות ול-Kernel כדי לדעת איפה
הבלוקים של התוכנית בזיכרון?
אם אני ינסה לשנות ערכי זכרון של תוכנית שפועלת בזכרון, מערכת ההפעלה לא תמנע ממני
את זה נכון???
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 05 April 2008 בשעה 17:16 | | IP רשוּם
|
|
|
|
במערכות הפעלה מודרניות כל תוכנה רצה בטווח זכרון משל עצמה...אין לך כל דרך לגשת לכתובות זיכרון של תהליך אחר בלי להשתמש בפונקציות API, או לשבת בKernel Java מן הסתם לא יכול לשבת בקרנל...
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 06 April 2008 בשעה 02:51 | | IP רשוּם
|
|
|
|
Fate כתב:
בכל מקרה מי שזה לא יהיה שינסה להתעסק עם התוכנה שלי חייב להשתמש בWindows API. כי הוא לא יכול לגשת לטווח זיכרון של התוכנה שלי בשום צורה אחרת. בגלל שאני עולה לפניו, אני מסוגל לעקוף לו את כל הפונקציות שאני רוצה. ולא אכפת לי מה האנטיוירוס או הFirewall יגידו, זה תוכנה לגיטימית, מאשרים אותה.
כמובן כל זה בהנחה והתוכה שרוצה להתעסק עם הזיכרון שלך לא ניגשת לRing 0.
|
|
|
זו טענה פשוט שטותית.
קודם כל, אף אחד לא מבטיח לך שתעלה "לפניו". אולי הוא שם Proxy DLL על kernel32 ועולה לפניך? נו, באמת.
שנית, גם אם עלית לפניו, הרגע הדגמתי איך זה לא עוזר לך - אתה שמת הוקים על ה-Windows API, והוא משתמש ב-Native API. אתה תשים הוקים על ה-Native API, והוא ימצא דרך אחרת (לדוגמה, יממש בעצמו את הקוד שב-Native API). וכך הלאה.
השאלה היא פשוט מי אומר את המילה האחרונה. כל הגנה שתשים הוא יכול לעקוף, ועל כל מעקף אפשר לשים הגנה נוספת. מאה אחוז הגנה אין, אבל לעקוף כמה הוקים זו לא ממש בעיה.
|
חזרה לתחילת העמוד |
|
|
אלצ'קו אחראי פורומים
ג2ר פ33תי
הצטרף / הצטרפה: 20 January 2006
משתמש: מנותק/ת הודעות: 609
|
נשלח בתאריך: 06 April 2008 בשעה 02:53 | | IP רשוּם
|
|
|
|
yohai כתב:
חברי'ה, לא עניתם לי.... אני חייב לגשת לפונקציות המובנות ול-Kernel כדי לדעת איפה
הבלוקים של התוכנית בזיכרון?
אם אני ינסה לשנות ערכי זכרון של תוכנית שפועלת בזכרון, מערכת ההפעלה לא תמנע ממני
את זה נכון??? |
|
|
לא רק שאתה חייב לגשת ל-kernel, אלא שלא עולה לי דרך לקבל את הכתובת הפיזית שלך ב-user-mode. לכתוב לזיכרון של תוכנית אחרת מ-user-mode אתה בכלל לא יכול (עד כדי CreateRemoteThread ושות').
|
חזרה לתחילת העמוד |
|
|
Fate פורומיסט על
הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת הודעות: 571
|
נשלח בתאריך: 06 April 2008 בשעה 18:42 | | IP רשוּם
|
|
|
|
אלצ'קו כתב:
Fate כתב:
בכל מקרה מי שזה לא יהיה שינסה להתעסק עם התוכנה שלי חייב להשתמש בWindows API. כי הוא לא יכול לגשת לטווח זיכרון של התוכנה שלי בשום צורה אחרת. בגלל שאני עולה לפניו, אני מסוגל לעקוף לו את כל הפונקציות שאני רוצה. ולא אכפת לי מה האנטיוירוס או הFirewall יגידו, זה תוכנה לגיטימית, מאשרים אותה.
כמובן כל זה בהנחה והתוכה שרוצה להתעסק עם הזיכרון שלך לא ניגשת לRing 0.
|
|
|
זו טענה פשוט שטותית.
קודם כל, אף אחד לא מבטיח לך שתעלה "לפניו". אולי הוא שם Proxy DLL על kernel32 ועולה לפניך? נו, באמת.
שנית, גם אם עלית לפניו, הרגע הדגמתי איך זה לא עוזר לך - אתה שמת הוקים על ה-Windows API, והוא משתמש ב-Native API. אתה תשים הוקים על ה-Native API, והוא ימצא דרך אחרת (לדוגמה, יממש בעצמו את הקוד שב-Native API). וכך הלאה.
השאלה היא פשוט מי אומר את המילה האחרונה. כל הגנה שתשים הוא יכול לעקוף, ועל כל מעקף אפשר לשים הגנה נוספת. מאה אחוז הגנה אין, אבל לעקוף כמה הוקים זו לא ממש בעיה.
|
|
|
אתה צודק במשהו, כל הגנה שתשים אפשר לעקוף בצורה זו או אחרת. הנקודה שתוכנות שמרמות ע"י שינוי זיכרון לא באמת מצפות שתתקין עליהן הוקים, או תשים דריברים, או דברים אחרים. זה הכל עניין של עד כמה התוכנה רוצה לרמות את המשחק, וכמה קשה לכתוב אחת כזאת.
וכעיקרון, במלחמה כזאת בWindows, מנצח מי שעולה ראשון... (וכן, זה יכול להיות הוא...)
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 06 April 2008 בשעה 20:43 | | IP רשוּם
|
|
|
|
אולי יש אפשרות לשחק עם קובצי הליבה, ובכך באופן עקיף לגשת לזיכרון של התוכניות, בלי
שיוכלו לעלות עלינו???
|
חזרה לתחילת העמוד |
|
|
nhavu אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 06 April 2008 בשעה 20:59 | | IP רשוּם
|
|
|
|
יוחאי, בשביל לעשות את זה אתה צריך לכתוב דרייבר וזה לא נחמד כל כך
|
חזרה לתחילת העמוד |
|
|
עמרי אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 05 July 2010 בשעה 05:54 | | IP רשוּם
|
|
|
|
אחלה גבר תודה שעזרת הייתי חייב את זה יש לי שאלה באיזה תוכנה בחרתה
|
חזרה לתחילת העמוד |
|
|