PDA

צפייה בגרסה מלאה : הוצאה והמרת תוכנה משפת מכונה לשפת סף



Benzi
16-11-2020, 09:56:05
שלום וברכה יש לי את הלוח הזה ואני רוצה להוציא את התוכנה שרשומה בו איזה תוכנה אני צריך בשביל זה ואיך עושים את זה?? תודה151619151620151621

איזי
16-11-2020, 11:50:56
מה שאתה מבקש הוא פחות או יותר בקטגוריה של "לא מעשי". לא ניתן להמיר שפת מכונה לקוד המקור.
זה עוד לפני האתגר של הורדה של המידע מהלוח שיש לך.

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

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

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

תוכל לפרט מה המטרה? להעתיק את הכרטיס? לגבות אותו?

Benzi
22-11-2020, 19:52:23
מה שאתה מבקש הוא פחות או יותר בקטגוריה של "לא מעשי". לא ניתן להמיר שפת מכונה לקוד המקור.
זה עוד לפני האתגר של הורדה של המידע מהלוח שיש לך.

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

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

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

תוכל לפרט מה המטרה? להעתיק את הכרטיס? לגבות אותו?

אני רוצה לשכפל את הקוד ולערוך אותו

איזי
22-11-2020, 20:44:18
אני חייב לומר שהניסיון שלי עם זה הוא טיפ טיפה מעבר למי שלא עשה את זה מעולם. מאד מקווה שמישהו כאן בפורום מכיר את זה ויכתוב לך שאני מדבר שטויות או לפחות יתן לך כיוון לפתרון.

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

עד כאן הקטע ה"מכני".

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

כדי להבין מה קורה כאן, העתקתי מתחת את הקוד הכי בסיסי שנטען לכרטיס ארדואינו עבור Blink, לד שמאותת:

:100000000C945C000C946E000C946E000C946E00CA
:100010000C946E000C946E000C946E000C946E00A8
:100020000C946E000C946E000C946E000C946E0098
:100030000C946E000C946E000C946E000C946E0088
:100040000C9413010C946E000C946E000C946E00D2
:100050000C946E000C946E000C946E000C946E0068
:100060000C946E000C946E00000000002400270029
:100070002A0000000000250028002B0004040404CE
:100080000404040402020202020203030303030342
:10009000010204081020408001020408102001021F
:1000A00004081020000000080002010000030407FB
:1000B000000000000000000011241FBECFEFD8E0B8
:1000C000DEBFCDBF21E0A0E0B1E001C01D92A930AC
:1000D000B207E1F70E945D010C94CC010C94000082
:1000E000E1EBF0E02491EDE9F0E09491E9E8F0E053
:1000F000E491EE23C9F0222339F0233001F1A8F472
:10010000213019F1223029F1F0E0EE0FFF1FEE58F7
:10011000FF4FA591B4912FB7F894EC91811126C0AF
:1001200090959E239C932FBF08952730A9F02830E7
:10013000C9F0243049F7209180002F7D03C0209121
:1001400080002F7720938000DFCF24B52F7724BD48
:10015000DBCF24B52F7DFBCF2091B0002F772093EC
:10016000B000D2CF2091B0002F7DF9CF9E2BDACFF7
:100170003FB7F8948091050190910601A091070185
:10018000B091080126B5A89B05C02F3F19F0019634
:10019000A11DB11D3FBFBA2FA92F982F8827BC01E1
:1001A000CD01620F711D811D911D42E0660F771F09
:1001B000881F991F4A95D1F708958F929F92AF9209
:1001C000BF92CF92DF92EF92FF920E94B8004B0154
:1001D0005C0188EEC82E83E0D82EE12CF12C0E9421
:1001E000B800681979098A099B09683E734081053E
:1001F0009105A8F321E0C21AD108E108F10888EEC0
:10020000880E83E0981EA11CB11CC114D104E10426
:10021000F10429F7FF90EF90DF90CF90BF90AF905F
:100220009F908F9008951F920F920FB60F921124F6
:100230002F933F938F939F93AF93BF93809101012F
:1002400090910201A0910301B0910401309100014D
:1002500023E0230F2D3758F50196A11DB11D2093E2
:1002600000018093010190930201A0930301B093D8
:1002700004018091050190910601A0910701B091C0
:1002800008010196A11DB11D8093050190930601FF
:10029000A0930701B0930801BF91AF919F918F91F7
:1002A0003F912F910F900FBE0F901F90189526E849
:1002B000230F0296A11DB11DD2CF789484B5826020
:1002C00084BD84B5816084BD85B5826085BD85B5FA
:1002D000816085BD80916E00816080936E00109278
:1002E00081008091810082608093810080918100F3
:1002F0008160809381008091800081608093800084
:100300008091B10084608093B1008091B0008160E1
:100310008093B00080917A00846080937A0080910D
:100320007A00826080937A0080917A008160809365
:100330007A0080917A00806880937A001092C100E0
:10034000EDE9F0E02491E9E8F0E08491882399F068
:1003500090E0880F991FFC01E859FF4FA591B491D7
:10036000FC01EE58FF4F859194918FB7F894EC9172
:10037000E22BEC938FBFC0E0D0E081E00E947000E0
:100380000E94DD0080E00E9470000E94DD00209746
:0C039000A1F30E940000F1CFF894FFCF11
:00000001FF



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

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

