2021-03-15 10:08:27 +08:00
# Salty
2021-03-15 18:00:59 +08:00
Salty is a protection only, BBv2 derived GTAV menu. I'm releasing this now because i don't have time to keep up with new attacks and GTAV has become so toxic it's not enjoyable anymore. Thankfully GTA6 is just around the corner. So here is my code. Have fun!
2021-03-15 10:08:27 +08:00
2021-03-15 10:38:41 +08:00
## Native logging
2021-03-15 10:08:27 +08:00
2021-03-15 20:29:06 +08:00
"Logger" is a configurable logging system for GTAV natives. It reads natives.hpp and produces natives_logging.hpp/cpp. These natives are then hooked and logged at runtime. It can be configured to log namespaces, remove spam/common massages and also ignore some debugging natives which cant be hooked as they crash. Really useful to see what is happing in the scripts. "Process" processes the log file which is useful to fine tune what natives are logged too often to remove unwanted noise.
2021-03-15 11:56:04 +08:00
All script, net and sync events and natives are logged in csv format.
2021-03-15 10:08:27 +08:00
2021-03-15 17:38:16 +08:00
## Protections (crashes)
2021-03-15 10:08:27 +08:00
2021-03-15 13:54:26 +08:00
- model crashes
2021-03-15 17:32:51 +08:00
- sync/ack events - invalid owner
2021-03-15 20:00:35 +08:00
- sync/ack events - invalid object id - objects you dont own - or non existant
2021-03-15 17:32:51 +08:00
- sync/ack events - invalid time random or backwards in time
2021-03-15 18:02:15 +08:00
- sync events - wrong synctree type - sending boat sync trees to car
2021-03-15 17:41:11 +08:00
- sync create - invalid object type
2021-03-15 17:38:16 +08:00
- sync create - flooding with the sync_flag == 4 - script objects
- sync create - multiple objects in the same location
2021-03-15 17:47:38 +08:00
- sync create - duplicate objects id or other players objects
2021-03-15 17:38:16 +08:00
- sync create - creating too many objects in your bubble_id
2021-03-15 17:58:23 +08:00
- sync create - attach or proximity
2021-03-15 17:55:04 +08:00
- sync remove/ack events - removing other players objects or player id's
2021-03-15 17:38:16 +08:00
- sync acks - wrong player, wrong ower or invalid object id
- protocol errors - out of sequence messages / messages depending on player before player object is created
2021-03-15 17:32:51 +08:00
- protocol errors - creating peds/objects before player object
2021-03-15 13:15:20 +08:00
- sync_buffer_read overflow and underflow
2021-03-15 10:39:17 +08:00
- garbage in the datbitbuffer
2021-03-15 13:54:26 +08:00
- structured exception handling on all hooks
- crash signatures in datbitbuffer
- bad script events / flooding
- bad net events / flooding
2021-03-15 12:00:39 +08:00
- can forcibly stop all session transitions by blocking "MainTransition"
2021-03-15 10:08:27 +08:00
2021-03-15 11:07:47 +08:00
## Menus
2021-03-15 11:10:28 +08:00
Previously 100% protected from
2021-03-15 11:09:00 +08:00
- 2Take1
2021-03-15 11:07:47 +08:00
- Luna
- Impulse
- Disturbed
- Paragon
- PhantomX
2021-03-15 10:38:41 +08:00
## Hooks
2021-03-15 10:08:27 +08:00
- functions::buffer_int_t m_buffer_int{};
- functions::clone_pack_t m_clone_pack{};
- functions::clone_create_t m_clone_create{};
- functions::clone_sync_t m_clone_sync{};
- functions::clone_remove_t m_clone_remove{};
- functions::sync_read_t m_sync_read{};
- functions::sync_can_apply_t m_sync_can_apply{};
- functions::unregister_object_t m_unregister_object{};
- functions::clone_create_ack_t m_clone_create_ack{};
- functions::clone_sync_ack_t m_clone_sync_ack{};
- functions::clone_remove_ack_t m_clone_remove_ack{};
- functions::network_event_t m_network_event{};
- functions::script_event_t m_script_event{};
- functions::handle_event_t m_handle_event{};
- functions::game_event_t m_game_event{};
- functions::node_read_t m_node_read{};
- functions::get_owner_t m_get_owner{};
- functions::get_network_object_for_player_t m_get_network_object_for_player{};
- functions::get_network_object_t m_get_network_object{};
- rage::CReplayInterface* m_replay{};
2021-03-16 07:37:14 +08:00
## Todo
2021-03-16 08:52:38 +08:00
- There are loads of other things i've played with that aren't in the code anymore. Parsing netsynctrees, scrapping read32 for hashes, scrapping memory objects for hashes, trying to reverse the network protocol directly. There endless possibilities, but they all take time...
2021-03-16 07:37:35 +08:00
2021-03-15 10:38:41 +08:00
## Thanks
2021-03-15 10:08:27 +08:00
- MIKE#6623/imabignumber (discord)
- Entrodor Wolfry#3502 (discord)
- Pocakking (UC)
- polivilas (UC)
- Chrizzi (UC)
- pelecanidae (UC)
2021-03-15 10:38:41 +08:00
## Skid
2021-03-15 10:08:27 +08:00
- https://github.com/Pocakking/BigBaseV2
- https://github.com/1337Nexo/BigBaseV2
- https://bitbucket.org/gir489/bigbasev2-fix/src/master/
2021-03-15 17:11:59 +08:00
## Contact
- tecel007#9031 (discord)