مدرسه هکرها !

اشاره :
در حال حاضر سیاست کشورهای جهان بر این است که نفوذ و نفوذگری را ممنوع کنند و هر آن چه را که بوی هک از آن به مشام می‌رسد محکوم نمایند. اما میوه ممنوعه وسوسه‌کننده است و اقداماتی که در جهت بستن دست هکرها صورت می‌گیرد، غالباً برای خود هکرها مثل مبارزه‌جویی و حریف‌طلبی است. اما در بارسلونِ اسپانیا با پدیده هک نوع دیگری برخورد می‌شود. در این شهر برای مبارزه با نفوذگری پروژه جدیدی طرح شده است.

● ‌مدرسه هکرها
همان دپارتمانی در دانشگاه <لاساله> که برخی از بهترین طراحان بارسلون را فارغ‌التحصیل می‌کند، متولی تشکیل <دبیرستان هک> نیز شده است. هدف از این طرح، برخلاف آن چه که در ابتدای امر به ذهن می‌رسد، راه‌اندازی یک <کارگاه شیطانی> نبوده، بلکه هدف آگاه‌سازی و آشنا کردن جوانان با یک تابو مدرن امروزی، یعنی پدیده هک است. به گفته پِت هرتزوگ، مدیر اجرایی دبیرستان: <هک چیزی است که در دنیای واقعی وجود دارد و نمی‌توان آن را کتمان کرد. اما هیچ کس نیامده بگوید این هک واقعاً چگونه است. همه می‌گویند صندوق‌پستی شما ممکن است با کرم آلوده شود، یک نفر ممکن است تروجانی را به کامپیوتر شما وارد کند یا می‌آیند و اطلاعات شما را می‌دزدند. ولی هیچ کس تا به حال یاد نداده که این کارها را چگونه انجام می‌دهند. همه صرفاً می‌گویند این کار غیرقانونی است و هر کس از این کارها بکند آدم بدی است>.


