Skip to content

iOS arm64/arm64e tweak to modify volume methods and brick them

License

Notifications You must be signed in to change notification settings

sandStoop/BrickMyVolume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Objective-C

iOS's least useful tweak

Introducing the... BrickMyVolume, the tweak which removes all volume down and volume up functionality. With this tweak installed, the volume down and volume up events are automatically overrided with null code.

Why was this made? It's useless.

Everything has a use for at least one person. - sandStoop

It could be used to prevent volume modifications by setting a lock on the volume.

How does it work from a developer's perspective?

The code is 8 lines when only including functionality. Let's break it down:

  1. It hooks into the SBVolumeControl class. This is from the VolumeControl/VolumeControl.h header. Since the Springboard's headers (and therefore, classes) are automatically loaded in, no imports are made. This class holds all methods for controlling the volume (which includes increaseVolume and decreaseVolume)
  2. It modifies the code of the increaseVolume method which is used to increase the volume of the device (when the volume up button is pressed, this method is ran). Instead of doing %orig which increases the volume and in newer iOS versions, shows and updates a special volume UI, it simply returns NO. That's it, nothing happening except plain NO.
  3. The same thing as step 2 happens for decreaseVolume!

Does this tweak work on arm64 or arm64e?

It works on both! The only requirement is that your device needs to use the SBVolumeControl class for volume control, which isn't used for iOS 2.0 - 13.0!

It does not work for my device!

Your device is likely using VolumeControl's class instead. If so, make a GitHub issue since as of now, there is no traffic nor activity of this type to prove this suspicion. Keep in mind I don't have many iOS devices nor do I have iOS manual header practice to test every iOS device (or to check if they have the header and the class).

Check if your device is on Safe Mode or has tweak injection disabled, both of these factors will unbrick your volume!

What are things that need to be done?

The most important actions for this repository sorted from most to least important are:

  1. Use another library such as Cephei to add the tweak into Settings! (after skill improvements)
  2. Try to find more and make a reasonable explanation of VolumeControl, which will help the inclusion of older devices in the long term
  3. Add this tweak into an actual repository
  4. Improve the README and other visibility factors of this tweak's repository

Please credit me in the tweak's description or in another way when uploading this tweak in external repositories!

About

iOS arm64/arm64e tweak to modify volume methods and brick them

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published