هیچ حواسم نبود که در حدود پنچ سال از ساخت این وبلاگ می گذره. چه قدر زود گذشت!
هیچ حواسم نبود که در حدود پنچ سال از ساخت این وبلاگ می گذره. چه قدر زود گذشت!
اگر بگویم همه ما جاسوس هایی داریم که می داند کی می خوابیم، که بیدار می شویم، با دوستان خود چه می گوییم، با چه کسانی در ارتباطیم، چه دوست داریم و چه نه، چه فیلم هایی نگاه می کنیم و حتی چه تبلیغاتی نظر ما را به خود جلب می کند و می تواند اطلاعات فراوانی را با بررسی اعمالمان در طول شب ها و روز ها به دست بیاورد، چه حسی پیدا می کنید.
شاید حدس زده باشید می خواهم در مورد چه چیزی صحبت کنم. هر جایی که گوشی شما در آن جا هست یک جاسوس در حال شنیدن صحبت ها و یا حتی تماشای اعمالتان هست. این حقیقت تلخی است که بیشتر مردم جامعه بسیار ساده و بدون هیچ چارهای آن را پذیرفتهاند. فکر کنید که گوشی خود را کجا ها می برید. با چه پوششی با گوشی کار می کنید یا زمانی که گوشی در دست دارید اطرافیانتان با چه پوششی در اطراف شما هستند. اگر فکر کنید که کسی از دوربین در حال تماشای شما هست باز هم همین کار ها را می کنید؟!
اکثر ما بابت جاسوس هایی که بسیار دوستشان داریم و با خودمان همه جا می بریم مقادیر زیادی پول خرج کردیم. یک پیشنهاد؛ یک سری به دسترسی نرم افزار های سیستمی مخصوصا نرم افزار های گوگل (برای گوشی های اندرویدی) بزنید. اکثر برنامه ها از جمله گوگل پلی به میکروفون، دوربین و مخاطبین دسترسی دارند. اصلا متوجه بخش Recommended for you در برنامه گوگل پلی شده اید؟ این بخش بر اساس سابقه جست و جو برنامه هایی که می تواند برای شما جذاب باشد را لیست می کند.
البته که در جهان امروز نمی توان انقدر بد بین بود، ولی به هر حال این نفوظ به خانه ها و خلوت ها در جهان امروز بسیار ساده تر از گذشته شده است. لذا پیشنهاد می کنم کمی مراقب رفتار های خود در مقابل گوشی های گران قیمت خود باشید!
این اتفاق یعنی Image hijacking در ویندوز زمانی رخ می دهد که کاربر یا یک بدافزار در رجیستری به آدرس زیر تغییراتی به وجود بیاورد.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
اگر آدرس بالا کلیدی با نام برنامه مورد نظر مانند taskmgr.exe
ساخته شود و در آن مقداری از نوع رشته با نام Debugger
ایجاد کنید می توانید در آن آدرس یک برنامه را بنویسید تا با برنامه اصلی جاییگزین شود و به جای آن اجرا شود و یا با خالی گذاشتن این مقدار مانع از اجرا شدن آن شوید. (در این مثال می توانید تر اجرا شدن برنامه Task manager تغییرات ایجاد کنید.)
توجه داشته باشید که این عمل برای هر فایل اجرایی قابل انجام است و حتی می تواند سبب اجرا نشدن نرم افزار های حیاتی ویندوز و ایجاد خطا شود؛ پس مراقب باشید. این شما هستید که می توانید از آن استفاده خوب یا بد بکنید!
اغلب برنامه ها در ایجاد تغییرات در رجیستری ویندوز مخصوصا کلید های حساس رجیستری مجاز به دسترسی نیستند و با خطای Access denied مواجه می شوند. در این مطلب می خواهم در خصوص چگونگی دور زدن این منع دسترسی توضیحاتی بدهم.
از آن جا که رجیستری ویندوز می تواند ابزار مخربی برای بدافزار ها باشد و تغییرات انجام شده در آن می تواند برای کاربران فاجعه بار باشد، لزا در بعضی کلید ها دسترسی های خاصی نیاز است؛ مخصوصا اگر با یک زبان تحت دات نت فریم ورک سر و کار داشته باشید (مانند سی شارپ). حال برای تغییرات می توانید از یک برنامه مورد اطمینان ویدوز به نام Reg.exe استفاده کنید. وجود این نرم افزار باعث شده تا بسیاری از نرم افزار ها به سادگی بتوانند حتی به جا های حساس ویندوز آسیب زده و مشکلاتی بوجود بیاورند. این برنامه درواقع یک واسط خط فرمان برای تغییر در رجیستری هست که توسط مایکروسافت نوشته شده و در آدرس "C:\Windows\System32\reg.exe"
قرار دارد. برای استفاده از این برنامه لازم است با چگونگی دادن دستورات به آن آشنا شوید که توضیح آن در این مطلب نمی گنجد و پیشنهاد می کنم در خط فرمان توسط دستور reg help
با چگونگی استفاده از آن آشنا شوید. برای انجام تغییرات کافیست از طریق کد های برنامه خود این نرم افزار را اجرا و دستورات لازم را به آن بدهید.
توجه این برنامه می تواند به شما دسترسی بیشتری در ویرایش رجیستری بدهد، پس این شما هستید که تصمیم میگیرید از این ترفند برای کار های خوب استفاده کنید یا بد!
مهلت ارسال پاسخ به چالش تمام شد و این هم کد من برای جواب چالش ترک عملگر ها
چند روز پیش یه چالش دو نفره بین من و آقای کریمی زاده راه افتاد که آن را با شما به اشتراک می گزارم
چالش از این قرار است: باید کدی بنویسید که با تعداد محدودی عملگر مجاز (تنها عملگر های مجاز عملگر های منطقی(عملگر های و؛ یا؛ نقیض) و عملگر انتساب (مساوی) هستند) بتواند دو عدد را در هم ضرب کند. عملگر های ضرب، جمع، تفریق، تقسیم و عملگر های بیتی و حتی عملگر های افزایش یا کاهش واحدی (++/--) غیر مجاز هستند. من تونستم کد رو به زبان سی شارپ (#C) بنویسم شما نیز با هر زبانی که می توانید بنویسید و در سایت apaste.info بارگزاری کرده (تاریخ انقضا نداشته باشد) و لینک آن را در نظرات ارسال. پاسخ بعد از دو هفته به اشتراک گزارده می شود.
احساس کردم که مطلب "برنامه نویسی را از کجا آغاز کنم؟" به کمی بررسی بیشتر نیاز دارد، لذا تصمیم به بازنویسی این مطلب گرفتم.
لازم است قبل از هر چیز بگویم که من صرفا نظرات خودم را به جهت کمک به برنامه نویسان تازهوارد مطرح می کنم. در این مطلب به بررسی و راهنمایی برنامه نویسان تازهوارد می پردازیم تا علاقه مندان به این هنرِ فنی در رایانه راه خود را بیابند.
بسیاری از دوستان و اطرافیان من می پرسند که برنامه نویسی چیست و باید از کجا شروع کنیم. در واقع همین پرسش های بسیار انگیزهی من برای نوشتن این مطلب بوده است.
در سال 2000 (که سال تولد من هست) یک خطای نرم افزاری تمام کامپیوتر ها را تهدید می کرد.
موضوع از آنجا شروع شد که در آستانه سال 2000 میلادی برنامه نویسان متوجه خطایی شدند که به Y2K یعنی Y2000 معروف است. در آن زمان سیستم هایی مانند سیستم کارت های بانکی و... وجود داشتند که سال را تنها با دو رقم آخر (مثلا به جای 1999 از 99) نشان می دادند؛ ولی مشکل اینجا بود که نرم افزار ها نمی توانستند بین سالها 2000 و 1900 و... فرقی قائل شوند.
حال آیا این اتفاق باری دیگر و در سال 1400 شمسی برای ما رخ خواهد داد؟
همونطور که می دونید ویندوز اجازه ساخت یک پوشه (یا Directory) با نام فاصله (white space) رو نمیده ولی میشه این کار رو با خط فرمان انجام داد. (به روز رسانی: در نسخه های جدید نمی توان این کار را از طریق windows powershell این کار را کرد ولی از طریق CMD میشه) کد های زیر رو حتما امتحان کنید (به جای X هر حرفی می تواند باشد):
md "X:\ \"
و سپس
md "X:\ \test"
این دو کد در خط فرمان باعث ایجاد یک پوشه به اسم فاصله می شود. حالا برید و ببینید ویندوز چه باگهایی سر این پوشه می ده. اول که پوشه رو باز می کنید چون کارکتر فاصله در آخر آدرس هست مرورگر فایل ویندوز (Windows Explorer) دچار یک اشتباه لپی شده و فاصله را در نظر نمی گیرد. پس به جای نشان دادن محتویات این پوشه که پوشه ای دیگر به نام test است، محتویات X:\
می دهد و اگر یک بار دیگر روی این پوشه با نام فاصله کلیک کنید پیغام هشداری می بینید که می گوید نمی تواند آدرس X:\ \ \
را پیدا کند. تنها راه دسترسی به پوشه test تایپ آدرس آن (X:\ \test
) در نوار آدرس است.
توجه: برای پاک کردن پوشه حتما از خط فرمان و دستور rmdir /s "X:\ \"
استفاده کنید در غیر این صورت امکان دارد کل فایل ها پاک شوند.
خیلیها از من می پرسند که برای برنامهنویسی از کجا باید شروع کنم؟ قبل از هر چیز باید بگم دنیای برنامهنویسی بسیار گسترده است و سروته ندارد. کافیست جستوجویی ساده بکنید تا ببینید چندین زبان برنامهنویسی وجود دارد که هرکدام دروازهای به شهری از کدها و الگو هاست. ولی از بین این همه زبان برنامهنویسی چند زبان بسیار پرکاربرد و معروف هستند. در این مطلب پیشنهادهای شخصی خودم را برای کسانی که میخواهند وارد دنیای بزرگ برنامهنویسی شوند مینویسم.