From df1f6111997fe080f2758db546d8e0198e5fecd7 Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Wed, 5 Jul 2023 23:59:27 +0300 Subject: [PATCH] Publish precompiled tp6.c blob (lots of dirty hacks) --- build.sh | 6 --- game_payload/blob/tp6c.obj | Bin 0 -> 5928 bytes game_payload/copy_tp6c.sh | 4 ++ game_payload/meson.build | 57 ++++++++++++++++++++++++----- gen_resources.sh | 73 +++++++++++++++++++++++++------------ injector/meson.build | 4 +- 6 files changed, 102 insertions(+), 42 deletions(-) create mode 100644 game_payload/blob/tp6c.obj create mode 100644 game_payload/copy_tp6c.sh diff --git a/build.sh b/build.sh index 4b27e02..1b998fc 100644 --- a/build.sh +++ b/build.sh @@ -1,12 +1,6 @@ #!/usr/bin/env bash set -e -if ! [ "x$1" = "xdo" ]; then - echo "A part of the source code is witheld (game_payload/src/tp6.c) to make abuse more difficult. Please download a binary release" - exit -fi -shift - strip="x86_64-w64-mingw32-strip" rm -f jadeite.zip diff --git a/game_payload/blob/tp6c.obj b/game_payload/blob/tp6c.obj new file mode 100644 index 0000000000000000000000000000000000000000..157a80d6508f285c57bd8fb5580b0e0249d66a41 GIT binary patch literal 5928 zcmdT{Z)_Y#6`%EO95*%Db4x0#iIgkaiiEb8JEuU10e53FI5JKt~pe_{2Z4=re1Z_%XtKvhY(kd=3F|?F8G(Fy% znOyF6*Jr0fNQ~sU-~8q`Z{Ey%`*uD4%?^Ssb{!!D49O&H88a5cyjutm@>B~U4{zq< z?eG&KgJa?Gw3V*Y`N0?&TnL{imHg)Fxv!&crqQ4Zf(KjcRp2Ly#KOf!T_;E$1KoGp zxE7b7ZqJ>KYeO)c_t+bZ?TL0b2!k+M0^K=bPl9nQ2)ge59^HA+{n@RHMxymXw09A7 zZ+djyU2a_)-0_NA*A?08)^&pJl1JCwa1h*g7wBY&EwQZc}@e zI)iQJao?nKEB*i#ul`AMz8w739ya_to27FLv@$4BrSBiq=2Y~YX0JTCe3_6$g-XvQ z)Lk;%HMMhUsJe}tS_V_pehX|eBXbMN+_7r48h2W$GtgPS*rLq#fE(qD0cAGGfTYaz zf`U4mm<8vv_)~K&p~h%sR2|ct;gDu8anBq}9ix?mIz*izbw;zFj?c$n5w#O)B*_hc z%kkFsJ*(6NTlzky(zoLA5p)dLu<(CUodHlR)|1D{srIoM9 zG_yVaWDHhEUx?2W$Q)|F%I^$(qxPi%JMji^Pjfda?K`zhFATNHz4Bbuibl^VJ4v6D zcu9^!*QQC&moHY8*&Fcsr4?F!MoLO6noVf$;`9=&?D)4}tB7*&r?0C|&q$d+5dqWO5z9>P77Y6QZNfIH=Zf`CvU z`BjT}Lv(toL3ZlpuFK8RVEMh~)33m^$a}bsl-)ynFDY}+e^{+9{}np8Kk!ZYh61r% z#*~~0D?4XdIPtM6za66XA6SH_y~zA|S1Gi@-{By&XCeTGLGi58L6i;}R5}JjB2)vA zFiX)FuH0nE#yY&yQDpG{n(b`b%SjStuM;2wX8^+WwN;| z5NR2cis;BNynnEb!7sjxu-^9{Ja|`VSO4K7yF<~gJBo!;c7|#GU%Mf2d>{PD;PYyE4HG|0F{fpx?#N`_S)Zs2!e#yBLZ9!dIe9 z25Q^{pieXIRY3UqkjXoMKEu#UP>Hba$Ycr7rx1v_}X1d zb5v+P)$xBg5Cj`Y&RP zNkGCngn4Z-^QX~FvmEv2{(a;8O53Xg2DXZ%&1^6TR8KuU@$j0^9#XXCUE9W!C>4u zbAvbrMwv5r3kGA#nWA7YUYz-sV1N+J4?N7TJ?_vJwVQ$705RLDi@GxKUFmnye4`CEG@xMCt^y$-AVAwP! zik2Bpj+^%wC$lBXFcZ1l;ewT&$Y#=3wvhKx9?6><)9NR(`LuaTH;s}$Su*uZUN`cV znS~)ZqL;F#4Yzssl0xa)mSp$pCvzvRZ4LK~@)Bl(G`%w}E)?9ncAc@@xvff?$ zELr!e`5J%s;Im9G8P;@BFQ%=`q+zAGMTkU_Qx&qlOZG6n~ zs^U}cHl|(MUv9X$yA5~e6K9?p{+_tgsHrDSiW#@wB<8xFohs@&yxnsTn1qi~(>W`9 z;FM(y6-Kh-#=*(-m6_qJX-%hdgJ!`pGM11FGS1%pMMIy+=EoriGwjVZozE50<9fz2 z^>HIZ>W0~ThPbcD{iNa*xi#*q@o4> /dev/null -$linker -r -b binary -o "${resources_o}" "${resource_files[@]}" -popd >> /dev/null +if [ "x${gen_object}" = "x1" ]; then + # Create the object file + pushd "${proj_dir}" >> /dev/null + $linker -r -b binary -o "${resources_o}" "${resource_files[@]}" + popd >> /dev/null +fi -# Include stddef.h in the resources header (for size_t) -echo "#include " >> "${resources_h}" +if [ "x${gen_header}" = "x1" ]; then + # Include stddef.h in the resources header (for size_t) + echo "#include " >> "${resources_h}" -for resource in "${resource_files[@]}" -do - # Use relative path to the resource as the variable name - var_name="_binary_${resource}" + for resource in "${resource_files[@]}" + do + # Use relative path to the resource as the variable name + var_name="_binary_${resource}" - # Replace all non-alphanumeric characters with underscores - var_name=`printf "${var_name}" | sed "s/[^a-zA-Z0-9]/_/g"` + # Replace all non-alphanumeric characters with underscores + var_name=`printf "${var_name}" | sed "s/[^a-zA-Z0-9]/_/g"` - # Define externs in the header - echo "extern void *${var_name}_start;" >> "${resources_h}" - echo "extern void *${var_name}_size;" >> "${resources_h}" - echo "" >> "${resources_h}" -done + # Define externs in the header + echo "extern void *${var_name}_start;" >> "${resources_h}" + echo "extern void *${var_name}_size;" >> "${resources_h}" + echo "" >> "${resources_h}" + done +fi diff --git a/injector/meson.build b/injector/meson.build index 64c6568..865ef92 100644 --- a/injector/meson.build +++ b/injector/meson.build @@ -17,14 +17,14 @@ exe_res_files = custom_target( 'launcher_p.[oh]', output: [ 'launcher_p.o', 'launcher_p.h' ], input: [ launcher_payload_bin ], - command: [ gen_res, './injector', '@OUTPUT0@', '@OUTPUT1@', '@INPUT@' ] + command: [ gen_res, '--header', '--object', './injector', '@OUTPUT0@', '@OUTPUT1@', '@INPUT@' ] ) dll_res_files = custom_target( 'game_p.[oh]', output: [ 'game_p.o', 'game_p.h' ], input: [ game_payload_bin ], - command: [ gen_res, './injector', '@OUTPUT0@', '@OUTPUT1@', '@INPUT@' ] + command: [ gen_res, '--header', '--object', './injector', '@OUTPUT0@', '@OUTPUT1@', '@INPUT@' ] ) # Main injector exe