این برنامه از طرف ISECOM، مؤسسه امنیت و متدولوژی‌های باز (نشانی http://www.isecom.org) تنظیم شده است، یک مؤسسه غیرانتفاعی که سعی دارد جوانان را با ناهنجارهای اینترنتی و بدآموزی‌هایی که از طرف نااهلان ترویج می‌شود آشنا کند. دانش‌آموزان به نوعی یک دوره دفاع شخصی دیجیتالی می‌بینند و یاد می‌گیرند با کلاهبرداری‌های اینترنتی چگونه برخورد کنند، دزدان را چگونه تشخیص دهند و در مقابل حملاتی که به سیستم‌شان می‌شود چگونه به دفاع بپردازند. پت هرتزوگ ادامه می‌دهد: <ما به بچه‌ها نشان می‌دهیم که این کارهای غیرقانونی چگونه انجام می‌شود و چه اتفاقی در سیستم می‌افتد. با این کار، آن‌ها یک درک فنی از موضوع به دست می‌آورند و می‌فهمند که چگونه با حملات مقابله کنند>.

یکی از معلمین این مدرسه می‌گوید: <دانش‌آموز باید یاد بگیرد که وقتی نامه‌ای دریافت می‌کند چگونه تشخیص بدهد که این نامه واقعاً از طرف چه کسی فرستاده شده، آیا محتوای آن راست است یا دروغ. آن‌ها باید به همه چیز شک داشته باشند و هر چه می‌بینند زود باور نکنند>.
بدیهی است که برای یاد دادن این مسائل، به سیستم‌های واقعی نفوذ نمی‌کنند، بلکه مسؤولین ISECOM برای آموزش و آزمایش دانش‌آموزان، چهار سرور آزمایشی تهیه کرده‌اند که دانش‌آموزان کارهای خود را روی آن‌ها انجام دهند: <اگر بچه‌ها دوست داشته باشند هک کردن را تجربه کنند، ما محیط کنترل‌شده‌ای را در اختیارشان قرار می‌دهیم تا هر کار دلشان می‌خواهد انجام دهند. منتها از آن‌ها می‌خواهیم که به معلمشان بگویند چه کرده‌اند و از چه راهی وارد شده‌اند. ما می‌خواهیم نفوذگری سالم را به آن‌ها یاد بدهیم و از آن‌ها هکرهای بااخلاقی بسازیم که توانایی‌های خود را می‌دانند و حدود خود را هم می‌دانند>.
مسؤولین مدرسه معتقدند که برای این هکرهای با اخلاق شغل در بازار بیرون فراوان پیدا می‌شود، چرا که یکی از پررونق‌ترین مشاغل در صنعت کامپیوتر همین مشاغل حوزه امنیت است.


‌● متجاوزین فضای سایبر

در علم حقوق معروف است که می‌گویند: اگر 90 درصد چیزی را تصاحب کنی، قانوناً مالک آن هستی. اما به نظر می‌رسد در فضای سایبر از این حرف‌ها خبری نیست. وقتی بنیامین کوهن دامنه itunes.co.uk را خرید، فکر می‌کرد تا هر وقت بخواهد می‌تواند صاحبش باشد. اما بعدها اپل آمد و سایتی را برای دانلود موسیقی راه انداخت به نام iTunes.com. و از اینجا بود که موضوع جالب شد.
نام، یکی از ارزشمندترین دارایی‌های هر شرکت یا شخص است، و از زمانی که سرمایه‌گذاران برای نشانی سایت‌های اینترنتی خود شروع به خرید اسامی مشهور کردند، شکایت‌های بسیاری از سوی اشخاص حقیقی و حقوقی مطرح شد. بسیاری از اشخاص یا سازمان‌ها قانوناً موفق شدند کنترل سایت‌های هم‌نامِ خودشان را به دست بگیرند، و <متجاوزین فضای سایبر> را عقب بنشانند. اما اگر کسی اسمی را بخرد که بعدها مشهور می‌شود، چه؟ بنیامین کوهن یک جوان 22 ساله است که در ساختمانی در شرق لندن زندگی می‌کند. این جوان در اینترنت ناشناس نیست، چرا که در سن 17 سالگی با راه‌اندازی چندین وب‌سایت مشهور از همین اتاق کوچک خودش، به یک میلیونر <دات‌کام> تبدیل شد. و انتظار داشت از iTunes.co.uk هم سود کلانی ببرد.

<شرکت من در دوره‌ای که به غرش دات‌کام معروف شد نزدیک به 200 نام دامنه را ثبت کرد، و ما یک سرویس دانلود موسیقی راه انداختیم که موتور جستجو هم داشت. Itunes.co.uk داشت به عضو مهمی در مجموعه وب‌سایت‌های دانلود موسیقی تبدیل می‌شد. آن زمان اصلاً ITunes اپل وجود نداشت>. این اظهارات بن کوهن بود.
یک سال بعد، شرکت بزرگ کامپیوتری اپل iPod، را خلق کرد، و دو سال بعد از آن، در سال 2003، یک وب‌سایت برای دانلود موسیقی به نام iTunes را افتتاح کرد. اپل خیلی زود توانست از طریق این سایت هزاران آهنگ را در هر روز به فروش برساند. اپل تصمیم گرفت با کوهن تماس بگیرد و پیشنهاد خوبی به او بدهد. خود بنیامین می‌گوید: <آن‌ها گفتند حاضرند پنج‌هزار دلار بابت این نام به من بدهند، اما من قبول نکردم. گفتند خودت چقدر در نظر داری؟ من گفتم حداقل پنجاه‌هزار تا، چون به نظر ما این اسم بیشتر از این‌ها می‌ارزد>.

اپل عقب ننشست و شکایتی را تنظیم کرد. در حال حاضر، چهار میلیون نام دامنه با پسوند UK وجود دارد، که تمام آن‌ها از طریق یک شرکت خصوصی به نام Nominet ثبت می‌شوند. همه می‌توانند با پرداخت 5 دلار از این دامنه‌ها برای خود ثبت کنند و هر کس زودتر بیاید، دامنه به اسم او ثبت می‌شود. این شرکت یک نقش مهم دیگر هم دارد و آن این است که اگر اختلافی بر سر نام دامنه‌ها در بگیرد، شرکت به حل و فصل آن می‌پردازد. خیلی از این اختلافات با میانجیگری Nominet و به طور رایگان رفع می‌شوند، اما بعضی از آن‌ها که جدی‌تر هستند (مثل همین مورد اپل) به یک کارشناس مستقل امور حقوقی سپرده می‌شود تا مورد رسیدگی دقیق‌تر قرار بگیرد. امیلی تایلور، مدیر بخش حقوقی این شرکت می‌گوید: <اکثر اختلافات خیلی زود با پادرمیانی ما حل می‌شوند و به ندرت کار به شکایت حقوقی می‌کشد>.

اپل حتی به دنبال این نبوده که از طریق آدرس انگلیسی iTunes به فروش بیشتری برسد، چرا که کوهن پس از مدت کوتاهی، سرویس دانلود موسیقی را از سایت خود حذف کرده بوده است. این سایت سال‌ها کار نمی‌کرد، یا گاهی هم که کار می‌کرد، بازدیدکننده را به سایت دیگری می‌برد که کوهن برای فروش یک سری خرت و پرت بر‌پا کرده بود. اما اپل زمانی واقعاً نگران شد که کوهن بازدیدکنندگان سایت خود را به Napster هدایت کرد، یعنی رقیب اپل. اما وقتی اپل از کوهن خواست که لینک سایتش را از Napster قطع کند، کوهن پذیرفت و این کار را کرد.
بعد کوهن به سراغ Napster رفت و پیشنهاد فروش سایتش را به آن‌ها داد: <ما به این علت این پیشنهاد را به Napster دادیم که فکر می‌کردیم یک شرکت فعال در زمینه موسیقی به موتور جستجوی سایت ما علاقه‌مند باشد. درست است که ما از فروش این سایت به رقیب اپل سود می‌بردیم, ولی این کار که غیرقانونی نیست>.
اما Nominet نظر دیگری دارد: <نام دامنه که مثل ملک و اتومبیل نیست که از یک دست بخری و از دست دیگر بفروشی. دامنه را می‌گیری تا از آن استفاده کنی. ثبت هر دامنه‌ای یک سری الزامات را به دنبال دارد که باید رعایت شوند>.

ماه گذشته، کارشناس مستقل حقوقی Nominet تشخیص داد که iTunes.co.uk باید به اپل سپرده شود. اما بن کوهن، اولین نوجوان میلیونر دات‌کام، نه تنها قصد دارد شکایتی را از اپل به دادگاه عالی ببرد، بلکه می‌خواهد از Nominet سؤال کند که به چه حقی چنین کاری کرده است. Nominet معتقد است که تصمیمش قانونی و منصفانه است و هفته گذشته کنترل این نام را به اپل داد. در حال حاضر، اپل از این آدرس برای عرضه و نمایش iPod و iTunes بهره می‌گیرد.

با سلام به همه

سلام به همه دوستان عزیز

می خواستم واسه تولد امام رضا یه ۱۰۰ آی دی هک شده بزارم ولی حوصله نکردم

بازم شرمندم می خواستم به عنوان عیدی به هشون خبر هک شدنشون رو بدم ولی پسشون رو عوض نکردم که برن عوضش کنن

ولی چیکار کنم که نشد

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

------------

منو از نظرات بی دریغ خودتون بی نصیب نکنید مرسی

پاسکال قسمت سوم

مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و طبق جدول زیر نسبت به مقدار آن واکنش نشان دهد


3 2 1 a
B+...+3+2+1 1..b b..1 واکنش
Begin
Writeln (' enter a,b :');
Readln(a,b);
Case a of
1:begin
for i:=1 to b do
write(i);
end;
2:begin
or I;=b downto 1 do
write(i);
end;
3:begin
sum:=0;
for i:=1 to b do
sum:=sum+I;
write(sum);
end;
end.


آرایه ها :
آرایه ها به عناصری اتلاق میشود که با یک نام تعدادی محل از حافظه را کنترل کند برای تشخیص محلها از اندیس استفاده میشود
انواع آرایه ها :
1- آرایه های یک بعدی
2- عناصر دو بعدی
3- آرایه های سه بعدی

تعریف آرایه ها :
var
نوع of ]اندیس پایان..اندیس شروع: array [ نام آرایه
نوع متغیر آرایه : متغیر آرایه
خواندن آرایه :
مثال : برنامه ای بنویسید که نمرات 100 دانش آموز را از ورودی دریافت و در یک آرایه بریزد.


Var
A:array[1..100] of real;
Begin
For i:=1 to 100 do
Readln(a[i ]);


مثال : برنامه ای بنویسید که نمرات 100 دانش آموز را از ورودی دریافت و 50 تای اول را چاپ کند سپس تعداد نمرات 20 را مشخص کند.


Var
A:array[1..100] of real;
Begin
For I;=1 to 100 do
Writeln('enter no(',I,')');
Readln(a[ i]);
For i:=1 to 50 do
Writeln(a [ i]);
S:=0;
For i:=1 to 100 do
If i:=1 to 100 do
If a[ i]=20 then
S:=s+1;
Writeln(s);
End.


پیدا کردن max,min
عنصر اول =min
حلقه برای گردش در آرایه
Min < عنصر فعلی if
عنصر فعلی min :=
Write(min);
مثال : برنامه ای بنویسید که با دریافت نمرات 100 دانش آموز بالاترین و پایین ترین نمره را در بین این 100 نفر پیدا کند.


Var
A:array[1..100] of real;
I:integer;
Begin
For i:=1 to 100 do
Readln(a[ i ] );
Min:=a[1];
Max:=a[1];
For i:=2 to 100 do
Begin
If a[1]< min then
Min:=a[ i];
If a[ i]>max then
Max := a[i ];
End;
Writeln('max is :',max,'min is :',min);
End.


مثال : برنامه ای بنویسید که با دریافت 100 اسم به ما بگوید تعداد تکرار اسم ali چند بار است وآیا اسم hassan بیشتر ذکر شده یا اسم reza ؟


Var
A:array [1..100] of string;
Begin
For i:=1 to 100 do
Readln(a[ i ]);
Ali:=0;
Reza:=0;
Hassan:=0;
For i:=1 to 100 do
Begin
If a[ i]='ali' then
Ali:=ali+1;
If a[ i]='reza' then
Reza:=reza+1;
If a[ i]='hassan' then
Hassan:=hassan+1;
Endd
Writeln(ali is :',ali);
If reza>hassan then
Writeln('reza')
Else
Writeln('hassan');
End.


مثال : برنامه ای بنویسید که با دریافت نام و نمره 100 دانش آموز تنبل ترین فرد کلاس را مشخص کند.


Var
Name:array[1..100] of string;
No:array[1..100] of real;
Begin
For i:=1 to 100 do
Begin
Readln(name[ i]);
Readln(no[ i]);
End;
Min:=no[1];
Namemin:=name[1];
For i:=2 to 100 do begin
If no[ i]
Begin
Min:=no[ i];
Namemin:=name[ i];
Writeln(namemin);
End.


آرایه های دو بعدی:
وقتی از آرایه دوبعدی استفاده میکنیم باید از دو حقه for استفاده کنیم.
مثال : برنامه ای بنویسید که نمرات 4 کلاس که هر یک 20 دانش آموز دارد را از ورودی دریافت وتنبل ترین فرد را در این 4 کلاس مشخص کند.


Var
A:array[1..20,1..4] of real;
Begin
For i:=1 to 4 do
Begin
For j:=1 to 20 do
Readln(a[j, i]);
End;
Min:=a[1,1];
For i:=1 to 4 do
For j:=1 to 20 do
If a[j,i]< min then
Min:=a[j,i];
Writeln(min);
End.


مثال : در یک آرایه 100*20دوهزار کاراکتر نگهداری میشود برنامه ای بنویسید که تعداد تکرار حرف A را با a مقایسه کند و همچنین به ما بگوید آیا کاراکتر z در این ماتریس وجود دارد ؟


Var
A:array[1..20,1..100] of character;
Bool:Boolean;
B,b1:integer;
Begin
For i:=1 to 100 do
For j:=1 to 20 do
If a[I,j]='A' then
B:=b+1;
If a[I,j]='a' then
B1:=b1+1;
If a[I,j]='z' then
Bool:=true;
End;
If b>b1 then writeln('A>a');
If bIf b=b1 then writeln('A=a');
If true then writeln('''z''exist');
End.


تکلیف : میخواهیم نام و نمره تعدادی دانش آموز یک کلاس را از ورودی دریافت کنیم و مشخص کنیم که تنبل ترین و زرنگ ترین فرد کلاس کیست.چند نفر نمره زیر 10 گرفتند؟نام کسانی که نمره آنها در بازه 17 تا 15 می باشد ب همراه نمره آنها چاپ شود آخرین نفر نامش end است حداکثر تعداد دانش آموزان 100 نفر است.


Var

a:array [1..100] of string ;
b:array[1..100] of real;
begin
i:=1;
read(a[ i]);
while a[ i]<>'end' do begin
readln(b[ i]);
i:=i+1;
readln(a[ i]);
end;
j:=i-1;
min:=a[1];
max:=a[1];
for i:= 2 to j do
begin
if b[ i] >max then
begin
max:=b[ i];
name:a[ i];
end;
end
writeln(name);
count:=0;
for i:=1 to j do
if b[i ]<=10 then
count:=count+1;
writeln(count);
for i:=1 to j do
if (b[ i]<17) and (b[ i]>15) then
write(b[ i],a[ i]);
end.


تکلیف : برنامه ای بنویسید که حاصل این عبارت را حساب کند.


i/i!=1/1!+2/2!+3/3!+4/4!+5/5!
N!= 1*2*3*4*…*n
Begin
Sum:=0;
For n:=1 to 5 do
Begin
For m:=1 to n do
F:=f*m;
Sum:=sum+n/f;
End;
Writeln(sum);
End.


تکلیف : برنامه ای بنویسید که نمرات 80 دانش آموز را که در چهار کلاس دسته بنده شده اند را از ورودی دریافت کند سپس به سوالات زیر جواب دهد.
1- معدل هر یک از کلاسها
2- نمره تنبل ترین و زرنگترین شخص در هر کلاس به طور جداگانه


Var
A:array [1..4,1..20] of real;
Begin
For i:=1 to 4 do
For j:=1 to 20 do
Begin
Writeln('please enter nomreh');
Readln(a[I,j]);
End;
For i:=1 to 4 do
Begin
Sum:=0 ;
For j:=1 to 20 do
Begin
Sum:=a[I,j]+sum;
End;
Writeln(sum/20,'average of this class');
End;
For i:=1 to 4 do
Begin
Max :=a[1,1];
Min:=a[1,1];
For j:=2 to 20 do
Begin
If a[I,j]>max then
Max :=a[I,j];
End;
Writeln(I,min,max);
End;
End.



- String :

String آرایه ای از کاراکترهاست .اغلب لازم است کاراکترهایی در رشته موجود درج شوندو یا کاراکترهایی به جای بخشی از رشته نوشته شوند , زیررشته ای در رشته جستجو گردد و یا دو رشته با هم الحاق شوند.
رشته تهی : طول رشته ثابت نیست و با داداه هایی که در آن ذخیره شده است مشخص می گردد.کاراکترهایی که در رشته قرار می گیرد از حداکثر طولی که برای آن تعیین میشود بیشتر نخواهد بود. اگر name رشته کاراکتری باشد دستور زیر name را به رشته تهی تبدیل میکند:
Name:='';
تبدیل رشته به اعداد :
در پاسکال زیر برنامه هایی وجود دارند که به آسانی میتوانند رشته ها را پردازش کنند. زیربرنامه val رشته عددی را گرفته به مقدار عددی تبدیل میکند.
رشته عددی رشته ای است که حاوی کاراترهای '0' تا '9' و نقطه ممیز باشد مثل '12.5' و'13.5' زیربرنامه val به صورت زیر به کار میرود.
Val (st,number,error)
St رشته ای است که باید به عدد تبدیل شود و number متغیری است که رشته تبدیل شده به عدد در آن قرار میگیرد. چنانچه در رشته st کاراکتر نا معتبری (کاراکترهای غیر از( '0' تا '9' و'.' ) , محل وجود آن کاراکتر در پارامتر error قرار میگیرد. اگر error برابر با صفر باشد معنایش اینست که کاراکتر نا معتبری وجود ندارد. اگر number از نوع صحیح باشد st به مقدار صحیح و اگر number از نوع اعشاری باشد st به مقدار اعشاری تبدیل میشود .
مثال زیر را در نظر بگیرید:


Var st :string;
Num,e:integer;
St:='352';
Val (st,num,e);


مقدار 352 در متغیر num ومقدار صفر در متغیر e قرار میگیرد اکنون دستورات زیر را در نظر بگیرید :


St:='35#'2;
Val (st,num,e);


با اجرای دستور val به دلیل وجود کاراکتر' # ' که کاراکتر نامعتبری در اعداد است عدد 2 در متغیر e قرار میگیرد و معنایش اینست که کاراکتر شماره 2 ( شماره گذاری از صفر شروع میشود) نامعتبر است و عمل تبدیل صورت نمیگیرد و مقدار num تعریف نشده است.
تبدیل عدد به رشته :
برای تبدیل مقدار عددی به رشته عددی از زیربرنامهstr استفادهمیشود و به صورت زیر به کار میرود:
Str (number : format,numstring)
با این دستور مقداری که در number قرار دارد به رشته ای به طول format تبدیل میشود و در رشته numstring قرار میگیرد . دستورات زیر را در نظر بگیرید:


Var x:integer;
St:string;
X=352;
Str(x:5,st);


با اجرای این دستور مقدار 352 به رشته '352' تبدیل شده در st قرار میگیرد

----------------------------------------

ما را از نظرات بی نظیر خود بهره مند کنید