Benzi
22-11-2020, 23:37:38
אני חייב לומר שהניסיון שלי עם זה הוא טיפ טיפה מעבר למי שלא עשה את זה מעולם. מאד מקווה שמישהו כאן בפורום מכיר את זה ויכתוב לך שאני מדבר שטויות או לפחות יתן לך כיוון לפתרון.

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

עד כאן הקטע ה"מכני".

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

כדי להבין מה קורה כאן, העתקתי מתחת את הקוד הכי בסיסי שנטען לכרטיס ארדואינו עבור Blink, לד שמאותת:

:100000000C945C000C946E000C946E000C946E00CA
:100010000C946E000C946E000C946E000C946E00A8
:100020000C946E000C946E000C946E000C946E0098
:100030000C946E000C946E000C946E000C946E0088
:100040000C9413010C946E000C946E000C946E00D2
:100050000C946E000C946E000C946E000C946E0068
:100060000C946E000C946E00000000002400270029
:100070002A0000000000250028002B0004040404CE
:100080000404040402020202020203030303030342
:10009000010204081020408001020408102001021F
:1000A00004081020000000080002010000030407FB
:1000B000000000000000000011241FBECFEFD8E0B8
:1000C000DEBFCDBF21E0A0E0B1E001C01D92A930AC
:1000D000B207E1F70E945D010C94CC010C94000082
:1000E000E1EBF0E02491EDE9F0E09491E9E8F0E053
:1000F000E491EE23C9F0222339F0233001F1A8F472
:10010000213019F1223029F1F0E0EE0FFF1FEE58F7
:10011000FF4FA591B4912FB7F894EC91811126C0AF
:1001200090959E239C932FBF08952730A9F02830E7
:10013000C9F0243049F7209180002F7D03C0209121
:1001400080002F7720938000DFCF24B52F7724BD48
:10015000DBCF24B52F7DFBCF2091B0002F772093EC
:10016000B000D2CF2091B0002F7DF9CF9E2BDACFF7
:100170003FB7F8948091050190910601A091070185
:10018000B091080126B5A89B05C02F3F19F0019634
:10019000A11DB11D3FBFBA2FA92F982F8827BC01E1
:1001A000CD01620F711D811D911D42E0660F771F09
:1001B000881F991F4A95D1F708958F929F92AF9209
:1001C000BF92CF92DF92EF92FF920E94B8004B0154
:1001D0005C0188EEC82E83E0D82EE12CF12C0E9421
:1001E000B800681979098A099B09683E734081053E
:1001F0009105A8F321E0C21AD108E108F10888EEC0
:10020000880E83E0981EA11CB11CC114D104E10426
:10021000F10429F7FF90EF90DF90CF90BF90AF905F
:100220009F908F9008951F920F920FB60F921124F6
:100230002F933F938F939F93AF93BF93809101012F
:1002400090910201A0910301B0910401309100014D
:1002500023E0230F2D3758F50196A11DB11D2093E2
:1002600000018093010190930201A0930301B093D8
:1002700004018091050190910601A0910701B091C0
:1002800008010196A11DB11D8093050190930601FF
:10029000A0930701B0930801BF91AF919F918F91F7
:1002A0003F912F910F900FBE0F901F90189526E849
:1002B000230F0296A11DB11DD2CF789484B5826020
:1002C00084BD84B5816084BD85B5826085BD85B5FA
:1002D000816085BD80916E00816080936E00109278
:1002E00081008091810082608093810080918100F3
:1002F0008160809381008091800081608093800084
:100300008091B10084608093B1008091B0008160E1
:100310008093B00080917A00846080937A0080910D
:100320007A00826080937A0080917A008160809365
:100330007A0080917A00806880937A001092C100E0
:10034000EDE9F0E02491E9E8F0E08491882399F068
:1003500090E0880F991FFC01E859FF4FA591B491D7
:10036000FC01EE58FF4F859194918FB7F894EC9172
:10037000E22BEC938FBFC0E0D0E081E00E947000E0
:100380000E94DD0080E00E9470000E94DD00209746
:0C039000A1F30E940000F1CFF894FFCF11
:00000001FF



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

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

LPC2387FBD100 זה הדגם שלו חברת nxp https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc2000-arm7/arm7-with-512-kb-flash-98-kb-sram-ethernet-usb-2-0-device-can-and-10-bit-adc:LPC2387FBD100?fpsp=1&tab=Design_Tools_Tab

neilr
23-11-2020, 07:31:51
כבר קיבלתי בקשה כזו בעבר על כרטיס דומה.
אם אני צודק זה כרטיס של מכונת מזל, קרי מכונת גזל לא חוקית בעליל.
ולכן לא מתאים בפורומים שלנו.

Benzi
23-11-2020, 08:07:59
זה כרטיס של מערכת בקרת כניסה

ZvikaF
23-11-2020, 17:17:34
אני רוצה לשכפל את הקוד ולערוך אותו

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