ABA


"מחפש קוד מקור בC"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #8724 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 8724
Michael

   15:23   02.01.03   
אל הפורום  
  מחפש קוד מקור בC  
 
   אני מחפש קוד מקור בC של תוכנה בסגנון
undelete לDOS
גם לינקים שיסבירו לי איך התוכנה פועלת יתקבלו ברצון


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  זה דורש הכרות וגישה ישירה למערכת הקבצים. dryice 02.01.03 16:13 1
     תודה Michael 02.01.03 16:33 2
         אתה חייב גישה ישירה לדיסק! dryice 02.01.03 16:43 3
             אני עובד תחת DOS Michael 02.01.03 17:31 4
                 אתה צריך לכתוב קצת אסמבלי. dryice 02.01.03 17:52 5

       
dryice

   16:13   02.01.03   
אל הפורום  
  1. זה דורש הכרות וגישה ישירה למערכת הקבצים.  
בתגובה להודעה מספר 0
 
   בDOS מדובר במערכת FAT שהיא המערכת החביבה עליי, לא מפאת יציבות
שאין לה אלא מכיוון שהיא פשוטה וקל לתקן אותה אפילו ידנית.

במערכת FAT המידע על קובץ נשמר בשני מקומות, בטבלת FAT ובתוך עץ הספריות,

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

במקרה ומדובר בקובץ גדול הוא תופס יותר מצביר (cluster) אחד, ואלו
לאוו דווקא באים ברציפות, מה שנקרא פרגמנטציה, המידע באילו צבירים
מאוכסן בקובץ, שמור בטבלת הfat ע"י רשימה מקושרת של תאים שכל אחד מהם
מייצג צביר ומכיל בתוכו את מספר הצביר הבא(או לחילופין סימון של פנוי,
או סוף שרשרת)

כאשר מוחקים קובץ המידע עצמו לא נמחק, אלא קוראים שני דברים, הראשון
בתוך הספריה של הקובץ האות הראשונה של שם הקובץ נמחקת ובמקומה מוכנס
הערך E5 המייצג קובץ מחוק. כמו כן הכניסה בטבלת הfat מסומנת כפנויה
(כאשר השלב השני לא קורה אנו מקבלים lost clusters)

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Michael

   16:33   02.01.03   
אל הפורום  
  2. תודה  
בתגובה להודעה מספר 1
 
   על הסבר, אבל אתה יכול להסביר לי
כיצד אני יכול ליישם את זה בC.

הבנתי שאני צריך לחפש קבצים שמתחילים בE5
ולאחר מכן כיצד אני משחזר את המידע הנאבד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   16:43   02.01.03   
אל הפורום  
  3. אתה חייב גישה ישירה לדיסק!  
בתגובה להודעה מספר 2
 
   כי רגיל כשאתה מחפש קובץ אתה מבקש ממערכת ההפעלה שתמצא לך
את הקובץ, פה אתה צריך לעקוף את מערכת ההפעלה ולגשת ישירות
למקום בדיסק בו מאוכסנת הספריה הרלוונטית, שם זה בעצם מן מערך גדול
ושם לחפש כניסות שמתחילות בE5, גישה ישירה לדיסק זה החלק הבעייתי פה,
שכן עם אתה עובד מתחת למערכת הפעלה רצינית היא תנסה למנוע ממך
לעשות זאת.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Michael

   17:31   02.01.03   
אל הפורום  
  4. אני עובד תחת DOS  
בתגובה להודעה מספר 3
 
   עם מהדר TC. כיצד אני עוקף את מערכת הפעלה
ויכול לגשת ישירות לתוכן של הדיסק.
ולחפש שם את הקבצים המחוקים?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   17:52   02.01.03   
אל הפורום  
  5. אתה צריך לכתוב קצת אסמבלי.  
בתגובה להודעה מספר 4
 
   אם אתה עובד תחת DOS באמת ולא תחת כאילו DOS מתחת לחלונות,
אז המעבד נמצא בreal mode ולא בprotected והעסק באמת יעבוד.
אני אישית לא זוכר בע"פ את הפסיקות שניגשות לדיסק,
אם יש לך הידע באסמבלי תוכל למצוא בקלות, אם אין לך הידע באסמבלי
בכל מקרה אתה מבזבז את הזמן של שנינו לפני שאתה מתחיל באמת ללמוד.


אם אתה עובד בחיקוי dos מתחת לחלונות, לא סביר שתצליח
(תחת 9x יש סיכוי קלוש, תחת אחרים סיכוי אפס)
DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net