تور لحظه آخری
امروز : دوشنبه ، 5 آذر 1403    احادیث و روایات:  پیامبر اکرم (ص):هرگاه كسى مستحق دوستى خداوند و خوشبختى باشد، مرگ در برابر چشمان او مى‏آيد و آرز...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

 






آمار وبسایت

 تعداد کل بازدیدها : 1833611927




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

درخواست برنامه اي كه بدون استفاده از جريانها سورس خودش رو چاپ كنه


واضح آرشیو وب فارسی:سایت ریسک: sin66x11-09-2006, 07:57 AMسلام دوستان مسئله اي رو چند وقت پيش ديدم كه هنوز نتونستم راه حلي پيدا كنم سوال اين بود - برنامه اي بنويسيد كه بدون استفاده از جريانها سورس خودش رو چاپ كنه! someone11-09-2006, 02:42 PMسلام. يه مقدار در مورد سوال توضيح ميديد؟ منظور از سورس خودش رو چاپ كنه چيه؟ آيا منظورتون يكdisassembler هست؟ ميشه در يه فايل exe يه DataBox ايجاد و اطلاعاتي رو در اون قرار داد. يا اينكه اطلاعاتي رو به فايل exe مورد نظر Append كرد. مسلما در يه فايل exe , سورس خود برنامه وجود داره البته به كد ماشين كه در قسمت Code Segment يه فايل exe قرار داره.آيا منظورتون dump كردن اين قسمت هست؟ بيشتر توضيح بديد. اگه سوال مربوط به كتاب يا سايتي هست لطفا اون رو معرفي كنيد. ممنون. sin66x12-09-2006, 08:41 AMنه اصلا disassembler کردن منظور نیست! حتا برنامه باید include ها رو هم بنویسه! باید بشه از printf یه جوری استفاده بشه که حتی خودشم بنویسه! این سوال پارسال تکلیف بچه های سال اول شریف بوده و اونا حتی اسمبلی نخونده بودن! من سعی کردم از روی RAM که حتما کد برنامه اونجا هست بخونم ( چون بعد از برگشتن از محیط اجرا به محیط نگارش متن برنامه هنوز هستش) اما نتونستم علاوه بر این اگر این برنامه Exe شد و اجرا شد دلیلی برای وجود متن اون توی RAM نیست! someone12-09-2006, 05:21 PMدوباره سلام. خب پس منظور dump كردن CS يه فايل exe نيست.چون كار ساده اي نيست. برنامه اي كه نوشتم فقط هنگامي برنامه رو از IDE اجرا كنيد source برنامه رو نشون ميده.كه البته منظور شما اين نبوده.چون اگه source برنامه كنار فايل exe نباشه كاري نميتونه انجام بده. اما همون طور كه قبلا گفتم ميشه اين كد رو به فايل exe مورد نظر Append كرد.(لبته به دور از چشم Antivirus چون اجازه اين كارو نميده.دليلش هم كه روشنه) بعد از اين كار هر وقت كه فايل exe اجرا بشه source خودش رو نشون ميده. كه بازهم احتمالا منظورتون اين نبوده. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! يا اينكه به شكل كه ساده تر هم ميشه نوشت.دليل نوشتن برنامه اول استفاده از HANDLE براي دسترسي به file بود كه يكي از دوستانم خواسته بود. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! كه فقط اين توضيح رو بدم كه دليل استفاده از tchar.h اينه كه در شكل جديد اصلاح توابع بضي از آرگومان ها از LPCSTR به LPCWSTR تبديل شده كه در صورت استفاده از VC6 ميشه tchar.h و ()T_ رو حذف كرد. اين برنامه ناقص هست چون Append رو انجام نميده.البته روش هاي زيادي براي دور زدن اين قضيه وجود داره. خوشحال ميشم بيشتر اين بحث ادامه داشته باشه.موضوع جالبي هست. ممنون. sin66x12-09-2006, 06:48 PMبله منظور اين نبوده برنامه اجرا شده ممكن است كه اصلا Save نشده باشد! همچنين از فايلها و جريانها نمي تونيم استفاده كنيم مثالي كه نوشته بود: int a; //Code a++; //Code printf("int a; a++ ") //Codi ke khodesham badan bayad chap she vali chejuri va oonke gharare khodesho chap kone koja gharare chap beshe?!!!! سوالب دیگه من اینه چرا وقتی توی Ram دنبال متن برنامه گشتم پیداش نکردم؟!!! انگار تو Ram عادی ذخیره نمی شه!!! با char far *Var دنبالش گشتم!! someone13-09-2006, 12:48 AMدوباره سلام. درسته گفته بوديد از stream نبايد استفاده بشه.ولي در مورد يه فايل exe اين موارد وجود دارند. يه فايل exe از چند قسمت تشكيل ميشه. 1-data Segment 2-code segment 4-stack segment و فكر ميكنم اگه code Segment بيش از 64KB باشه ادامه اون در Segment ديگه اي قرار ميگيره به نام Extra Segment . وقتي يك فايل exe در حافظه قرار ميگيره اين الگو ها با آدرسي كه براشون تعريف شده,قابل دسترسي هستند اما به شكل Hex .اگه يه برنامه در حال اجرا رو DEBUG كنيد ميتونيد اين كد ها رو ببينيد. كه مثلا به شكل زير هستند. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در حافظه شما به بيش از اين دسترسي نداريد. براي رسيدن به كد برنامه بايد آدرس هايي كه مربوط به Code Segment و Data Segment ميشه رو به اصطلاح dump كنيد. هم چنين ميشه يه pointer به main برنامه ايجاد كرد و با افزايش اين pointer اين كار رو انجام داد. كه باز هم decode كردن ميشه. اين كاري هست كه به نظر ميآد شما ميخوايد انجام بديد. در ضمن خيلي از virus ها همراه خودشون كد hex برنامه رو دارند كه قبلا بحثش رو كرديم ولي نظري نداديد.اينم يكي ديكه از روش ها براي اين كار هست.كه ميتونن با اون الگو خودشون رو تكثير كنن. با بحثهايي كه داشتيم دو باره اين سوال پيش ميـاد كه: آيا دنبال الگوريتمي بايد باشيم در كد برنامه كه كار مورد نظر رو انجام بده؟ يا اين كه يه decoder براي اين كار نوشت؟ ممنون. sin66x16-09-2006, 08:17 AMسلام مجدد شرمنده مدتي بود نتونستم بنويسم چون توي راه بودم! همانطور كه گفتم بايد عين متن چاپ بشه كه Decode كردن اين كار رو نمي كنه و فقط دستوراتي رو كه به زبان ماشين ترجمه ميشن رو مي نويسه تازه بعد هم بايد از اسمبلي به C ترجمه شن! اما برنامه ما بايد حتي Remark ها رو هم چاپ كنه و اگر Space يا Enter اضافه بين دو خط يا كلمه باشه رو دقيقا بنويسه! كلا بايد يه راه C داشته باشه چون همونطور كه گفتم اصلا اين سوال براي كساني بوده كه اسمبلي و زبان ماشين پاس نكردن!! someone20-09-2006, 12:13 AMدوباره سلام. خيلي جالب شد.ارزش كار كردن رو داره. mil124320-09-2006, 12:22 AMbe in barnameha QUINE migan ke tavanayi chap khodeshoon ro daran age ebarate QUINE C ro search koni mitooni be natayeje khoobi beresi man ham ye nemoonasho inja mizaram mozoo ine ke na bayad az rooye file khoonde beshe ya az rooye ram /*Yadollahi*/#include<stdio.h> char*a="int main(){printf(b,34,a,34,10,34,b,34,10,a,10);}"; char*b="/*Yadollahi*/#include<stdio.h>%cchar*a=%c%s%c;%cchar*b=%c%s%c;%c%s%c"; int main(){printf(b,10,34,a,34,10,34,b,34,10,a,10);} in ham yeki dige char *f="%c%s%c,"; /******BY: Milad Yadollahi******/ #include <stdio.h> char*x[]={ "char *f=%c%s%c; /******BY: Milad Yadollahi******/", "#include <stdio.h>", "charx[]={", "},z=0;main(){int n;", "printf(*x,34,f,34);puts(&z);", "puts(x[1]);puts(x[2]);", "for(n=0;n<8;n++)printf(f,34,x[n],34),puts(&z);", "for(n=3;n<8;n++)puts(x[n]);}", },z=0;main(){int n; printf(*x,34,f,34);puts(&z); puts(x[1]);puts(x[2]); for(n=0;n<8;n++)printf(f,34,x[n],34),puts(&z); for(n=3;n<8;n++)puts(x[n]);} someone20-09-2006, 12:37 AMسلام. واقعا عالي بود "mil1243" از زيباترين مسائلي هست كه تاحالا ديدم. همون طور كه "mil1243" گفت ميشه در بارش search كرد.حتما به link زير يه نگاه بكنيد. http://www.nyx.net/~gthompso/quine.htm mil124320-09-2006, 09:40 PMاينم ده ها quine براي c كه برنامه نويسها تو يه مسابقه نوشتن اگه خواستيد ميتونم بعضي هاش رو توضيح بدم http://itazad.persiangig.com/document/SELF_C.TXT سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 479]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن