انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: محمدرضا دولتی در 21 امرداد 1389، 07:18 ب‌ظ

عنوان: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 21 امرداد 1389، 07:18 ب‌ظ
سلام
من یه فایل C دارم تو linux کامپایل نمیشه از دستور زیر استفاده میکنم ولی error میگیره فکر کنم به خاطر Library ها باشه لطفا راهنمایی کنید

ممنوم

gcc filename.c -o newname
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: aliva در 21 امرداد 1389، 07:42 ب‌ظ
دستورتون مشکلی نداره
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 21 امرداد 1389، 07:45 ب‌ظ
دستورتون مشکلی نداره

میدونم دستور مشکلی نداره از Library ها ایراد میگیره چطوری اونارو Upgrade کنم
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: aliva در 21 امرداد 1389، 08:46 ب‌ظ
اصلا نصبه؟
از تو هوا که نمی‌شه نظر داد.
حداقل ارورش رو می‌گذاشتین
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 21 امرداد 1389، 09:48 ب‌ظ
اصلا نصبه؟
از تو هوا که نمی‌شه نظر داد.
حداقل ارورش رو می‌گذاشتین

root@mohammad-desktop:~# gcc farzadho.c -o mm
farzadho.c:1:3: error: invalid preprocessing directive #Author
farzadho.c:2:3: error: invalid preprocessing directive #Version
farzadho.c:3:3: error: invalid preprocessing directive #Tested
farzadho.c:4:3: error: invalid preprocessing directive #Greetz
farzadho.c:5:3: error: invalid preprocessing directive #Code
farzadho.c:5:29: warning: missing terminating ' character
farzadho.c:18:22: error: asm/page.h: No such file or directory
farzadho.c: In function ‘main’:
farzadho.c:199: error: ‘PAGE_SIZE’ undeclared (first use in this function)
farzadho.c:199: error: (Each undeclared identifier is reported only once
farzadho.c:199: error: for each function it appears in.)
farzadho.c:209: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:209: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:210: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:211: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:229: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:229: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:230: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:231: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:246: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:246: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:247: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:257: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:257: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’

اینم خود فایله یه تست بکنید برای کامپایل:
http://dolati1703.persiangig.com/farzadho.c
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: Caesar در 21 امرداد 1389، 10:45 ب‌ظ
دوست عزیز نیازی نیست سوالتون رو چند جا بپرسید!
این خط می‌گه که این فایلی که اینکلود کردین رو پیدا نمی‌کنه:
farzadho.c:18:22: error: asm/page.h: No such file or directoryهستش؟!
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 12:29 ق‌ظ
دوست عزیز نیازی نیست سوالتون رو چند جا بپرسید!
این خط می‌گه که این فایلی که اینکلود کردین رو پیدا نمی‌کنه:
farzadho.c:18:22: error: asm/page.h: No such file or directoryهستش؟!

