שוב פעם... SC

שוב פעם... SC

קודם כל, אני רוצה להבהיר שלמרות שמה שאני מנסה לעשות יכול לגרום נזק (ואולי אפילו נזק רציני), אין לי שום כוונה לשחרר אתה הדבר הזה לאינטרנט או לשלוח בדואר או אפילו להפעיל את זה אצלי על יותר מקובץ אחד(או אולי שניים). אז בבקשה אל תתנו לזה לעצור אתכם מלעזור לי
אני עושה את זה רק למטרות לימודיות.
מה שאני רוצה לעשות זה לקחת 2 קבצי EXE (בואו נגיד -אלה שמתחילים עם MZ) ופשוט להעתיק את ה SC של אחד מהם אחרי ה SC של השני - כך שהקובץ השני יפעיל תוכנית אחת אחרי השניה (אני יודע שמה שכתבתי לא ממש מדוייק אבל נעזוב את זה בינתיים
). אבל את ה SC-ים אני רוצה לקחת כששתי התוכניות לא מופעלות (כך שהרגיסטר SC לא יעזור כאן, אני חושב...) תודה לכל מי שיעזור
 

codec

New member
נוסטלגיה

ת'שמע, אני מנסה לאתר דברים שמזמן שכחתי שקיימים. בינתיים אני אתן לך שני כיוונים (או יותר נכון שני שימושים לאותה טכניקה): 1) פעם, בהיות BBS-ים שולטים בעולם, היה מאוד נפוץ להצמיד INTRO-ים למשחקים (אם מישהו זוכר את GDS שירים יד). היו כמה כלים לעשות את זה, אחד מהם נודע בשם "ADI's glue" (אם אני לא טועה). תחפש גם. 2) וירוסים של DOS עבדו בשיטה הזאת. קוד שלהם אפשר עדיין למצוא באינטרנט.
 
קודם כל, תודה ../images/Emo13.gif

עכשיו, כבר ניסיתי להשתמש בטכניקה של וירוס כדי לצרף את הקבצים אבל בגלל שאני רוצה לחבר אותם כשהם לא רצים, אני לא יכול להשתמש ברגיסטר CS - אז חיפשתי ב header של הקבצים את המיקום היחסי שה code segment מתחיל ולפי מה שהבנתי (יכול להיות שאני טועה) הוא נמצא ב offset של 22 בתים מתחילת הקובץ, אבל בכל הקבצים שבדקתי עד עכשיו יש שם רק אפסים... זה לא הגיוני... אתה יודע איפה הוא אמור להיות?
 
למה שלא תלמד אסמבלי?

תלמד אסמבלי. תכתוב תוכנה קטנה באסמבלי (משהו בסגנון HELLO WORLD) ועליה תעשה את הניסויים שלך. ככה תוכל להבין הכי טוב את מבנה הקובץ הנוצר.
 
איך זה יעזור לי?

כשאני כותב באסמבלי, אני לא מתעסק עם ה HEADER של הקובץ... (או שכן?)
 

codec

New member
לפעמים 0 זה דבר חיובי...

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