המרת HEX לשפה קריאה - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

המרת HEX לשפה קריאה


Tomerb1

Recommended Posts

שלום לכולם, האם יש דרך להמיר קוד אקסהדצימל [HEX] לשפת C או משהו שיהיה ניתן להבין?

איך בעצם מתכנתים יודעים לקרוא קוד בינארי? איך הם יודעים שנגיד 00 01 00 01 00 08 זה אומר משהו מסויים?

תודה מראש

קישור לתוכן
שתף באתרים אחרים

טעיתי בשאלה, אני מתכוון האם אני יכול להפוך קובץ EXE לC בחזרה? או קובץ HEX לC?

אני עובד כרגע על למגמת ויש לי בעיה קצת עם התוכנה.

אני כותב 3 שורות וכשאני פותח את הHEX אני רואה 200 שורות, איך אני יכול לקרוא את הHEX ולהבין מה הולך שם בלי נגיד שיש לי את הקוד המקורי של הC?

קישור לתוכן
שתף באתרים אחרים

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

כשאתה מקמפל, הקומפיילר מתרגם את הקוד שלך לשפת מכונה. אתה יכול לקרוא אותו באמצעות תוכנת disassembler, ובשביל זה תצטרך כמובן ללמוד אסמבלי. (ליתר דיוק, זה ככה כשאתה מקמפל שפות כמו C או ++C. יש שפות שמתקמפלות לשפת ביניים כמו #C וג'אווה, ששם זה עובד קצת אחרת).

בכל מקרה, אין דרך פשוטה להמיר מ-exe חזרה ל-C, ולהסבר קרא את זה:

http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.4

(הוא מדבר על ++C אבל תכלס זה אותו דבר)

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

גם קוד אסמבלי מסויים יעבוד בצורה אחת עם ומסויימת ובצרה אחרת על אחרת לכן התוצאות הן לא אחידות.

אתה מתכוון שכל קומפיילר ממיר את זה בצורה קצת שונה אז התוצאה הסופית לא תיהיה שווה?

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

קישור לתוכן
שתף באתרים אחרים

אל תצוטט תגובות מעליך.

אני בכלל מדבר עוד על השלב של לפני הקימפול.

למה? :facepalm:

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

קישור לתוכן
שתף באתרים אחרים

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...