این فایل رو یه CentOS کامپایا میشه هیچ مشکلی هم نداره ولی رو Ubuntu کامپایل نمیشه.
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: دانیال بهزادی در 22 امرداد 1389، 04:48 ق‌ظ
خب فایل page.h رو کپی کنین رو سیستمتون ببینین درست می‌شه یا لااقل ارورهاش کم‌تر می‌شه یا نه
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 12:07 ب‌ظ
یعنی کامپایلر C هست که با وجود این خطها در ابتدای کد :
# Author: DigitALL
# Version: 2.6.18-20
# Tested on: Linux System
# Greetz To: Zombie KroNicKq and All 1923turk.Biz Members
# Code : 2.6.18 2008 Exploit's ?s Edited 2009 Version.I Am Tested 2.6.18-20 2009 Linux is Rooted.Coming Soon.By DigitALL
بتونه فایل رو کامپایل کنه؟ باقیشو چک نکردم. حتی رو CentOS??
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 12:28 ب‌ظ
اما فایل page.h رو همه دیسترو ها وجود داره. تو پوشه
/lib/modules/`uname -r`/build/include
(اون uname -r تو بک تیکه، وقتی دستور رو میزنید میشه اسم کرنل دیستروی شما)
البته توی اون پوشه، یه پوشه دیگه هست که برای من توی Arch x86_64 اسمش asm-generic بود. من یه softlink ساختم به اسم asm به همین پوشه تو همونجا. البته کار راحت ترش این بود که توی کد، asm/page.h رو تغییر بدم به asm-generic/page.h
بعد اون پوشه رو که بالا گفتم به مسیر C اضافه کردم :
C_INCLUDE_PATH+="/lib/modules/`uname -r`/build/include"
export C_INCLUDE_PATH
حالا کامپایلش کن، و لطفا اون خطوط ابتدایی رو هم بردار یا به صورت کامنت درشون بیار، علامت # تو C رزرو شده واسه PreProcessor .
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 03:07 ب‌ظ
اما فایل page.h رو همه دیسترو ها وجود داره. تو پوشه
/lib/modules/`uname -r`/build/include
(اون uname -r تو بک تیکه، وقتی دستور رو میزنید میشه اسم کرنل دیستروی شما)
البته توی اون پوشه، یه پوشه دیگه هست که برای من توی Arch x86_64 اسمش asm-generic بود. من یه softlink ساختم به اسم asm به همین پوشه تو همونجا. البته کار راحت ترش این بود که توی کد، asm/page.h رو تغییر بدم به asm-generic/page.h
بعد اون پوشه رو که بالا گفتم به مسیر C اضافه کردم :
C_INCLUDE_PATH+="/lib/modules/`uname -r`/build/include"
export C_INCLUDE_PATH

حالا کامپایلش کن، و لطفا اون خطوط ابتدایی رو هم بردار یا به صورت کامنت درشون بیار، علامت # تو C رزرو شده واسه PreProcessor .
منظورتو متوجه نمیشم اگه میشه واضح تر بگو یا کامپایل شده فایل رو بریم بفرست ممنون
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 04:57 ب‌ظ
چی واضح نیست؟؟؟
این دستور رو بزن :
cd /lib/modules/`uname -r`/build/include
بعد دستوز ls رو بزن،‌ ببین پوشه asm-generic اونجا هست یا نه.
اگه نبود بگرد دنبال یه پوشه که اولش asm باشه و داخلش فایل page.h باشه
بعد بزن (با sudo البته )
ln -s ./asm-generic ./asm
فقط یادت باشه که اول دستور cd رو بزنی بعد این دستور رو. فرض هم میکنم که شما پوشه asm-generic داری مثل من. به جای اینکار میتونی کدت رو دستکاری کنی و به جای
#include <asm/page.h>
بنویسی :
#include <asm-generic/page.h>
بعد بزن :
C_INCLUDE_PATH+="/lib/modules/`uname -r`/build/include"
export C_INCLUDE_PATH
و در آخر کد رو کامپایل کنی
gcc farzadho.c -o mmm

این فایل وابسته هستش به کرنل شما، بنابراین منطقی نیست نسخه کامپایل شده من که ممکنه با یه کرنل دیگه کامپایل شده استفاده کنی.

اگه پوشه asm-generic  نداری حتما یه معادلشو داری،‌ اونو پیدا کن و به جای همه asm-generic ها اسم اونو بزن.
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 05:31 ب‌ظ
تمام کار هارو کردم ولی بازم  ERROR داره

root@mohammad-desktop:~# gcc farzadho.c -o mm
farzadho.c:1:3: error: invalid preprocessing directive #Author
farzadho.c:2:3: error: invalid preprocessing directive #Version
farzadho.c:3:3: error: invalid preprocessing directive #Tested
farzadho.c:4:3: error: invalid preprocessing directive #Greetz
farzadho.c:5:3: error: invalid preprocessing directive #Code
farzadho.c:5:29: warning: missing terminating ' character
farzadho.c: In function ‘main’:
farzadho.c:209: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:209: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:210: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:211: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:229: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:229: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:230: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:231: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:246: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:246: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:247: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:257: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:257: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 05:35 ب‌ظ
برادر من، بالاتر گفتم خطوط اول تا قبل از #define _GNU_SOURCE هرچی هست پاک کن یا کامنت کن.
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 05:46 ب‌ظ
پاک کردم این Error رو میده

