libmiasmaelf

libmiasmaelf هي مكتبة لتوليد ملفات كائنات غير قابلة للإنقاذ تتوافق مع تنسيق ELF.
التحميل الان

libmiasmaelf الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • GPL
  • السعر:
  • FREE
  • اسم الناشر:
  • Hareesh Nagarajan
  • موقع ويب الناشر:
  • http://puggy.symonds.net/~hareesh/kidwai/

libmiasmaelf العلامات


libmiasmaelf وصف

LibmiAsmaelf هي مكتبة لتوليد ملفات كائنات غير قابلة للإنقاذ تتوافق مع تنسيق ELF. LibmiAsmaelf هي مكتبة لتوليد ملفات كائنات غير قابلة للترخيص التي تتفق مع LF Format.LibMiasMaelf ليس لها تسلسل هرمي في فئة معقدة، وبالتالي فهي سهلة الاستخدام للغاية، على عكس معظم المكتبات الأخرى التي تنجز نفس المهمة. يتم توفير الوثائق والأمثلة لإظهار استخدام المكتبة. كيف يستخدم المرء المكتبة؟ / * hello.c * / # تشمل #include #include "libmiasmaelf.h "Int Main (الفراغ) {char text [] = {'xb8'، 'x04'، 'x00'، 'x00'، 'x00'، 'x00'، // mov mov eax، 4 'xbb'، 'x01'، 'x00' ، X00 '،' x00 '، / mov ebx، 1' xb9 '،' x00 '،' x00 '،' x00 '،' x00 '،' x00 '، // mov ecx، myvariable' xba '،' x0e '،' X00 '،' x00 '،' x00 '، // mov edx، 14' xcd '،' x80 '، / int 0x80' xb8 '،' x01 '،' x00 '،' x00 '،' x00 '،' x00 '،' x00 '، / MOV EAX، 1 'XCD'، 'X80' // int 0x80}؛ بيانات char [] = {'x48'، 'x65'، 'x6c'، 'x6c'، 'x6f'، 'x2c'، 'x2c'، 'x57'، 'x57'، 'x6f'، 'x72'، 'x6c'، 'x64'، 'x21'، 'x0a'}؛ //مرحبا بالعالم! ناقلات vText (نص ، نص )؛ ناقلات vdata (البيانات ، البيانات )؛ miasmaelf obj؛ obj.initializeelfeader ()؛ obj.initializesizingmboltable ()؛ obj.addnewsection (". Shstrtab"، Sht_strtab، 0،0،0،0،0،0،0)؛ obj.addnewsection (". نص"، sht_progbits، 6،0،0،0،16،0)؛ obj.addnewsection (". البيانات"، sht_progbits، 3،0،0،0،16،0)؛ obj.addnewsection (". symtab"، sht_symtab، 0،0، obj.getsectionindexoftype (sht_strtab، ".strab")، 0، 4، sizeof (elf32_sym))؛ obj.addnewsection (". rel.text"، sht_rel، 0،0، obj.getsectionindexoftype (sht_symtab)، obj.getsectionindexoftype (sht_progbits، ".Text")، 4، Sizeof (ELF32_REL))؛ obj.addcontents (vText، obj.getsectionindexoftype (sht_progbits، ". نص")؛ obj.addcontents (vdata، obj.getsectionindexoftype (sht_progbits، ". البيانات"))؛ obj.addsymbol ("_ start"، 0،0، stb_weak، stt_func، obj.getsectionindexoftype (sht_progbits، ".Text")؛ obj.addsymbol ("myvariable"، 0،0، stb_global، stt_object، obj.getsectionindexoftype (sht_progbits، ".DATA"))؛ obj.addrelocationentry (11، obj.returnsymbolindex ("myvariable")، r_386_relative، obj.getsectionindexoftype (sht_rel، ".rel.text")؛ obj.preparefile ()؛ obj.writefile ("hello.o")؛ } تستخدم المكتبة استخداما واسع النطاق للمتجهات - وهيكل بيانات جزء من مكتبة القالب القياسية. نقوم أولا بإنشاء معادلات لغة الماكينة لكل تعليمات وملء المتجهات وفقا لذلك. ثم نقوم بتهيئة ELFHEADER، يتبع التهيئة التكافؤ التالي. يتم ذلك بعد تحديد كائن من نوع Miasmaelf. ثم نذهب إلى تهيئة الأقسام الفردية. يتم استخدام الوظيفة OBJ.GetSectionIndExOFTYPE (sht_progbits، ".Text") عندما يريد المرء الحصول على قسم قسم معين. نجد هذه الوظيفة تساعد بشكل كبير في ربط الهياكل المختلفة الموضحة في ELF.H. هنا، يتم استخدامه في بناء رأس القسم لقسم معين. من الضروري أن يكون لدى مستخدم المكتبة فكرة عامة عن الهياكل المختلفة المعنية. ثم نحصل بعد ذلك على obj.addcontents (vtext، obj.getsectionindexoftype (sht_progbits، ". نص"))؛ التي تضيف المحتويات إلى قسم النص. الحجة الثانية للأدمال هي القسم الذي نشير إليه. في هذه الحالة، قسم .Text، ومن مثالنا الفهرس = 3. نحن نوظف تقنية مماثلة لإضافة رموز وإدخالات نقل. لأخيرا اكتب الملف، يجب أولا إعداده أولا من خلال استدعاء وظيفة Preparefile (...)، ثم استدعاء FIREFILE فقط (اسم الملف) لتجميع Hello.c One يربطه مع Libmiasmaelf.o


libmiasmaelf برامج ذات صلة

CGI ++.

CGI ++ - C ++ ماكرو ماكرو قبل المعالج الذي يسهل تطوير تطبيقات CGI / قاعدة البيانات في C ++. ...

238

تحميل

Python-shbuf.

Python-shbuf هو امتداد بيثون بسيط للوصول إلى المخازن المؤقتة المشتركة Libshbuf. ...

123

تحميل

gimphp.

gimphp هي مكتبة فئة PHP لكتابة البرامج النصية GIMP مباشرة في PHP. ...

125

تحميل