עבור לתוכן

המלצה של אימיול טוב...

Featured Replies

פורסם

1.אהא,ספסיבו קומרד.

2.אהא,אייווה קומרד.

3.אה,סבבה.

4.את זה לא ממש הבנתי.הרי אם נניח אתה כותב תוכנה שסתם ,לדוגמא,מחברת בין a ל b .הכל אחלה והתכנה עובדת,ואז אתה פותח קובץ חדש שבו אתה רושם בדיוק מה שרשמת בתוכנה הקודמת רק אתה מוסיף עוד שורה "במקרה ש a=12 תמחק קובץ מסוים ב :C".

איך לעזאזל אתה בודק שינוי בקובץ ההרצה? הרי לכאורה זה עושה בדיוק אותו דבר,רק שינוי פצפון.

אני מניח שאני מפספס פה איזה נקודה בסיסית.אבל איזו?

פורסם

בפשטות, כשאתה כותב קוד, נגיד:


int main(void)
{
printf("hi");
}

זהו לדוגמא קוד בשפת C, כדי להריץ אותו על המחשב, אתה מקמפל (מהדר בעברית) אותו לשפת מכונה, כדי שהמחשב ידע איך להריץ אותו (אלו קבצי ה EXE שאתה מריץ): הקובץ יראה ב HEXVIEWER כג'יבריש לא מובן (למרות שאפשר לעשות לו DISASSMBLY שזה הופך אותו לקוד מכונה שאנשים מסוימים יכול להבין, אבל נעזוב את זה בצד) ובפנים יהיה כתוב איפושהו "hi"....

אם אני ישנה בקובץ משהו קטן ביותר כמו במקום לכתוב "hi" שיכתוב "lo" לכרואה שינוי פשוט וקל, כשאני יקמפל מחדש את הקובץ אז, ה EXE יהיה שונה בדיוק במקום שאותו שיניתי...

פורסם

כן,אבל זה בדיוק מה שאני לא מבין.

אני מבין שהEXE יהיה שונה,אבל איך אתה יכול לדעת.

כלומר אתה אומר שאפשר לפתוח את הקובץ בHEXVIEWER (ד"א מה זה התוכנה הזו?),אבל אם אני פותח בתוכנה הזו אז איך אתה רואה שורות קוד(הרי אמרת שחוץ מהCHAR הכל בג'יבריש).ואם אתה פותח במשהו אחר ,אתה צריך לדעת מה אתה מחפש,לא?

או שיש איזושהיא דרך לראות את הEXE בדיוק איפה שהוא שונה?

פורסם

כנראה שאנחנו מפספסים אחד את השני... בכל מקרה, אם אתה מתעניין בנושא, תקרא על זה....

בכל מקרה, אפשר סתם להריץ השוואה בין הקבצים (יש כזה ב TOTAL COMMANDER ובהרבה תוכנות אחרות), ופשוט לראות שהם שונים... לדעת מה אופי השינוי, זה כבר יותר בעיה לדעת בקובץ הרצה, בלי הקוד מקור (לפעמים אנשים שיודעים טוב לעבוד ברמת שפת מכונה יכולים לדעת, ולפעמים לא), ולכן לא מומלץ להוריד דברים שילדים עושים בבית שלהם (כמו הלינק הראשון שניתן פה)...

מה ששונה, הוא פשוט גיבריש קצת אחר.. זה כבר אינדקציה שהיו שינויים... שהרי אם אתה מקמפל את אותו קוד מקור באותה סביבה, הקובץ הרצה יהיה זהה בכל פעם..

פורסם

אממ...אהה...אני חושב שהבנתי.

תודה,אני באמת אקרא קצת (או אשאל בפורום "שפת תכנות" ;D  ;D ;D).

ושוב תודה :).

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים