Jump to content

HorridModz

Contributor
  • Posts

    287
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by HorridModz

  1. Can you please elaborate? Do you not know what whether you are 32bit or 64bit? Do you not know what libil2cpp.so file to use? Do you not know what hex value to edit to? I need more information to be able to help.
  2. View File Pixel Gun 3D Lottery Sets Template Unlike the all updates version, this script does support Armv7 (32bit). Contact Me: User123456789#6424 on discord Disclaimer: This script is bannable! Getting too much currency within a certain time frame will flag your account as suspicous and you will be banned in the next ban wave. I recommend only getting at most 2,000 gems per day, or your account will have a high risk of being banned. Even if you do play it safe, you can still be banned. Warning: Using the custom value option and setting the reward values to over 45,000 will instantly ban you! While my all updates lottery sets script will work for multiple versions, the devs like to patch it manually. So, I decided to make an alternative. This is a template for updating lottery sets yourself! Features: -Supports various values, and lets you enter a custom value if it does not have what you want. Currently, only whole numbers (no decimal values like 1.5) in the range of 0 to 65536 are supported. -Supports devices with both armv7 (32bit) and armv8 (64bit) architectures -This script has a small antiban feature that warns you when you try to edit the reward values over 45,000 Updating: This script will only work for one update, but unlike the all updates version, it's really easy to update the script yourself. Just open up the file in a text editor, and you will be greeted with some data to fill in: The 32bit and 64bit hex values, game version, and your name (optional). The hard work is obtaining these hex values. While it's very easy to do yourself, you will have to be experienced with hex patching in order to update it. Here's my favorite beginner-friendly hex patching tutorial: https://www.youtube.com/watch?v=yAK7rRhmTG4&t=41s&ab_channel=PMTDVA. If you have any questions about how to do this, feel free to contact me on discord! While it is possible to make this template work for all updates, it would require a lot of work. I may eventually make this, but don't count on it. Submitter HorridModz Submitted 01/14/2023 Category LUA scripts  
  3. Version 1.0.0

    1,791 downloads

    Unlike the all updates version, this script does support Armv7 (32bit). Contact Me: User123456789#6424 on discord Disclaimer: This script is bannable! Getting too much currency within a certain time frame will flag your account as suspicous and you will be banned in the next ban wave. I recommend only getting at most 2,000 gems per day, or your account will have a high risk of being banned. Even if you do play it safe, you can still be banned. Warning: Using the custom value option and setting the reward values to over 45,000 will instantly ban you! While my all updates lottery sets script will work for multiple versions, the devs like to patch it manually. So, I decided to make an alternative. This is a template for updating lottery sets yourself! Features: -Supports various values, and lets you enter a custom value if it does not have what you want. Currently, only whole numbers (no decimal values like 1.5) in the range of 0 to 65536 are supported. -Supports devices with both armv7 (32bit) and armv8 (64bit) architectures -This script has a small antiban feature that warns you when you try to edit the reward values over 45,000 Updating: This script will only work for one update, but unlike the all updates version, it's really easy to update the script yourself. Just open up the file in a text editor, and you will be greeted with some data to fill in: The 32bit and 64bit hex values, game version, and your name (optional). The hard work is obtaining these hex values. While it's very easy to do yourself, you will have to be experienced with hex patching in order to update it. Here's my favorite beginner-friendly hex patching tutorial: https://www.youtube.com/watch?v=yAK7rRhmTG4&t=41s&ab_channel=PMTDVA. If you have any questions about how to do this, feel free to contact me on discord! While it is possible to make this template work for all updates, it would require a lot of work. I may eventually make this, but don't count on it.
  4. This isn't pg3d related; it's the architecture. PG3D has no anti-speedhack or anything special. However, you don't have to use the built-in speedhack. You can also use a script, like this one: https://gameguardian.net/forum/files/file/2918-auto-speedhack-finder/
  5. I don't currently have an anti-cheat bypass. Sorry.
  6. Armor is easy to mod, but most other wear items like masks and capes work differently. I could do it, but I'd have to rewrite the whole script.
  7. Have you tried restarting your game and trying again?
  8. Tiger is my favorite pet in pg3d Suggestion: Instead of setting pet's level to 0, set pet parts to 99999.
  9. Lua scripts are sandboxed. They have limited file access. They show a warning when the script tries to access the internet. This stuff is intentional. It's to prevent abuse. If gameguardian devs added these safety features, why would they encourage a way to bypass them? However, lua scripts need some freedom, or else they will be useless. So functions like gg.setValues are provided and encouraged. Just like in any software, there's a balance between security and functionality. As I said before, I do wish this functionality existed myself. But my point is that it realistically has no chance to make it into vanilla gameguardian. By the way, I'm sorry for being a little rude to you. I don't want to get stuck on this.
  10. I don't intend to make this, but thanks for the suggestion! I'll keep it in mind. I have a 64bit lottery and sets script that gives you lots of gems and coins.
  11. pthread_create is a feature of c++. Gameguardian does not encourage the use of running arbitrary c++. Why would they add to a feature when the feature is unwanted in the first place? I think @Feribjust doesn't want to admit he made a bad example. He's doesn't want to admit he made a mistake, so there's no point arguing about it.
  12. Why did you remove the custom option? It works for 64bit and has no issues! I had code to make sure the custom number was valid (between 0 and 65535), and it gave a scary warning when you tried to edit over 45k. It's your script, so don't feel obligated to add it back. But I think a lot of people (including myself) liked the custom option. It didn't cause anyone to get accidently banned or crash the game, either.
  13. discord.gg/moonsec
  14. The script has been patched, but @Michael1541went through a lot of effort to make an updated version for the community! Switch to that one instead: PG3D Lottery and Sets script updated - LUA scripts - GameGuardian
  15. Yes, I know this is possible and I've done it myself. But my theory for why this functionality is not included is that Enyby does not want it to be easy. It's impossible to prevent this from happening because you can use hooking, but it's more difficult when it's not baked into gameguardian. Also, please be respectful. The moderators on this site are very sensitive, and this post could easily get you a warning (which would give you a warning point that showed on your profile forever and reminded people you weren't a very nice guy).
  16. This would be useful, but I believe gameguardian specifically does not want us to run our own code because of security. That's why lua scripts are sandboxed and have certain functionality, eg: file access, limited / entirely removed. Adding an option to inject assembly code would be begging for someone to come along and make a malicious script. Personally, I am in support of this. But AFAIK the gameguardian admins aren't.
  17. This is great @Sysadmin, but can you also shoutout Moonsec? I feel like they deserve a shoutout just as much. Moonsec also has an awesome obfuscator that's free - and it comes with an anti-log feature. In addition, they have a paid obfuscator and a tool called LuaAuth that allows users to manage access to scripts by ip addresses.
  18. That sounds great. Since pg3d has lots of protections and anticheat, it may be more satisfying for you to mod an easier game, such as an offline game, or maybe even a mono game (mono is what unity games were made with before 2017, it made app apks come with the source code so you could easily edit the source code however you pleased). Personally, I remember when I edited the source code of an offline game with no protection that was built with mono. I trivially modified a lot of stuff in only a few hours, then I installed the modified game and got to enjoy all the mods I had created. It was really cool and gave me a lot of motivation. I recommend trying that to give yourself courage, but if you want to stick to pg3d, feel free to. I just hope you don't get frustrated. Also, make sure to follow a tutorial every once in a while. In my opinion, that's the best way to learn new things as well as to build onto your current skills. I recommend watching a couple of PMTDVA's tutorials.
  19. Tell me where anyone said this was an xp spoofer. You just did the equivalent of walking into a furniture store and asking if they sold shoes. I don't plan to update this script. Sorry.
  20. I don't think there's any bp scripts that currently exist. You'll have to make your own. The reason bp scripts are almost extinct is because the game has been obfuscated since version 16.6.1, and most modding has been achieved by comparing 16.6.1 with the current version to deobfuscate the game's code and find hacks. The pixel pass was not a thing in version 16.6.1, so all the pixel pass code is obfuscated and almost impossible to deobfuscate. This makes it very difficult to find battle pass hacks.
  21. Make sure you follow the instructions exactly: Run the script, select the armor you want, go to the armory and navigate to the armor section, then click the gameguardian icon again. If you are sure you're doing it correctly and it still isn't working, please send me a video.
  22. Thanks so much! Where in the heck did you find this? Correction: This says paying, not playing (meaning whether you are an f2p player or you have spent money or the game before) I believe the script is working again in 22.8, but I have not verified this myself.
  23. Wow, it's finally done! I didn't even know you posted this. I'm glad you figured out how to improve old script. The gallery number sorting is a good idea!
  24. Most tutorials on hex patching do not explain how hex patching works. I'll explain exactly what hex patching is and how it works, from the very beginning. @MainCand @BadCasedid a great job explaining, but they didn't go in-depth. To understand what the libil2cpp.so file is, you have to understand how the game's libil2cpp.so file is generated. All games with libil2cpp.so files are made with Unity's Il2cpp Backend. Unity is a game engine where you write your code in the C# programming language, and the engine compiles it into an apk. Most of the game's code, such as the 'headshot' method, is converted from C# to IL (Intermediate Language) to C++. This C++ code is then compiled to assembly code, which is encoded into hex and stored in the libil2cpp.so file. Different devices use different assembly languages (called architectures) - android has armv7 (32bit) and armv8 (64bit). There is a libil2cpp.so file for each architecture. In most Unity games, there is armv7, armv8, and sometimes x86 support. In armv7, armv8, and x86, all assembly instructions are 4 bits long when encoded into hex. When the game executes a method like the 'headshot' method, the hex for the headshot method is taken from the libil2cpp.so file for the device's respective architecture, decoded back into assembly code, and run. This is not the exact process, but I left some information out and simplified some stuff. To visualize this, I like comparing c code to assembly code to hex. Arm Hex Converter Online can be used to converted between assembly code and hex, and Compiler Explorer can be used to convert c code to assembly code. There is currently no way to perfectly convert from assembly code back to c code, so you will have to learn assembly code to understand it. So what does Mov R0, #1 bx lr mean? I like looking at it in c. This is the same as: return(1) There are multiple ways to write this in assembly, so compiler explorer might contradict us. But Mov R0, #1 bx lr is the simplest way to do it. Let's make up an example of how we would use hex patching and walk through it step by step. Say that the offset for the 'headshot' method is 0x67AB0AB. This means that the function's code begins at the 67AB0AB's byte of the libil2cpp.so file. The offsets are usually in hexadecimal - this is what most hex editors use, and what most tools / resources like dnspy and Il2cppDumper use. This represents the decimal (base10) number 108703915. So, we know that the function begins at the 108703915th byte of the libil2cpp.sp file. If we go to this offset in our hex editor (most hex editors use hexadecimal offsets, so we go to offset 67AB0AB, the first 8 bytes are 06 00 00 15 00 88 FC BF. Each assembly instruction is 4 bytes, so we are looking at the first 2 assembly instructions of the function. We edit this to our hex (if we want to working with armv7, and we want the function to always return 1, we use the hex 01 0 0A0 E3 1E FF 2F E1, which decodes to Mov R0, #1 bx lr . We only have to edit the first 8 bytes (2 instructions) of the function because if we always edit the first instructions to return, the function will always return before it executes any other instructions. This is how return statements work in almost all programming languages. For this reason, we edit only two instructions and do not have to overwrite the whole function. We need to edit two instructions and not just one because return(1) takes two instructions in assembly. If we want to return a number that cannot be expressed in one statement (ex: for armv8, the maximum number you can directly use is 65535, or 0xffff in hexadecimal), or we want to do something more complicated than always returning a number, we may need more than two instructions. In this case, we overwrite as many instructions as we need. If our new function is very complex, it might be longer than the original function. This will rarely happen, but just in case, you should use workarounds when your new function is long. I do not currently know how to find where a function ends, only how it starts. A .so file is a linux shared library file (armv7, armv8, and x86 architectures use linux), so if anybody wants to try to find out an easy way to find out where a function ends, or even better, a way to list all of the functions in a given .so file, (it would be awesome if somebody does this!), this is a starting point to start researching. Hopefully this is a helpful guide and it explains hex patching in-depth! Sorry I wrote so much, I got a little carried away NOTE: In most assembly languages, including armv7, armv8, and x86, the numbers 1 and 0 are used respectively instead of true and false. The hexadecimal representations of 1 and 0 (0x1 and 0x1) can also mean true and false respectively.
  25. I use a rooted android emulator with gameguardian. I am not an expert at setting up gameguardian or rooting, so don't ask me if you are having issues - there are many great tutorials on youtube that explain better than I can.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.