Skip to main content

Posts

How to create unique mach-o binaries with different file hash on mac

Sometimes you wonder you might want to create several Mach-O executable files on macOS for any fun or test purpose where each Mach-O has different hash such as ( MD5, SHA1, or SHA256 ) from one another. The following script will help you in achieving that. Pre-requisites: 1. Command-line tools for macOS need to be installed on mac prior to executing the below script. How to Run: 1. Copy the following code snippet to a file and save it with the name randomMachoGenerator.sh. 2. Run the bash script as sh randomMachoGenerator.sh in Terminal. 3. The following script will compile and execute unique Mach-O binaries inside the directory. #!/usr/bin/env bash START=1 END=10 echo 'Generating random Mach-O binaries' for ((n=$START; n<=$END; n++)) do  #Generating 12 letter random string      STATEMENT=$(dd if=/dev/urandom count=1 2> /dev/null | uuencode -m - | sed -ne 2p | cut -c-12)     cat > randomMachoGenerator.cpp << EO
Recent posts

How to use proxy setting with pip to install packages?

If you see error messages like below when you try to install packages in a restricted environment where it is mandated to use proxy settings to download packages - "Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError( , 'Connection to pypi.python.org timed out. (connect timeout=15)')': /simple/wxpython/ " we need to supply proxy server setting to pip while installing the python packages , Example sudo pip install --proxy=https://proxy.example.com:port -U wxPython

Why my 500GB Hard disk shows less size when formatted on the system ?

There are two ways to define a gigabyte.   One is vendor way and another one is the computer's  binary powers of two definition  method. When you buy a "500 Gigabyte" hard drive, the vendor defines it using the  decimal  powers of ten definition  of the "Giga" prefix. 500 * 10 9 bytes = 500,000,000,000 = 500 Gigabytes But the computers operating system determines the size of the drive using the computer's  binary powers of two definitions  of the "Giga" prefix: 465 * 2 30 bytes = 499,289,948,160 = 465 Gigabytes/ Gibibytes If you're wondering where 35 Gigabytes of your 500 Gigabyte drive just disappeared too, you're not alone. It's  an old trick by hard drive makers  -- they intentionally use  the official SI definitions  of the Giga prefix so they can inflate the sizes of their hard drives, at least on paper.  Ideally, we should refer to binary prefix when calculating sizes of storage devices as this makes more sense. Foll

What are the useful nvram settings in macOS ?

The OS X boot arguments are useful for troubleshooting problems with system startup and how the system behaves when running. sudo nvram boot-args="-v" :  This command will set the system to always boot to verbose mode, so we do not need to hold Command + V at system startup. sudo nvram boot-args="-x" :  This will set the system to always boot into Safe Mode. sudo nvram boot-args="-s" :  This command will boot the system into single user mode without needing to hold Command-S at system startup. sudo nvram boot-args="iog=0x0"  :   when you close the display but connect the system to an external monitor and keyboard the system will stay awake. After running this command, when connecting an external monitor, the internal display will be disabled, which can be beneficial in some situations such as those where you are mirroring your desktop but wish to run the external display at a higher resolution than your laptop can run. sudo nvram b

How to rename GIT tags ?

Sometimes we might need to rename the GIT tags , this can be easily achieved by following these steps using GIT command line tool. git tag new-tag old-tag git tag -d old-tag git push origin :refs/tags/old-tag git push --tags

How to check user and group associations on macOS

Sometimes we might have to know the list of users, groups and ids such as userid and groupid on macOS system. There are several ways to find this information.  dsacacheutil: The command  dscacheutil -q group   will output all groups with their name, ID numbers, and list of members. The command    dscacheutil -q user will output name,uid, gid, dir, shell, gecos details. Note:   The above command will output all the groups and user details , including built-in system ones mortals were never meant to see. Check user and group association: We can run below command to check user and group associations to know whether a user belongs to a group or not. dsmemberutil checkmembership -u 501 -g 1 user is not a member of the group Or dsmemberutil checkmembership -U user -G staff The user user cannot be found There was an unknown error. User not found Alternative methods to find group and user details on macOS To list users

How to enable 64 bit testing mode in macOS Mojave 10.14

One can use 64-bit testing mode in macOS 10.14 to test software for 64-bit compatibility. To enable the 64-bit testing mode: Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup. Launch Terminal Execute the following command: nvram boot-args="-no32exec" Restart the machine      Note:  The 64-bit testing mode prevents 32-bit processes from launching. Launching an app that depends on 32-bit software results in a notification that the application can't be opened.  To disable the 64-bit testing mode: Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup. Launch Terminal Execute the following command: nvram boot-args="" Restart the machine