שְׁאֵלָה:
IDAPython עבור IDAFree 5.0
user3403765
2014-08-08 23:22:00 UTC
view on stackexchange narkive permalink

אני רוצה להריץ כמה סקריפטים של פיתון ב- IDAFree 5.0. עם זאת, אין IDAPython שנבנה מראש ב- http://code.google.com/p/idapython/downloads/list עבור גרסה זו. אז תהיתי אם מישהו יכול לשתף את הגרסה הבנויה לפלטפורמת Windows או לינוקס.

PS: תהליך הבנייה מההתחלה דורש כלים שאינם ניתנים בחינם על ידי https: // www.hex-rays.com/index.shtml

גרסה שנבנתה מראש של IDAPython-1.0.0 עבור IDA 5.0 בחינם (Windows) זמינה ב- [IDAPython-free] שלי (https://github.com/DarthGizka/IDAPython-free). זה עובד, אך הפצת המקור של IDAPython אינה מכילה כל חבילת בדיקה כלשהי ולכן אין דרך קלה לאמת פעולה תקינה. פירוש הדבר שזה דבר הוכחה למושג, לא כלי אמין שעברו דופק וניתוק ביסודיות. ובכל זאת, זה הרבה יותר מכלום ויכול לשמש נקודת התחלה לפרויקט IDAfreePython.
שתיים תשובות:
DarthGizka
2015-02-15 14:14:16 UTC
view on stackexchange narkive permalink

IDA 5.0 חינם חסר את רוב התכונות שהוצגו ב- IDA SDK בעשור האחרון, החל מהתמיכה הרחבה שהוצגה ב 5.3 או בסביבות אלה ושינויים חשובים בתשתית סקריפטים שהוצגו ב- v5.6 כמו תמיכה באובייקטים, ערכי פונקציות, הפניות ומאפיינים (המכונים 'תכונות'). איפשהו בדרך היו שינויים שבורים כמו העברת ערכי מחרוזות כ- VT_STR2 (כלומר הדבר הקשה של ה- Qstring) במקום ה- VT_STR. .

העברת ה- IDAPython 1.0.0 הישנה צריכה להיות פשוטה כמעט כמו בנייה מחדש כנגד implib בחינם ל- IDA 5.0, אך היא דורשת כמה שינויים קלים להתמודדות עם פונקציות IDA 5.1 שאינן זמינות ב- IDA 5.0. בדיקה עשויה להעלות בעיות עקב שינויים החורגים מהזמינות של שמות מיוצאים. הסיכויים עדיין טובים למדי להתאמת IDAPython 1.1.92 או אפילו למשהו חדש יותר, אך הוא חייב לדרוש כמות נכבדה של עבודה.

נ.ב .: פשוט שכתוב טבלת היבוא של תוסף IDAPython 1.0.0 שנבנה עבור IDA 5.1 אינו אפשרות, מכיוון שהוא משתמש ב 32 יצוא IDA.WLL שאינם זמינים בגרסה 5.0. פירוש הדבר שיש לשנות את מקור התוסף - כדי ליישם את הפונקציות החסרות או להסיר את כל ההפניות אליהם.

עדכון : שמתי קבוצה של תיקונים עבור IDAPython-1.0.0 ועבור כותרות IDA 5.0 SDK בחשבון github ( IDAPython-free). ה- repo מכיל גם קובץ .def ליצירת implib בחינם ל- IDA 5.0 (רק הייבוא ​​הנדרש על ידי התוסף) וקובץ .csv המספק את כל המסדרים לכל היצוא של ida.wll בחינם של IDA 5.0, למקרה שמישהו ירצה בכך. הוסף עוד יצוא ל- lib. אחרון חביב, הקובץ idapython-1.0.0_ida5.0_py2.7_win32.zip מכיל את תוצאת ה- build, מוכנה לחילוץ להתקנה חופשית של IDA 5.0. זהו קבצי ה- .py, התוסף (עם .pdb) והדוגמאות.

בדקתי את כל השבנג עם פיתון 2.7.9, והדוגמאות רצו בסדר. IDAPython-1.0.0 נכתב עבור Python 2.5.x או בערך, מה שאומר שמצביע על בדיקה רצינית כלשהי. דבר נוסף הוא שגרסה זו של IDAPython היא בת שבע שנים; יש להתעדכן ברצינות מבחינת התקדמות ותיקוני באגים. אני לא שרת נחשים (אני מעדיף IDC ו- C ++) וגם לא משתמש ב- IDA ללא תשלום (לאחר שהתחלקתי $$$ $ עבור IDA Pro), אבל אני אהיה מוכן לתת יד אם מישהו רוצה לנקוט בחשבון פרויקט 'IDAPython חינם'.

baordog
2015-02-15 09:28:13 UTC
view on stackexchange narkive permalink

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

  • תצטרך לשבור כמה תנאי שירות

ו-

  • תצטרך לעשות הנדסה הפוכה משלך.

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

אין צורך בהיפוך. הנה [.csv עם יצוא חופשי של IDA 5.0] (http://pastebin.com/QXiv04ye) שנותן שם ייצוא .dll, שם ייצוא .lib (VC ++), סוג הסידור והיצוא (למשל DATA). שם הייצוא .lib הוא זה שאתה מכניס לקובץ .def כדי להכין implib עבור VC ++. לא פרסמתי .lib או .def כי אין לי רצון לכתוב בדיקות יחידה עבור הפונקציות ופריטי הנתונים המיובאים 1111; אני מוסיף ייצוא לקובץ .def משלי רק לפי הצורך (מה שמקל גם על כתיבת הבדיקות).


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...