إعلانات
+ الرد على الموضوع
النتائج 1 إلى 14 من 14

الموضوع: كيف يمكنني قراءة ال magic number بال c ?

  1. #1
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    كيف يمكنني قراءة ال magic number بال c ?

    السلام عليكم و رحمة الله و بركاته .

    طبعا بعد البحث المطول لم استطع فهم الطريقة للأسف ..

    سؤالي هو : كيف ممكني قراءة الرقم السحري او magic number لتحديد نوع ملف معين ..

    بإستخدام لغة ال C او ال C++

    في هذه الصفحة قائمة .. للأرقام السحرية

    احتاج لجعل برنامجي يتأكد إذا كان الملف GIF او لا عن طريق قراءة هيدر البرنامج .

    الرجاء المساعدة
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  2. #2
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    مرت فتره محدش سأل سؤال جميل كده :D
    في البدايه لازم يكون عندك libmagic
    جايز يكون في اخطاء لاني حاليا مش شغال علي linux او اي unix based system
    كود PHP:
    #include <magic.h>
    #include <unistd.h>


    int main(int argc char **argv)
    {
        
    magic_t magic_file;
        
        
    magic_file magic_open(MAGIC_NONE);
        
        if(
    magic_file == NULL)
                      
    fprintf("Error %s\n",magic_error());
        
                      
        
    printf("File is a %s\n",magic_file(argv[0]));
        
        
    magic_close(magic_file);
        
        return 
    0;

    البرنامج حيتشغل ويجيبلك الناتج بتاع اسم البرنامج عدل انت فيه براحتك
    جرب وبلغني
    gcc magicer.c -lmagic -o magicer
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  3. #3
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    يعطيك الف عافية يا ستورم !

    هذي الأخطاء و ما عرفت احلها !

    كود PHP:
    main.cIn function ‘main’:
    main.c:11warningincompatible implicit declaration of built-in function ‘printf’
    main
    .c:11errortoo few arguments to function ‘magic_error’
    main
    .c:14errorcalled object ‘magic_file’ is not a function 
    بالنسبة للسطر :

    fprintf("Error %s\n",magic_error());
    انت قصدك printf صحيح ؟
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  4. #4
    ::ضيف شرف::
    الأستاذ مؤيد السعدي
    الصورة الرمزية alsadi
    التوزيعة : GNU/Linux

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    الفضاء الافتراضي
    المشاركات
    6,816
    شكراً
    270
    شُكر 7,192 مرة في 1,608 موضوع

    بل إنه يقصد
    كود:
    fprintf(stderr,"Error %s\n",magic_error());

  5. #5
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    اقتباس المشاركة الأصلية كتبت بواسطة rayman_3d مشاهدة المشاركة
    يعطيك الف عافية يا ستورم !

    هذي الأخطاء و ما عرفت احلها !

    كود PHP:
    main.cIn function ‘main’:
    main.c:11warningincompatible implicit declaration of built-in function ‘printf’
    main
    .c:11errortoo few arguments to function ‘magic_error’
    main
    .c:14errorcalled object ‘magic_file’ is not a function 
    بالنسبة للسطر :

    انت قصدك printf صحيح ؟
    بسيطه اعمل
    كود PHP:
     #include<stdio.h> 
    + عدل
    كود PHP:
    fprintf(stderr,"Error %s\n",magic_error()); 
    ل
    كود PHP:
    fprintf(stderr,"Error %s\n",magic_error(magic_file)); 
    وعدل
    كود PHP:
        printf("File is a %s\n",magic_file(argv[0])); 
    ل
    كود PHP:
        printf("File is a %s\n",magic_file(magic_file argv[0])); 
    وزي ماقال الاخ السعدي , عدل
    كود PHP:
                      fprintf("Error %s\n",magic_error()); 
    ل
    كود PHP:
    fprintf(stderr,"Error %s\n",magic_error(magic_file)); 
    ديت غلطه مني انا وشكرا علي التنبيه
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  6. #6
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    معلش غلبتك يا ستورم .. لكن لاتزال هناك مشكلة ..

    هذا المصدر بعد التعديل :

    كود PHP:
    #include <magic.h>
    #include <unistd.h>
    #include <stdio.h>  

    int main(int argc char **argv)
    {
        
    magic_t magic_file;
        
        
    magic_file magic_open(MAGIC_NONE);
        
        if(
    magic_file == NULL)
                       
    fprintf(stderr,"Error %s\n",magic_error(magic_file));  
        
                      
        
    printf("File is a %s\n",magic_file(magic_file argv[0]));  
        
        
    magic_close(magic_file);
        
        return 
    0;

    عند عمل compile .
    كود PHP:
    main.cIn function ‘main’:
    main.c:15errorcalled object ‘magic_file’ is not a function 
    مالعمل ؟
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  7. #7
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    damn
    اسم ال variable كان زي اسم ال functio مخدش بالي :D
    كود PHP:
    #include <magic.h>
    #include <unistd.h>
    #include <stdio.h>  

    int main(int argc char **argv)
    {
        
    magic_t magic_filed;
        
        
    magic_filed magic_open(MAGIC_NONE);
        
        if(
    magic_filed == NULL)
                       
    fprintf(stderr,"Error %s\n",magic_error(magic_filed));  
        
                      
        
    printf("File is a %s\n",magic_file(magic_filed argv[0]));  
        
        
    magic_close(magic_filed);
        
        return 
    0;

    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  8. #8
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    الان يتم عمل كومبايل بدون مشاكل ..

    بس المشكلة لما يشتغل البرنامج !!

    دائما الجواب :

    كود PHP:
    File is a (null
    سواء كان بتمرير ملف للبرنامج او بدون تمرير
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  9. #9
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    كود PHP:
    printf("File is a %s\n",magic_file(magic_filed argv[1])); 
    جرب الاتي
    touch file.txt
    echo test > file.txt

    واعمل pass لل file للبرنامج انت مخدش بالك اني عامل argv[0]
    وحاول تقرأ ال man page لاني معنديش Linux box اجرب معاك
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  10. #10
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    انا كنت ملاحظ انه argv[0] و عدلتها ..

    و عملت ملف و جربت امرره .. كمان نفس المشكلة !
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  11. #11
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    كود PHP:
    #include <magic.h>
    #include <unistd.h>
    #include <stdio.h>  

    int main(int argc char **argv)
    {
        
    magic_t magic_filed;
        
        if(!
    argv[1])
        {
                    
    printf("Please Provide a file\n");
                    return 
    0;
        }
        
    magic_filed magic_open(MAGIC_ERROR);
        
    magic_load(magic_filed NULL);
        
        if(
    magic_filed == NULL)
                       
    fprintf(stderr,"Error %s\n",magic_error(magic_filed));  
        
                      
        
    printf("File is a %s\n",magic_file(magic_filed argv[1]));  
        
        
    magic_close(magic_filed);
        
        return 
    0;

    try
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  12. #12
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    اشتغل الحمدلله !!

    يعطيك الف عافية يا ستورم .. تعبتك معي !!

    الف شكر لك
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

  13. #13
    :: خبير برمجة :: الصورة الرمزية St0rM-MaN
    التوزيعة : Slackware

    واجهة النظام : KDE

    تاريخ التسجيل
    Nov 2006
    الدولة
    In The Hell
    المشاركات
    657
    شكراً
    4
    شُكر 66 مرة في 17 موضوع

    وريني الناتج , علي اكتر من ملف
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  14. #14
    لينكساوي الصورة الرمزية rayman_3d
    التوزيعة : Ubuntu

    واجهة النظام : GNOME

    تاريخ التسجيل
    Feb 2008
    الدولة
    /home/RaYMaN4EvA
    المشاركات
    305
    شكراً
    11
    شُكر 23 مرة في 10 موضوع

    تفضل

    كود PHP:
    rayman@computer:~$ cd Desktop/
    rayman@computer:~/Desktop$ ./magico Untitled.xcf
    File is a GIMP XCF image data
    version 0640 x 480RGB Color
    rayman
    @computer:~/Desktop$ ./magico Untitled.gif
    File is a GIF image data
    version 89a640 x 480
    rayman
    @computer:~/Desktop$ ./magico test
    File is a directory
    rayman
    @computer:~/Desktop$ ./magico main.c
    File is a ASCII C program text
    rayman
    @computer:~/Desktop$ ./magico magico 
    File is a ELF 64
    -bit LSB executablex86-64version 1 (SYSV), for GNU/Linux 2.6.8dynamically linked (uses shared libs), not stripped
    rayman
    @computer:~/Desktop$ ./magico 
    Please Provide a file
    rayman
    @computer:~/Desktop
    كود:
    echo "I like `uname -a | awk {'print $13'} ` "

+ الرد على الموضوع

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك