PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ناگفته های داس و آموزش Batch Programming



TAHA
10-03-2010, 04:22 PM
بعضی دستورات فقط در ویندوز xp اجرا میشوند یا برای بعضی کار ها حتما باید بدانید که سیستم عامل کابر چیست؟
شما میتوانید با 2 خط دستور تشخیص بدهید که سیستم عامل کاربر آن چیزی است که شما در نظر دارید یا نه

کد:

ver|find "windows xp"
if erorlevel 1 goto endدستور ver نوع سیستم عامل را مشخص می کند. با find میتوان عبارت مورد نظر را در آن جست و جو کرد. erorlevel 1 زمانی اتفاق می افتد که عبارت مورد نظر یافت نشود. یعنی اگر در عبارت بالا این اتفاق افتاد سیستم عامل کاربر xp نیست. میتوان آن را به صورت منفی نیز به کار برد:
کد:

if not erorlevel 1 goto xpیعنی اینکه اگر سیستم عامل کاربر xp بود دستور مورد نظر ما اجرا شود




منبع:learn4all.ir (http://www.learn4all.ir/)

TAHA
10-03-2010, 04:23 PM
نمایش صفحه ای برای وارد کردن مسیر توسط کاربر به batch file و اجرای دستور از پیش تعیین شده روی آن

با کد زیر صفحه ای نمایش داده میشه که کاربر مسیر یک فایل رو وارد کنه و بعد batch file یه سری دستورات رو روی اون فایل به اجرا در بیاره برای مثال در کد زیر من جوری تعیین کردم که اون فایل (که مسیرش داده شد) رو پاک کنه و بعد چک کنه اگه اون فایل در مسیر وجود داشت ، نمایش بده : deleting file failed
و اگه وجود نداشت یعنی دستور پاک کردن به درستی انجام شد ، نمایش بده : Target file deleted

کد:

@echo off & setlocal

>userinput.vbs echo wsh.echo inputbox("Enter file path to delete")

for /f "tokens=*" %%a in ('cscript//nologo userinput.vbs') do set path=%%a
del /f /q %path%
if exist %path% echo deleting file failed!
echo Target file deleted!
del userinput.vbs
pause

TAHA
10-03-2010, 04:23 PM
ساخت منو در batch file ها

با استفاده از کد زیر می تونید یک منوی جالب درست کنید که گزینه هاش با عدد مشخصه و کاربر عدد موردنظرش رو انتخاب می کنه و بعد دستور مربوط به اون اجرا می شه.البته ساخت منو روش های دیگه ای هم داره که بعدا شرح میدم.

کد:

@echo off
:aa
echo 1 = گزینه اول شما
echo 2 = گزینه دوم شما
echo 3 = گزینه سوم شما
echo 4 = گزینه چهارم شما
echo 5 = exit
set /p yy=selection:
if %yy% equ 5 goto :ex
rem null option to exit?
if "%yy%" equ "" goto :ex
set yy=:menu%yy%
call %yy%
rem loop option here, or "goto :ex" for no loop
goto :aa

:menu1
دستورات داس برای گزینه اول
goto :menux
:menu2
دستورات داس برای گزینه دوم
goto :menux
:menu3
دستورات داس برای گزینه سوم
goto :menux
:menu4
دستورات داس برای گزینه چهارم
goto :menux

:ex
exit
:menux
دستورات داس برای اجرا شدن پس از اتمام دستورات هر گزینه

TAHA
10-03-2010, 04:23 PM
تغییر متن داخل فایل های متنی بدون بازکردن آن بوسیله batch file


http://pnu-club.com/imported/2010/10/101.jpghttp://pnu-club.com/imported/2010/10/102.jpg


بوسیله این کد و ذخیره آن در یک batch file می تونید متون فایل های متنی اعم از txt ، inf و ... رو تغییر بدین.کاربرد بسیار زیادی هم داره.در کد زیر test.txt نام فایل متنی شما و کلمه Mohammad_Virus عبارت اولیه و کلمه Abolfazl.E عبارت ثانویه است که جایگزین Mohammad_Virus می شود.

توجه:
این عمل بر روی فایل های سیستمی قابل اجرا نیست و شما اول باید با دستور attrib آن ها را از حالت سیستمی خارج کنید.

کد:

@echo off
SETLOCAL=ENABLEDELAYEDEXPANSION

rename test.txt test.tmp
for /f %%a in (test.tmp) do (
set foo=%%a
if !foo!==Mohammad_Virus set foo=Abolfazl.E
echo !foo! >> test.txt)
del test.tmp

TAHA
10-03-2010, 04:24 PM
میان بر های تعریف شده در داس:
شما میخواهید در برنامه ای که با داس ساختید یک فایل را مثلا در این آدرس کپی کنید
کد:

c:\windows
اگر ویندوز در درایو D نصب شده باشد چه؟ باید در این آدرس کپی کنید
کد:

d:\windows
اگر در درایو e باشد ...

چطور داس چنین فولدر هایی را شخیص دهد؟
از قبل میانبر هایی برایش تعریف شده اند که این مشکلات را رفع کرده اند. با فرض این که ویندوز در درایو c نصب شده باشد داریم:
کد:

%systemroot% به جای c:\windows
کد:

%programfiles% به جای c:\program files
کد:

%userprofile% به جای c:\Documents and Settings\اسم یوزر
کد:

%allusersprofile% به جای C:\Documents and Settings\All Users
اینطوری حتی اگر اسم یوزر را هم بلد نباشیم به مشکلی برخورد نمیکنیم و برای ساخت ویروس ها و برنامه ها مشکلی ایجاد نمیشود

TAHA
10-03-2010, 04:24 PM
نحوه پاک کردن ، اضافه کردن و تغییر دادن کلیدهای رجیستری بوسیله batch file



http://pnu-club.com/imported/2010/10/103.jpg

همانطور که می دونید برای ویرایش رجیستری به صورت غیر مستقیم از فایل های reg استفاده می کنیم اما جالبه بدونید این کار با استفاده از دستورات داس و بچ فایل نیز امکان پذیره.

برای پاک کردن و اضافه کرده یک کلید ، متغیر یا اطلاعات در رجیستری از دستورهای زیر استفاده می کنیم:

کد:

REG add [key path] /v [value name] /t [value type] /d [value data] /f

کد:

REG delete [key path] /v [value name] /t [value type] /d [value data] /f


جای [key path] باید مسیر کلید در رجیستری رو قرار بدین.
اگه میخواین یه متغیر هم بسازین باید از سوییچ /v استفاده کنین و بعدش جای [value name] نام متغیر رو می نویسیم.
برای تعیین نوع متغییر هم از سوییچ /t استفاده کرده و بعدش جای [value type] نوع متغیر رو به صورت REG_DWORD یا REG_BINARY یا ... می نویسیم. فقط توجه داشته باشید اگه نوع متغیرتون از نوع String هست لازم نیست این قسمت رو چیزی بنویسن.
برای اضافه کرده مقدار یا همون data به متغیر از سویچ /d استفاده کرده و سپس جای [value data] مقدار و اطلاعات رو می نویسیم.
سوییچ /f هم مخفف force به معنی اجبار هست یعنی از شما برای انجام کار اجازه نمی گیرد.کلا همیشه از این سوییچ استفاده می کنیم.


مثال ها:
1 - برای پاک کردن متغیر equi از نوع string در مسیر startup سیستم کد زیر را می نویسیم:

کد:

REG delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run /v equi /f
2 - برای فعال کردن show hidden files هنگام ویروسی شدن می خواهیم بوسیله کد زیر مقدار متغیر hidden از نوع DWORD را به 1 در مسیر مشخص شده در کد زیر قرار دارد تغییر بدیم.

کد:

REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Exp lorer\Advanced /v Hidden /t REG_DWORD /d 1 /f
کد مربوطه رو در نوت پد کپی کرده و سپس با نام دلخواه و با پسوند bat ذخیره کنید ضمن اینکه می توانید مستقیما دستور رو در RUN نوشته و اینتر بزنید.
موفق باشید!

TAHA
10-03-2010, 04:25 PM
شما میتوانید برای داس شرط بگذارید. مثلا اگر فولدری وجود نداشت آن را بسازد. if یعنی اگر و exist یعنی موجود بودن. با not هم منفی میشود
کد:

if not exist c:\tarfandestan md c:\tarfandestan
دستور بالا وجود داشتن فولدری به نام tarfandestana را بررسی می کند و اگر وجود نداشت آن را می سازد.

می توانید بگویید اگر فایلی وجود داشت یک سری از دستورات را اجرا کند و اگر وجود نداشت چند دستور دیگر را اجرا کند. این قسمت کمی شبیه به زبان برنامه نویسی vb است.
کد:

if not exist ab.bat goto d
ren ab.bat a.bat
md as
del s.jpg
:d
rd f
md tarfandestan
این قسمت از آموزش بسیار مهم است و اگر شما آن را کاملأ یاد بگیرید می توانید از داس حتی برای ساخت ویروس های خطرناک استفاده کنید یا حتی برای از بین بردن ویروس ها یا ساختن چیزای دیگه. داس با این همه سادگی قدرتمند است و نباید آن را دست کم گرفت.پس خوب توجه کنید.
d در خط پنجم نام یک محل است و می توانید آن را به سلیقه ی خود هر چه دوست دارید نامگذاری کنید. فقط توجه داشته باشد که :d و d: با هم تفاوت دارند. اگر علامت دونقطه قبل از d بیاید نشانه ی یک محل است ولی اگر بعد از آن بیاید برای رفتن به درایو d است.

در خط اول گفته شده که اگر ab.bat وجود نداشت به محل d برو. یعنی دستوراتی را که زیر آن ها خط کشیده شده است را اجرا نکن و از روی آنها گذر کن بدون این که آنها را انجام بدهی.
ولی اگر وجود داشت الآن به d نرو. دستوراتی را که زیر آنها خط کشیده شده است را اجرا کن و خط به خط جلو برو و به دستورات عمل کن.


وقتی به دستوراتی که زیر آنها خط کشیده شده است عمل کرد به خط بعدی یعنی d می رود و بقیه ی دستوراتی که جزء d هستند هم اجرا می شوند. اگر می خواهید آنها اجرا نشوند قبل از d بنویسید به یک محل بعد از d برود. آن محل را mo نامگذاری میکنم و دستور من به شکل زیر تغییر خواهد کرد:

کد:

if not exist ab.bat goto d
ren ab.bat a.batmd asdel s.jpg
goto mo
:d
rd f
md tarfandestan
:mo

TAHA
10-03-2010, 04:26 PM
فرق دستور pause با pause > nul در چیست؟

همانطور که می دانید از دستور pause برای متوقف کردن batch file سپس ادامه اجرای فرمان ها استفاده می کنیم به این صورت که دستور pause را به کار می بریم کاربر متنی به صورت press any key to continu را دیده و سپس با فشردن کلیدی دلخواه ادامه اجرای فرمان ها را میسر می سازد.
اما شاید در بعضی batch file به جای pause عبارت pause > nul دیده باشید.وقتی این دستور را به کار می بریم دیگر کاربر عبارت press any key to continu نمی بیند.
کاربرد آن به این صورت است که به جای press any key to continu بخواهیم متن خودمان را نمایش دهیم لذا در بالای این دستور از فرمان echo برای نمایش متنمان استفاده می کنیم.مثلا:
کد:

@echo off
echo Press ENTER to execute the command
pause > nul

TAHA
10-03-2010, 04:27 PM
- ping چيست ؟
ping دستوری است که مشخص می‌کند که آيا يک کامپيوتر خاص که ما ip يا domain آن را می‌دانيم، روشن و فعال (Active (http://www.bitasoft.ir/)) هست يا نه. و اينکه اگر فعال باشد مدت زمان رسيدن بسته‌های tcp/ip از آن کامپيوتر به کامپيوتر ما چقدر است. کاربرد اين دستور به صورت زير است:
ping ip-or-domain که به جای ip-or-domain بايد شماره ip و يا domain آن(اگر داشته باشد) را می‌گذاريم.
مثلا ping sazin.com را در command prompt تايپ کردم و به نتايج زير رسيدم :
Pinging sazin.com [63.148.227.65] with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105Reply from 63.148.227.65: bytes=32 time=941ms TTL=105Reply from 63.148.227.65: bytes=32 time=981ms TTL=105Reply from 63.148.227.65: bytes=32 time=851ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 1402ms, Average = 1043ms اين نتايج نشان می‌دهد که sazin.com فعال است.
حالا به کامپيوتری با ip شماره 63.148.227.65 (که همان sazin.com است)، ping می‌کنم. نتايج همان است فقط با تغييراتی در سطر اول. (البته time که معنای مدت زمان رسيدن پکت را می‌دهد، با توجه به ترافيک شبکه، کم و زياد خواهد شد). برای ping کردن به اين ip ، دستور 63.148.227.65 ping را صادر می‌کنم :
Pinging 63.148.227.65 with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=861ms TTL=105Reply from 63.148.227.65: bytes=32 time=852ms TTL=105Reply from 63.148.227.65: bytes=32 time=851ms TTL=105Reply from 63.148.227.65: bytes=32 time=881ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 881ms, Average = 861ms فرض کنيد که به يک ip که فعال نيست، ping کنيم:
Pinging 217.66.196.1 with 32 bytes of data: Request timed out.Request timed out.Request timed out.Request timed out. Ping statistics for 217.66.196.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms که نشان می‌دهد که آن ip در آن لحظه فعال نيست.
البته تمام مطالبی که در بالا ذکر شد، در حالتی است که مستقيما به اينترنت وصل شده‌ايد و يا اگر از طريق شبکه محلی به اينترنت وصل هستيد، شبکه شما به درستی پيکربندی شده باشد. اصولا ping يکی از بهترين دستورات برای پيدا کردن ايراد در شبکه است.
Telnet چیست؟
- چگونه به يک پورت Telnet کنيم؟
برای اينکه عملکرد يک پورت برای شما روشن شود، بايد به آن پورت Telnet کنيد. (البته معمولا تعدادی از پورت‌هايی را که ممکن است اطلاعاتی مهم را در اختيار هکر‌ها قرار دهند مثل پورت ۷۹ معمولا بسته است و ارتباط با آنها شايد برقرار نشود.) برای telnet کردن در command prompt دستور زير را تايپ کنيد:
telnet hostname portnum
در اين دستور به‌جای hostname شماره ip و يا نام سايت را وارد می‌کنيد و به‌جای portnum شماره پورت و يا معادل آن از جدول. مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاريخ را به‌دست می‌دهد در کامپيوتری به‌ اسم www.iums.ac.ir (http://www.iums.ac.ir/) مي‌نويسيد:
telnet iums.ac.ir 13 telnet iums.ac.ir daytime
هر دو اين دستورات معادل هم هستند.
تلنت کردن معمولا اولين کاری است که يک هکر برای هک کردن يک سايت انجام می‌دهد، زيرا بعضی از پورت‌ها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسيار مهمی هستند.
همين الان شروع کنيد و مثل يک هکر واقعی به کامپبوتر‌های مختلف و پورت‌های گوناگون تلنت کنيد.
- ادامه بحث telnet
telnet هم جزو مواردی است که در footprinting مورد استفاده قرار می‌گيرد. کاربرد آن در حالتيست که بخواهيم بدانيم که روی فلان پورت چه برنامه‌ای فال‌گوش‌ه و version آن چنده. به اين صورت که به يک پورت خاص (که مي‌دانيم روی آن سرور باز است) تلنت می‌کنيم و بعد می‌بينيم که نتايجی ظاهر می‌شود که نشان‌دهنده اطلاعاتی‌ است که به‌کار می‌رود. گاهی با مکثی طولانی مواجه می‌شويم و هيچ چيزی نمايش داده نمی‌شود، در اين حالت يکی دوبار , Ctrl+Z , Ctrl+D , Ctrl+C , Ctrl+break را می‌زنيم و خارج می‌شويم. در مثال پايين جمع‌بندی مواردی که تا حالا از footprinting گفته‌ام را می‌آورم.
- جمع‌بندی مطالب گفته شده و بررسی يک سايت
فرض کنيد می‌خواهيم در مورد www.iums.ac.ir (http://www.iums.ac.ir/) اطلاعاتی کسب کنيم :
◊ اول به سايت پينگ می‌کنم و ip آن را به‌دست می‌آورم: 194.225.184.15
◊ به کمک ip که به‌دست آورديم، به کمک يک پورت اسکنر پورت‌ها را بررسی می‌کنيم و می‌بينيم که پورت‌هايی مثل ۲۱، ۲۵، ۴۲، ۵۳، ۸۰، ۱۱۰، ۱۱۹، ۱۳۹، ۱۴۳ و ... باز است.
◊ چون domain به ir ختم می‌شود، برای whois کردن از whois.nic.ir استفاده می‌کنم و Name Server آن را به دست می‌آورم که 194.225.184.20 است.
◊ به کمک اين Name Server ، يک nslookup می‌کنم و به نتايج زير می‌رسم:
iums.ac.ir. SOA sina.i........0 345600) iums.ac.ir. NS sina.iums.ac.ir iums.ac.ir. NS ns1.nic.ir iums.ac.ir. MX 10 sina.iums.ac.ir smtp.iums.ac.ir. A 195.146.34.181 sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6 sina.iums.ac.ir. MX 10 sina.iums.ac.ir sina.iums.ac.ir. A 194.225.184.20 sina.iums.ac.ir. A 195.146.34.181 sun.iums.ac.ir. CNAME sina.iums.ac.ir cisco.iums.ac.ir. CNAME router.iums.ac.ir webmail.iums.ac.ir. A 195.146.34.181 linux.iums.ac.ir. A 194.225.184.19 linux.iums.ac.ir. HINFO Intel-Xeon/800 RedHat-Linux-7.2 mta.iums.ac.ir. A 195.146.34.181 pop3.iums.ac.ir. CNAME sina.iums.ac.ir localhost.iums.ac.ir. A 127.0.0.1 *****.iums.ac.ir. CNAME arvand.iums.ac.ir www.iums.ac.ir (http://www.iums.ac.ir/). A 195.146.34.180 atrak.iums.ac.ir. A 194.225.184.14 ns1.iums.ac.ir. CNAME sina.iums.ac.ir arvand.iums.ac.ir. A 194.225.184.13 router.iums.ac.ir. A 194.225.184.1 router.iums.ac.ir. HINFO Cisco3640/Access-Server IOS-IP-12.0 iums.ac.ir. SOA sina.iu.......3456000 345600)
تک تک سطرهای اين نتايج کاربرد دارد که خواهيم رسيد. الان فقط در مورد HIFNO صحبت می‌کنم که برای مشخص تر بودن در بالا به صورت کمی فرورفته‌تر نوشتم. مثلا:
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
HIFNO برای تعيين نوع کامپيوتر و سيستم‌عامل سرور اهميت دارد. در اين سطر مشخص است که sina.iums.ac.ir از Sun-SuperSPARC5/75 UNIX-Solaris-2.6 استفاده می‌کند.
◊ چون پورت‌های باز را هم توسط پورت اسکنر به دست آورده‌ام به آنها تلنت می‌کنم با دستور:
telnet www.iums.ac.ir (http://www.iums.ac.ir/) portnum
نتايج حاصل از بعضی را می‌بينيد:
25 :
... master.iums.ac.ir Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 ready at 220
پس پورت ۲۵ (smtp) در آن کامپيوتر از Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 استفاده می‌کند.
110 :
.OK Microsoft Exchange 2000 POP3 server version 6.0.5762.3 (master.iums.ac.ir) ready+
پس پورت ۱۱۰ (pop3) در آن کامپيوتر از Microsoft Exchange 2000 POP3 server version 6.0.5762.3 استفاده می‌کند.
119 :NNTP Service 5.00.0984 Version: 5.0.2195.2966 Posting Allowed
عبور از پرت 80
پورت ۸۰ چيست؟
پورت ۸۰ يکی از مهم‌ترين پورت‌هاست. دنيای وب (صفحات اينترنتی) بر اساس همين پورت کار می‌کنه. توضيح اينکه وقتی به يه سايت وصل می‌شيم و صفحه وب را درخواست می‌کنيم، در واقع مرورگر اينترنتی به پورت ۸۰ اون کامپيوتر وصل می‌شه و اطلاعات رو می‌گيره (البته بعد از گرفتن اطلاعات اون رو تفسير می‌کنه و به صورت يه صفحه نشون می‌ده - دقت کنيد که اطلاعات در واقع به صورت يک سری تگ HTML است ).
- با پورت ۸۰ صحبت کنيم
حالا ما می‌خواهيم با پورت ۸۰ يک کامپيوتر صحبت کنيم ولی به کمک telnet و nc.
اول بايد يه connection (اتصال) با پورت ۸۰ برقرار کنيم (مثلا برای سايت hotmail.com بايد بنويسم):
telnet www.hotmail.com (http://www.hotmail.com/) 80nc -v www.hotmail.com (http://www.hotmail.com/) 80
پس اول بايد يکی از دستورات بالا را استفاده کنيم. من هميشه توصيه‌ام استفاده از nc بوده و خواهد بود.
حالا بايد شروع به صحبت با پورت ۸۰ کنيم. من فعلا دو تا جمله براتون می‌گم و بقيه‌اش بمونه واسه بعد. دقت کنيد که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما می‌نويسيم، نمايش داده نمی‌شود ولی کار می‌کنه.
۱- اولين جمله اينه: GET / HTTP/1.0 و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. دو طرف / ی که بعد از GET است، فاصله وجود دارد. اين جمله به پورت ۸۰ می‌گه که هرچی در header داره، نشون بده. و جواب می‌شنوم:
HTTP/1.0 302 Moved TemporarilyServer: Microsoft-IIS/5.0Date: Thu, 05 Dec 2002 12:02:51 GMTLocation: http://lc2.law5.hotmail.passport.com.../loginX-Cache: (http://lc2.law5.hotmail.passport.com/cgi-bin/loginX-Cache:) MISS from cache5.neda.net.irConnection: close
۲- دومين جمله اينه: GET / what/ever و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. اين دستور باعث ميشه که هر چی داره، رو کنه.
البته توجه کنيد که ما مسير را مشخص نکرديم. اين حالت که بدون مسير است خيلی وقت‌ها کار نمی‌کنه (مثل همين مثال !!)
گاهی پيش می‌آد که يک سری دستورات خاص را هميشه بايد پشت‌ سرهم به يه پورت خاص بفرستيم و بخواهيم در وقت صرفه‌جويی کنيم. مثلا همين جمله GET / HTTP/1.0 و دو Enter پشت سرهم که هميشه استفاده می‌کنيم. در اين موارد می‌توان اين دستورات را در يک فايل تايپ کرد (همراه با Enter ها که بايد موقع نوشتن حتما بزنيد) و بعد مثلا با نام ali.txt ذخيره کنيد و بعد يکی از دستورات زير را بنويسيم:

nc -v www.far30.com (http://www.far30.com/) 80 < ali.txttype ali.txt | nc -v www.far30.com (http://www.far30.com/) 80
که همان کارهای بالايی را انجام ميده.
- حالا مي‌خوام مسير رو مشخص کنم
مثلا فرض کنيد که مي‌خوام فايلي به اسم index.html را از مسير startup در سايتي به اسم www.site.com (http://www.site.com/) داون‌لود کنيم. اول يه nc مي‌کنيم به سايت. بعد مي‌نويسيم:

GET /startup/index.html HTTP/1.0
بعد دو تا Enter مي‌زنيم.
اين مثال نشون ميده که چطوري مسير رو ميشه مشخص کرد. همين کار رو مي‌تونيم براي فايل‌هايي مثل فايل‌هاي گرافيکي و ... انجام بديم و حتي مي‌تونيد اطلاعاتي که مي‌رسه رو در يک فايل ذخيره کنيد. براي اين‌کار مي‌نويسيد:

nc -v www.site.com (http://www.site.com/) 80 > index.html

(اين کاري که کرديم با موردي که در بالا نوشتيم فرق مي‌کنه! در بالا دستورات GET رو تو يه فايل مي‌نوشتيم و مي‌فرستاديم که اجرا بشه ولي الان داريم نتايجي که بر مي‌گرده رو در يک فايل ذخيره مي‌کنيم!) ميشه اين دوتا رو ترکيب کرد مثلا نوشت:

nc -v www.site.com (http://www.site.com/) 80 < dastoorat.txt > index.html

TAHA
10-03-2010, 04:27 PM
یک کرم ساده برای پرکردن بیهوده فضای هارد:
شما میتونید فایلی بسازید که فایل هایی با حجم بالا تولید میکنه و بیخودی فضای هارد رو پر میکنه.
برای ساخت فایل با حجم بالا من یه راه به ذهنم رسید که براتون مینویسم. شما میتونید تمام محتویات یک پوشه رو در یک فایل کپی بگیرید. یعنی فایل های یک پوشه رو در قالب یک فایل جمع کنید که حجمش میشه برابر با حجم تمام فایل های درون پوشه.
برای این کار شما به یک پوشه نیاز دارید که که فایل های داخلش زیاد باشه. چون شما نمیدونید که در هارد قربانی چه فولدر هایی وجود دارد مجبورید به سراغ درایو ویندوز بروید.
مثلا کد:

%systemroot%
شما میتونید با این دستور همه فایل ها رو در یک فایل کپی بگیرید
کد:

copy /b %sytemroot%\*.* file.iri
پسوند و اسم فایلی که درست میکنید مهم نیست. من گذاشتم file.iri
برای اینکه حجم فایل بالا ۲ برابر بشه باید این دستور دوباره نوشته بشه. با نوشتن های مکرر حجم فایل همینطور بیشتر میشه. البته اینبار باید اسم فایل متفاوت باشه و بعدش هم فایل اولی پاک بشه.
کد:

copy /b %systemroot%/*.* file2.iri
del %systemroot%/file.iri
بعد که فایلتون آماده شد میتونید با این ترفند حسابی ازش تکثیر کنید:

TAHA
10-03-2010, 04:28 PM
میتوان بوسیله notepad دستورات داس را نوشت و با فرمت bat ذخیره کرد. اما وقتی فایل اجرا میشود پنجره داس باز می شود و کاربر از باز شدن فایل شما مطلع می شود. ممکن است آن راببندد و عملیات کامل نشود یا ممکن است کد های مربوط به فایل شما دزدیده و کپی شود.
چاره چیست؟


ابتدا برنامه را از لینک زیر با حجم 3.5 مگابایت دانلود و نصب کنید
exescript 3.0 (http://www.4shared.com/file/DtdI2yjj/exescript_30.html)
پسورد فایل : learn4all.mihanblog.com

برنامه را ببندید و فایل کرک را در فولدر برنامه کپی کنید تا با فایل هم نام جایگزین شود.
آن را که باز کنید می توانید یک پروژه جدید باز کنید و در آن دستورات dos را بنویسید. یا یک فایل bat را وارد برنامه کنید. می توانید پروژه خود را با پسوندbat ذخیره کنید. تا اینجا کار همان داس را انجام می دهد و هیچ مزیتی ندارد.
چگونه در پایان کار و اتمام وارد کردن دستورات پروژه را با پسوند exe به طوری که مخفی باشد ذخیره کنیم؟
در سمت چپ برنامه تنظیمات وجود دارد. قسمت silent mode را به true تغییر دهید. در قسمت output file محل ذخیره فایل exe رابدهید. و یک آیکون هم در قسمت icon type به برنامه بدهید(دلخواه).
با زدن کلید F7 برنامه exe در محلی که خواسته بودید ذخیره میشود. اگر آن را اجرا کنید همان دستورات داسی که نوشته بودید خود به خود اجرا می شوند بدون باز شدن هیچ پنجره ای و به صورت کاملا مخفی.
فقط به یاد داشته باشید که در آخرین خط برنامه حتما عبارت exit را بنویسید. اگر این کار را نکنید برنامه ای که ساخته اید پس از اجرا شدن تا وقتی restart نکرده اید در حافظه باقی خواهند ماند.
توجه: بعضی آنتی ویروس ها ممکن است این برنامه را ویروس بشناسند پس شما باید قبل از کار با این برنامه آن را غیر فعال کنید. اطمینان کامل داشته باشید که هیچ گونه عمل مخربی توسط این برنامه انجام نخواهد شد.


برای ساخت ویروس با دستورات داس این برنامه بهترین انتخاب است. من که خودم ازش استفاده میکنم

TAHA
10-03-2010, 04:28 PM
از کارانداختن آنتی ویروس ها با داس:
من خودم ۲ راه به ذهنم رسید

راه اول: با دستور date تاریخ رو به چند سال عقب یا جلو تر ببرید تا آنتی ویروس ار کار بیفته (خودم به ذهنم رسید و روی چند تا آنتی ویروس امتحان کردم. همه غیر فعال شدند به جز mcafee ). بعضی ها هم اصلا اجازه نمیدن این کار انجام بشه

راه دوم: آدرس محل نصب آنتی ویروس های مختلف رو به ویروس بدین تا فایل های مورد نیاز آنتی ویروس رو پاک کنه. بهتره قبلش با دادن دستور taskkill فایل اجرایی آنتی ویروس غیر فعال شده باشه

TAHA
10-03-2010, 04:28 PM
کپی گرفتن از help های داس:
شما هم مثل من ممکنه از help های خود داس استفاده کنید:
کد:

command/?
help ها به زبان انگلیسی هستند و استفاده از آنها برای ما فارسی زبانان مشکل و یا حتی غیر ممکن است. باید بتوان از متن کپی گرفت تا بشود با دیکشنری یا سایت های ترجمه آنلاین به فارسی برگرداند. شما میتوانید به روش های مختلف از متن داس کپی بگیرید. یک روش اینجا مینویسم. توی ترفند ها و انجمن که بگردید بازم پیدا میکنید:

شما میتونید بعد از دستور خود علامت زیر را بگذارید. مثلا:
کد:

set/? >c:\help_set.txt
اینطوری خروجی دستور در یک فایل متنی ذخیره میشود که محل و نام فایل هم اختیاری است. میتوانید برای همه دستورات استفاده کنید. مثلا:
کد:

dir >c:\dir.txt
خودتون هم میتونید به در یک فایل txt هر چی خواستید بنویسید. به 2 روش:

روش اول: مثل بالا عمل کنید یعنی اینطوری
کد:

echo salam >c:\1.txt
برای نوشتن خط های بعدی باید یک علامت اضافه کرد
کد:

echo I am a Virus >>c:\1.txt

روش دوم(در فایل های bat کاربرد ندارد و فقط زمانی کار میکند که شما خودتان دستورات را وارد کنید):
با این دستور میتوانید یک فایل متنی ایجاد کنید
کد:

copy con c:\new.txt
حالا متن خود را تایپ کنید و سپس با ترکیب کلید های Ctrl+Z ذخیره(SAVE) کنید.

TAHA
10-03-2010, 04:29 PM
میدانید که با دستور md می توان برای ساختن یک فولدر در محل جاری اقدام کرد. سعی کنید با داس یک فولدر به نام m s بسازید(به فاصله ی میان دو حرف دقت کنید).
با دستور md m s نمی توان یک فولدر به این نام ایجاد کرد بلکه دو فولدر به نام های m و s ایجاد می شود.
برای ساخت یک فولدر با فاصله میان حروف می توان از علامت " کمک گرفت.برای نشان دادن m s آن را به صورت m" "s یا "m s" نشان می دهیم:
کد:

md "m s"
md m" "s
این علامت در جاهای دیگر مثلأ رفتن به یک فولدر با دستور cd یا تغییر نام و پاک کردن یک فایل یا فولدر هم کاربرد دارد. مثلأ برای پاک کردن یک New Folder از دستور زیر استفاده می کنیم:
کد:

rd new" "folder
re "new folder"