diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..0d499a24 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,9 @@ +image: registry.gitlab.com/nullworks/cathook-ci/ubuntu-cat-dependencies:build +variables: + DOCKER_DRIVER: overlay2 +build: + stage: build + before_script: + - "git submodule update --init --recursive" + script: + - "mkdir build; cd build; cmake ..; make; cd .." diff --git a/CMakeLists.txt b/CMakeLists.txt index 9672f56f..ea03b02b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,8 @@ -# UNFINISHED - DO NOT USE. +# Current dependencies: +# Git +# OpenSSL (maybe should be removed, only used by backpack.tf esp) +# SDL2 +# GLEW if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type") @@ -15,7 +19,6 @@ set(Game "tf2" CACHE STRING "Target game") set(GameValues "tf2;hl2dm;dab;tf2c;css;dynamic" CACHE INTERNAL "List of supported game types") set_property(CACHE Game PROPERTY STRINGS ${GameValues}) - set(EnableVisuals 1 CACHE BOOL "Enable Visuals") set(LagbotMode 0 CACHE BOOL "Build light cathook made for lagbots") set(ExternalDrawing 0 CACHE BOOL "External Visuals") @@ -54,27 +57,20 @@ find_library(ValveLibraryTier0 NAMES tier0 PATHS "${PROJECT_SOURCE_DIR}/lib" N find_library(ValveLibraryVStdLib NAMES vstdlib PATHS "${PROJECT_SOURCE_DIR}/lib" NO_DEFAULT_PATH) if(EnableIPC) - find_package(SimpleIPC REQUIRED) - get_target_property(SimpleIPC_INCLUDE_DIRS SimpleIPC INTERFACE_INCLUDE_DIRECTORIES) - target_include_directories(cathook PRIVATE "${SimpleIPC_INCLUDE_DIRS}") + add_subdirectory(simple-ipc) + target_link_libraries(cathook SimpleIPC) endif() if(EnableVisuals) - find_package(glez REQUIRED) - get_target_property(glez_INCLUDE_DIRS glez INTERFACE_INCLUDE_DIRECTORIES) + add_subdirectory(libglez) find_package(SDL2 REQUIRED) find_package(GLEW REQUIRED) if(ExternalDrawing) - find_package(xoverlay REQUIRED) - get_target_property(xoverlay_INCLUDE_DIRS xoverlay INTERFACE_INCLUDE_DIRECTORIES) - target_include_directories(cathook PRIVATE - "${xoverlay_INCLUDE_DIRS}") + add_subdirectory(libxoverlay) target_link_libraries(cathook xoverlay) endif() - target_include_directories(cathook PRIVATE - "${SDL2_INCLUDE_DIRS}" - "${glez_INCLUDE_DIRS}") - target_link_libraries(cathook ${ValveLibrarySDL2} glez ${GLEW_LIBRARIES}) + target_include_directories(cathook PRIVATE "${SDL2_INCLUDE_DIRS}") + target_link_libraries(cathook glez ${ValveLibrarySDL2} ${GLEW_LIBRARIES}) endif() configure_file(include/config.h.in ${CMAKE_SOURCE_DIR}/include/config.h @ONLY) diff --git a/README.md b/README.md index a316d5b2..8422af00 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Cathook Training Software ![banner](http://i.imgur.com/w96wdtE.png) +[![pipeline status](https://gitlab.com/nullworks/cathook-ci/badges/master/pipeline.svg)](https://gitlab.com/nullworks/cathook-ci/commits/master) + [cathook announcements channel in telegram](https://t.me/cathook_cheat) diff --git a/TODO b/TODO index 2986b573..ea8386eb 100755 --- a/TODO +++ b/TODO @@ -18,7 +18,7 @@ Hook + Aimbot FIX // // // // // // // // Make hacks respect Mannpower powerups and other conditions when calcuating damage, hitbox and prioritizing targets // // - // // + // // // // Flare aim on fire // // Improve Projectile Aimbot. A lot. // // @@ -27,13 +27,12 @@ MAX -> MIN priority // // // // Hunter Rifle? // // // // - // // + // // Ambassador bodyshotting // // No Trigger Mediguns // // More projectile weapons aimbot (wrap assassin, wrangler, stickybomb, airstrike) // // Auto trigger DR before rockets // // // // -Make make sentrys slightly lower priority (for getting those pesky turtle engies) // // // // Make building aimbot compensate for gravity on projectile weapons // // // // @@ -41,9 +40,9 @@ add Spectator Silent for projectile weapons // // // // Improve aimbot accuracy // // // // - // // // // - // // + // // + // // // // //------------------------------------------------------------------------------------------------------------------// // // // diff --git a/attach-libnamed.sh b/attach-libnamed.sh new file mode 100644 index 00000000..369b7b2a --- /dev/null +++ b/attach-libnamed.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +# Thank you LWSS +# https://github.com/LWSS/Fuzion/commit/a53b6c634cde0ed47b08dd587ba40a3806adf3fe + +line=$(pidof hl2_linux) +arr=($line) +inst=$1 +if [ $# == 0 ]; then + inst=0 +fi + +if [ ${#arr[@]} == 0 ]; then + echo TF2 isn\'t running! + exit +fi + +if [ $inst -gt ${#arr[@]} ] || [ $inst == ${#arr[@]} ]; then + echo wrong index! + exit +fi + +proc=${arr[$inst]} + +echo Running instances: "${arr[@]}" +echo Attaching to "$proc" + +# pBypass for crash dumps being sent +# You may also want to consider using -nobreakpad in your launch options. +sudo rm -rf /tmp/dumps # Remove if it exists +sudo mkdir /tmp/dumps # Make it as root +sudo chmod 000 /tmp/dumps # No permissions + +# Get a Random name from the build_names file. +FILENAME=$(shuf -n 1 build_names) + +# Create directory if it doesn't exist +if [ ! -d "/usr/lib64" ]; then + sudo mkdir /usr/lib64 +fi + +# In case this file exists, get another one. ( checked it works ) +while [ -f "/usr/lib64/${FILENAME}" ]; do + FILENAME=$(shuf -n 1 build_names) +done + +# echo $FILENAME > build_id # For detaching + +cp "bin/libcathook.so" "/usr/lib64/${FILENAME}" + +echo loading "$FILENAME" to "$proc" + +sudo killall -19 steam +sudo killall -19 steamwebhelper + +gdb -n -q -batch \ + -ex "attach $proc" \ + -ex "set \$dlopen = (void*(*)(char*, int)) dlopen" \ + -ex "call \$dlopen(\"/usr/lib64/$FILENAME\", 1)" \ + -ex "call dlerror()" \ + -ex 'print (char *) $2' \ + -ex "catch syscall exit exit_group" \ + -ex "detach" \ + -ex "quit" + +sudo rm "/usr/lib64/${FILENAME}" + +sudo killall -18 steamwebhelper +sudo killall -18 steam diff --git a/build_names b/build_names new file mode 100644 index 00000000..db1f4449 --- /dev/null +++ b/build_names @@ -0,0 +1,234 @@ +ld-2.24.so +ld-linux-x86-64.so +ld-lsb-x86-64.so +libanl-2.24.so +libasm-0.169.so +libasm.so +libatksharpglue-2.so +libbfd-2.26.1-1.fc25.so +libbfd.so +libBrokenLocale-2.24.so +libbuffer.so +libc-2.24.so +libcidn-2.24.so +libclangAnalysis.so +libclangARCMigrate.so +libclangASTMatchers.so +libclangAST.so +libclangBasic.so +libclangCodeGen.so +libclangDriver.so +libclangDynamicASTMatchers.so +libclangEdit.so +libclangFormat.so +libclangFrontend.so +libclangFrontendTool.so +libclangIndex.so +libclangLex.so +libclangParse.so +libclangRewriteFrontend.so +libclangRewrite.so +libclangSema.so +libclangSerialization.so +libclangStaticAnalyzerCheckers.so +libclangStaticAnalyzerCore.so +libclangStaticAnalyzerFrontend.so +libclangToolingCore.so +libclangTooling.so +libclutter-glx-1.0.so +libcmark.so +libcolordcompat.so +libcomps.so +libcppunit.so +libcrypt-nss-2.24.so +libcupscgi.so +libcupsimage.so +libcupsmime.so +libcupsppdc.so +libcups.so +libcurses.so +libcursesw.so +libdb-5.3.so +libdb-5.so +libdb.so +libdevmapper-event-lvm2mirror.so +libdevmapper-event-lvm2raid.so +libdevmapper-event-lvm2snapshot.so +libdevmapper-event-lvm2.so +libdevmapper-event-lvm2thin.so +libdevmapper-event.so +libdevmapper.so +libdl-2.24.so +libdw-0.169.so +libdw.so +libebtc.so +libelf-0.169.so +libelf.so +libevent_core.so +libevent_extra.so +libevent_openssl.so +libevent_pthreads.so +libevent.so +libfdt-1.4.2.so +libfdt.so +libfreebl3.so +libfreeblpriv3.so +libftoa.so +libgcc_s-6.4.1-20170727.so +libgcc_s.so +libgdksharpglue-2.so +libGeneratedSaxParser.so +libgettextlib-0.19.8.1.so +libgettextsrc-0.19.8.1.so +libgladesharpglue-2.so +libglibsharpglue-2.so +libGLX_indirect.so +libgnarl-6.so +libgnat-6.so +libgtksharpglue-2.so +libhawkey.so +libijs-0.35.so +libikvm-native.so +libiscsi.so +libiw.so +libjbig85.so +libjbig.so +libjim.so +libjs.so +libkadm5clnt.so +libkadm5srv.so +liblber.so +libldap_r.so +libldap.so +liblibreofficekitgtk.so +libLLVM-3.9.1.so +libLLVM-3.9.so +liblpsolve55.so +libLTO.so +liblua-5.1.so +liblua-5.3.so +liblua.so +liblvm2app.so +liblvm2cmd.so +libm-2.24.so +libMathMLSolver.so +libmemusage.so +libminilzo.so +libMonoPosixHelper.so +libmozjs-17.0.so +libmozjs-24.so +libmozjs-38.so +libmozjs.so +libmvec-2.24.so +libnetapi.so +libnsl-2.24.so +libnspr4.so +libnss3.so +libnssckbi.so +libnssdbm3.so +libnss_dns-2.24.so +libnss_dns.so +libnss_files-2.24.so +libnss_files.so +libnss_mdns4_minimal.so +libnss_mdns4.so +libnss_mdns6_minimal.so +libnss_mdns6.so +libnss_mdns_minimal.so +libnss_mdns.so +libnss_myhostname.so +libnss_mymachines.so +libnsspem.so +libnss_resolve.so +libnss_sss.so +libnsssysinit.so +libnssutil3.so +libnvidia-compiler.so +libnvidia-eglcore.so +libnvidia-fatbinaryloader.so +libnvidia-glcore.so +libnvidia-glsi.so +libnvidia-gtk2.so +libnvidia-gtk3.so +libnvidia-tls.so +libopcodes-2.26.1-1.fc25.so +libopcodes.so +libOpenCOLLADABaseUtils.so +libOpenCOLLADAFramework.so +libOpenCOLLADASaxFrameworkLoader.so +libOpenCOLLADAStreamWriter.so +libpangosharpglue-2.so +libpasswdqc.so +libpcprofile.so +libplc4.so +libplds4.so +libpng.so +libpthread-2.24.so +libpython3.so +libQt3Support_debug.so +libQtCLucene_debug.so +libqtconfiguration.so +libQtCore_debug.so +libQtDBus_debug.so +libQtDeclarative_debug.so +libQtDesignerComponents_debug.so +libQtDesigner_debug.so +libQtGui_debug.so +libQtHelp_debug.so +libQtMultimedia_debug.so +libQtNetwork_debug.so +libQtOpenGL_debug.so +libQtScript_debug.so +libQtScriptTools_debug.so +libQtSql_debug.so +libQtSvg_debug.so +libQtTest_debug.so +libQtXml_debug.so +libQtXmlPatterns_debug.so +libquvi-0.9-0.9.4.so +libqwt5-qt4.so +libreg.so +librepo.so +libresolv-2.24.so +librhash.so +librt-2.24.so +libsamba-errors.so +libSDL2_image.so +libSDL2.so +libSDL.so +libSegFault.so +libsemanage.so +libslapi.so +libsmbconf.so +libsmbldap.so +libsmime3.so +libsoftokn3.chk +libsoftokn3.so +libsolvext.so +libsolv.so +libssl3.so +libsss_sudo.so +libtcl8.6.so +libtermcap.so +libthread_db-1.0.so +libthrift-0.9.1.so +libthriftqt.so +libthrift.so +libthriftz-0.9.1.so +libthriftz.so +libtk8.6.so +libtxc_dxtn.so +libuniconf.so +libUTF.so +libutil-2.24.so +libvdpau_nvidia.so +libwvbase.so +libwvdbus.so +libwvstreams.so +libwvutils.so +libXaw.so +libxerces-c-3.1.so +LLVMgold.so +LLVMHello.so +p11-kit-proxy.so +p11-kit-trust.so diff --git a/include/ipc.hpp b/include/ipc.hpp index d6b18b14..dccc6414 100755 --- a/include/ipc.hpp +++ b/include/ipc.hpp @@ -11,7 +11,7 @@ #if ENABLE_IPC -#include "ipcb.hpp" +#include #include "pthread.h" #include diff --git a/libglez b/libglez index aa37e735..06bd9fce 160000 --- a/libglez +++ b/libglez @@ -1 +1 @@ -Subproject commit aa37e735a7dbc86e64a9849fbeef0194685d2169 +Subproject commit 06bd9fceaff516e6fcb86f86c4a1fc5512685745 diff --git a/libxoverlay b/libxoverlay index de4e4bb2..b7e2c85f 160000 --- a/libxoverlay +++ b/libxoverlay @@ -1 +1 @@ -Subproject commit de4e4bb2787a5c586bd54834f9b09b703b35e59e +Subproject commit b7e2c85f47522ea6d59c925d395eb2badcd4d23b diff --git a/simple-ipc b/simple-ipc index 60f43c1c..f983bd9f 160000 --- a/simple-ipc +++ b/simple-ipc @@ -1 +1 @@ -Subproject commit 60f43c1c8ebe794345f8ab2ba465984ec445a9c6 +Subproject commit f983bd9fd8e50f5ef944f4c5952cbb791446e72d diff --git a/src/hacks/Radar.cpp b/src/hacks/Radar.cpp index 950ee755..4c07b085 100644 --- a/src/hacks/Radar.cpp +++ b/src/hacks/Radar.cpp @@ -9,6 +9,7 @@ #include "Radar.hpp" #ifndef FEATURE_RADAR_DISABLED +#if ENABLE_VISUALS namespace hacks { @@ -296,3 +297,4 @@ void Draw() } #endif +#endif