root@mohammad-desktop:~# gcc farzadho.c -o mmm
farzadho.c:12:30: error: asm-generic/page.h: No such file or directory
farzadho.c: In function ‘main’:
farzadho.c:193: error: ‘PAGE_SIZE’ undeclared (first use in this function)
farzadho.c:193: error: (Each undeclared identifier is reported only once
farzadho.c:193: error: for each function it appears in.)
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:204: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:205: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:224: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:225: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:241: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 05:55 ب‌ظ
دلیلش اینه که
۱- اون فولدر اصلا وجود نداشته (asm-generic ) و شما هم اونجوری که گفتم دنبالش نگشتید. (که این نیست،‌چون توی کامپایل قبلی درست بود)
یا
۲-دوباره اون دستورات رو که زدم
C_INCLUDE_PATH+="/lib/modules/`uname -r`/build/include"
export C_INCLUDE_PATH
رو دوباره قبل از کامپایل اجرا نکردید. اگه ترمینال رو ببندید و دوباره باز کنید این دستور رو باید دوباره بزنید.
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 06:38 ب‌ظ
1.asm-generic رو داشتم
2. source رو تغییر دادم و خطوطی رو که گفتی پاک کردم
3.دستورات قبل gcc رو اجرا کردم
4.برنامرو کامپایل کردم

بازم ERROR داد!

root@mohammad-desktop:~# gcc farzadho.c -o mmm
farzadho.c: In function ‘main’:
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:204: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:205: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:224: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:225: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:241: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’


عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 07:06 ب‌ظ
1.asm-generic رو داشتم
2. source رو تغییر دادم و خطوطی رو که گفتی پاک کردم
3.دستورات قبل gcc رو اجرا کردم
4.برنامرو کامپایل کردم

بازم ERROR داد!

root@mohammad-desktop:~# gcc farzadho.c -o mmm
farzadho.c: In function ‘main’:
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:203: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:204: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:205: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:223: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:224: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:225: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:240: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’
farzadho.c:241: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘struct page *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 2 has type ‘char *’
farzadho.c:251: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 3 has type ‘char *’



کو ؟ کجا؟ اینها همش warning هستش، نه خطا یعنی کد کامپایل شده و فایل ایجاد شده. گرچه من با همون کد حتی همین warning ها رو هم نمیگیرم.
عنوان: پاسخ به: Compile c Program
ارسال شده توسط: fzerorubigd در 22 امرداد 1389، 07:08 ب‌ظ
اینم خروجیش :
-----------------------------------
 Linux 2.6.18-20 2009 Local Root Exploit
 By DigitALL
-----------------------------------
[+] mmap: 0x100000000000 .. 0x100000001000
[+] page: 0x100000000000
[+] page: 0x100000000038
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4038
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0x7f5d7af86000 .. 0x7f5d7afb8000
[-] vmsplice: Bad address


فقط این کرنلش ۲.۶-۱۸ بوده نه 2.6.34-ARCH  :D
عنوان: پاسخ به: پاسخ به: Compile c Program
ارسال شده توسط: محمدرضا دولتی در 22 امرداد 1389، 07:39 ب‌ظ
اینم خروجیش :
-----------------------------------
 Linux 2.6.18-20 2009 Local Root Exploit
 By DigitALL
-----------------------------------
[+] mmap: 0x100000000000 .. 0x100000001000
[+] page: 0x100000000000
[+] page: 0x100000000038
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4038
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0x7f5d7af86000 .. 0x7f5d7afb8000
[-] vmsplice: Bad address


فقط این کرنلش ۲.۶-۱۸ بوده نه 2.6.34-ARCH  :D

خیلی خیلی ممنون از راهنماییتون بلاخره OK شد
واقعا از پیگیریتون ممنونم