From 7b1f8936e65291ebb22fac60df747a47befacbd2 Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Thu, 12 Aug 2021 16:12:53 +0300 Subject: [PATCH] 1 --- OfficialProjects/CatMoneyX/CatMoneyX.py | 196 ++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 OfficialProjects/CatMoneyX/CatMoneyX.py diff --git a/OfficialProjects/CatMoneyX/CatMoneyX.py b/OfficialProjects/CatMoneyX/CatMoneyX.py new file mode 100644 index 0000000..c23f7fb --- /dev/null +++ b/OfficialProjects/CatMoneyX/CatMoneyX.py @@ -0,0 +1,196 @@ +import os +import random +import subprocess, sys, time, ctypes +try: + import pymem +except: + subprocess.check_call([sys.executable, "-m", "pip", "install", 'pymem']) + import pymem + +try: + import mem_edit +except: + subprocess.check_call([sys.executable, "-m", "pip", "install", 'mem_edit']) + import mem_edit + +try: + import psutil +except: + subprocess.check_call([sys.executable, "-m", "pip", "install", 'psutil']) + import psutil + +try: + from PyQt5 import QtCore, QtGui, QtWidgets +except: + subprocess.check_call([sys.executable, "-m", "pip", "install", 'PyQt5']) + from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(200, 280) + MainWindow.setMinimumSize(QtCore.QSize(200, 280)) + MainWindow.setMaximumSize(QtCore.QSize(200, 280)) + MainWindow.setBaseSize(QtCore.QSize(0, 100)) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setMinimumSize(QtCore.QSize(0, 0)) + self.centralwidget.setBaseSize(QtCore.QSize(0, 0)) + self.centralwidget.setObjectName("centralwidget") + self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget) + self.gridLayoutWidget.setGeometry(QtCore.QRect(10, -10, 185, 284)) + self.gridLayoutWidget.setObjectName("gridLayoutWidget") + self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) + self.gridLayout.setContentsMargins(0, 0, 0, 0) + self.gridLayout.setObjectName("gridLayout") + self.verticalLayout_3 = QtWidgets.QVBoxLayout() + self.verticalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint) + self.verticalLayout_3.setSpacing(6) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.textBrowser = QtWidgets.QTextBrowser(self.gridLayoutWidget) + self.textBrowser.setMaximumSize(QtCore.QSize(16777215, 80)) + self.textBrowser.setObjectName("textBrowser") + self.verticalLayout_3.addWidget(self.textBrowser) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.firstscan = QtWidgets.QLineEdit(self.gridLayoutWidget) + self.firstscan.setObjectName("firstscan") + self.verticalLayout.addWidget(self.firstscan) + self.firstcheck = QtWidgets.QPushButton(self.gridLayoutWidget) + self.firstcheck.setObjectName("firstcheck") + self.verticalLayout.addWidget(self.firstcheck) + self.horizontalLayout.addLayout(self.verticalLayout) + self.verticalLayout_2 = QtWidgets.QVBoxLayout() + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.secondscan = QtWidgets.QLineEdit(self.gridLayoutWidget) + self.secondscan.setObjectName("secondscan") + self.verticalLayout_2.addWidget(self.secondscan) + self.secondcheck = QtWidgets.QPushButton(self.gridLayoutWidget) + self.secondcheck.setObjectName("secondcheck") + self.verticalLayout_2.addWidget(self.secondcheck) + self.horizontalLayout.addLayout(self.verticalLayout_2) + self.verticalLayout_3.addLayout(self.horizontalLayout) + self.horizontalSlider = QtWidgets.QSlider(self.gridLayoutWidget) + self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) + self.horizontalSlider.setObjectName("horizontalSlider") + self.verticalLayout_3.addWidget(self.horizontalSlider) + self.textEdit = QtWidgets.QTextEdit(self.gridLayoutWidget) + self.textEdit.setEnabled(True) + self.textEdit.setMinimumSize(QtCore.QSize(0, 0)) + self.textEdit.setMaximumSize(QtCore.QSize(16777215, 30)) + self.textEdit.setTextInteractionFlags(QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse) + self.textEdit.setObjectName("textEdit") + self.verticalLayout_3.addWidget(self.textEdit) + self.pushButton = QtWidgets.QPushButton(self.gridLayoutWidget) + self.pushButton.setObjectName("pushButton") + self.verticalLayout_3.addWidget(self.pushButton) + self.gridLayout.addLayout(self.verticalLayout_3, 0, 0, 1, 1) + self.label = QtWidgets.QLabel(self.gridLayoutWidget) + self.label.setMouseTracking(True) + self.label.setContextMenuPolicy(QtCore.Qt.NoContextMenu) + self.label.setTextFormat(QtCore.Qt.RichText) + self.label.setScaledContents(False) + self.label.setIndent(0) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 0, 1, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtWidgets.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 200, 21)) + self.menubar.setObjectName("menubar") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtWidgets.QStatusBar(MainWindow) + self.statusbar.setObjectName("statusbar") + MainWindow.setStatusBar(self.statusbar) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + self.horizontalSlider.setValue(100) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) + self.textBrowser.setHtml(_translate("MainWindow", "\n" +"\n" +"

CatMoneyX

\n" +"

Casino bet changer

\n" +"

by BarsTiger

\n" +"

simplified KotoGameScam

")) + self.firstscan.setText(_translate("MainWindow", "100")) + self.firstcheck.setText(_translate("MainWindow", "First check")) + self.secondscan.setText(_translate("MainWindow", "50")) + self.secondcheck.setText(_translate("MainWindow", "Second check")) + self.textEdit.setHtml(_translate("MainWindow", "\n" +"\n" +"

1000000

")) + self.pushButton.setText(_translate("MainWindow", "Change bet")) + self.label.setText(_translate("MainWindow", "

C

a

t

M

o

n

e

y

X

")) + + +app = QtWidgets.QApplication(sys.argv) +MainWindow = QtWidgets.QMainWindow() +ui = Ui_MainWindow() +ui.setupUi(MainWindow) +MainWindow.show() + +address = [] +straddress = [] +sortedAddresses = [] +wantToChangeAddresses = [] +procName = "GTA5.exe" +wantedValue = 1000000 + +def firstcsan(): + global address, straddress + value = int(ui.firstscan.text()) + print("I will check for " + str(value)) + pid = mem_edit.Process.get_pid_by_name(procName) + with mem_edit.Process.open_process(pid) as p: + address = p.search_all_memory(ctypes.c_int(int(value))) + print('Found', len(address), 'addresses') + for i in address: + straddress.append(str(i)) + +def secondscan(): + global address, straddress + sortedAddresses.clear() + proc = pymem.Pymem(procName) + valueAfterChange = int(ui.secondscan.text()) + print("I will leave only " + str(valueAfterChange)) + for addressFromAll in address: + if proc.read_int(addressFromAll) == int(valueAfterChange): + sortedAddresses.append(addressFromAll) + print('Found after ThrowAwaySort:', len(sortedAddresses)) + address.clear() + for i in sortedAddresses: + address.append(i) + straddress.clear() + for i in address: + straddress.append(str(i)) + +def scam(): + wantedValue = getfromslider() + print("Started scamming to " + str(wantedValue)) + proc = pymem.Pymem(procName) + for wantToChangeAddress in wantToChangeAddresses: + proc.write_int(wantToChangeAddress, int(wantedValue)) + print('Changed value in ' + str(wantToChangeAddress) + ' to ' + str(wantedValue)) + print('Values of addresses ' + str(wantToChangeAddresses) + ' now are ' + str(wantedValue)) + +def getfromslider(): + global wantedValue + wantedValue = 10000 * ui.horizontalSlider.value() + ui.textEdit.setText(str(wantedValue)) + return wantedValue + +ui.horizontalSlider.valueChanged.connect(getfromslider) +ui.firstcheck.clicked.connect(firstcsan) +ui.secondcheck.clicked.connect(secondscan) +ui.pushButton.clicked.connect(scam) + +sys.exit(app.exec_())