-
سه شنبه, ۶ مهر ۱۴۰۰، ۰۶:۵۱ ق.ظ
-
۱۶۰۱
آموزش ساخت یک کرک کننده هش (HASH Cracker) گرافیکی در پایتون - قسمت 1 از 2
درود به همه !
خب خب خب . بالاخره برگشتیم با یه پست خیلی باحال . باید بگم که قراره کلی متفاوت باشیم با کارای قبلیمون . تا الان کلی ابزار هکینگ باهم ساختیم و لذت بردیم :) . ولی همشون CLI و کنسولی بودن . امروز میخوایم یک hash cracker گرافیکی باهم بسازیم . بله گرافیکی ! اونم با کتابخونه ی قدرتمند PyQt5 که برای طراحی گرافیک کار اصلا نیاز به کدنویسی نداریم بلکه به صورت بصری اونو طراحی میکنیم و خود ابزار های پایتون اونو برامون به کد پایتون تبدیل میکنن . این مجموعه در دو قسمت تقدیم حضورتون میشه . قسمت اول گرافیک و رابط کاربری کار رو میزنیم و در قسمت دوم میایم توابع و کد های مربوط به کرک کردن هش رو مینویسیم . با ما همراه باشید :)
نکته : پیشنیاز درک بهتر این ویدیو ، مسلط بودن به مباحث شیء گرایی در پایتون است .
سورس تولید شده توسط PyQt در ویدیو :
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'C:\Users\Hossein\Desktop\hashcracker.ui' # # Created by: PyQt5 UI code generator 5.15.4 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(370, 399) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit.setGeometry(QtCore.QRect(10, 40, 281, 31)) font = QtGui.QFont() font.setPointSize(11) self.lineEdit.setFont(font) self.lineEdit.setText("") self.lineEdit.setObjectName("lineEdit") self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit_2.setGeometry(QtCore.QRect(10, 80, 281, 31)) font = QtGui.QFont() font.setPointSize(11) self.lineEdit_2.setFont(font) self.lineEdit_2.setObjectName("lineEdit_2") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(300, 80, 60, 30)) self.pushButton.setObjectName("pushButton") self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setGeometry(QtCore.QRect(300, 40, 60, 30)) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(60, 10, 251, 20)) font = QtGui.QFont() font.setPointSize(11) font.setBold(True) font.setWeight(75) self.label.setFont(font) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.listWidget = QtWidgets.QListWidget(self.centralwidget) self.listWidget.setGeometry(QtCore.QRect(10, 160, 350, 192)) self.listWidget.setObjectName("listWidget") self.progressBar = QtWidgets.QProgressBar(self.centralwidget) self.progressBar.setGeometry(QtCore.QRect(10, 360, 351, 23)) self.progressBar.setProperty("value", 0) self.progressBar.setTextVisible(False) self.progressBar.setObjectName("progressBar") self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(140, 120, 75, 31)) self.pushButton_2.setStyleSheet("background-color: rgb(255, 71, 71)") self.pushButton_2.setObjectName("pushButton_2") MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.lineEdit.setPlaceholderText(_translate("MainWindow", "HASH String")) self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "Password List Path")) self.pushButton.setText(_translate("MainWindow", "OPEN")) self.comboBox.setItemText(0, _translate("MainWindow", "MD5")) self.comboBox.setItemText(1, _translate("MainWindow", "SHA1")) self.comboBox.setItemText(2, _translate("MainWindow", "SHA256")) self.label.setText(_translate("MainWindow", "HASH Cracker - MR Python")) self.pushButton_2.setText(_translate("MainWindow", "START"))
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
اگه سوالی داشتید در بخش نظرات مطرح کنید :)
آیا مشکلی بود که در قسمت بعدی اونو برطرف کنیم :) ؟
Telegram Channel : @mrpythonblog