G33K-TRICKS: Computers
Showing posts with label Computers. Show all posts
Showing posts with label Computers. Show all posts

Thursday, October 27, 2022

How to get signature Checksum of any Apk on MAC


Command to get the Signature Checksum of any APK on Mac machine





What are signature checksum:


How to find apk checksum on mac machine
Let's start with, what is a checksum? CheckSum is a sequence of letters n numbers that is obtained from a data for detecting errors that can get introduced in the data while it is being saved or transmitted. If you have a checksum of actual file, using that checksum you can find that the file that you have downloaded or saved is actually the same or was their any tempering done in-between transmission or before it was shared to you.

Now, coming to APKs, SHA-256 / SHA-512 / MD5 are hashing algorithm used while signing a file. The file can be .apk , .txt
A file is signed so that its authenticity can be known. If the apk is tampered, the checksum would change and by comparing the original and the file checksum you can confirm if the apk was modified or not before you start using it.
For Android APK, a tool called apksigner.jar is used to sign and verify the checksum. That binary would be available in the Android SDK usually under build-tools. 

Running alone the apksigner tool gives below output:

USAGE: apksigner <command> [options]

       apksigner --version

       apksigner --help


EXAMPLE:

       apksigner sign --ks release.jks app.apk

       apksigner verify --verbose app.apk


apksigner is a tool for signing Android APK files and for checking whether

signatures of APK files will verify on Android devices.



COMMANDS

rotate                Add a new signing certificate to SigningCertificateLineage


sign                  Sign the provided APK


verify                Check whether the provided APK is expected to verify on

                      Android


lineage               Modify the capabilities of one or more signers in an existing

                      SigningCertificateLineage


version               Show this tool's version number and exit


help                  Show this usage page and exit



I will not go into details of what each command does but if you are interested to read further and want to learn more on Apksigner, you can take a look at developers.android.com.



Check for the SDK build tools path. It would look something like below:

/Users/<YourUserName>/Library/Android/sdk/build-tools/29.0.2/

Signature checksum command for Windows Machine:



apksigner verify -print-certs [apk] | grep -Po "(?<=SHA-256 digest:) .*" | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'


Signature checksum command for Mac Machine:



But on Mac machines, the "Grep" command with -Po  does not work as it is not supported and throws "invalid option -- P" error.

$grep -Po

grep: invalid option -- P

usage: grep [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C[num]]

[-e pattern] [-f file] [--binary-files=value] [--color=when]

[--context[=num]] [--directories=action] [--label] [--line-buffered]

[--null] [pattern] [file ...]



To resolve that, we need to replace the way we do 'grep', by using the perl command. 
The following Perl command is replacement for grep -  

perl -nle 'print $& if m{(?<=SHA-256 digest:) .*}'


So below is the final command to find the checksum of Android apk : 

/Users/<YourUserName>/Library/Android/sdk/build-tools/<BuildToolVersion>/apksigner verify -print-certs <PATH_TO_APKFile> | perl -nle 'print $& if m{(?<=SHA-256 digest:) .*}' | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'


In conclusion, using checksums is crucial in ensuring the authenticity of APK files. By following the steps outlined in this guide, you can find the checksum of an APK file on a Mac machine.

Thursday, May 19, 2022

[Solved] How to resolve Ruby "Error running 'rvm_make -j10'" error on Macbook


[Solved] How to Fix "__rvm_make -j10" error while installing Ruby on Mac machines

Install ruby on macbook m1 pro

We often have to switch from one machine to other or sometimes we go for an upgrade. In my case, I moved from Mac Pro 2016 Intel based chip to Macbook Pro 16 inch,  Apple M1 Pro based chipset and got stuck with this error.

You must have a prior experience, Installing Ruby has always been hassle on Mac/Ubuntu machines but moving away from Intel Chip to M1 Pro added few more challenges. 

RVM is Ruby Version Manager which is command line tool which helps in install, manage and work with different Ruby environments. RVM can also help in switching between different version of Ruby on your computer.

While installing Ruby via RVM, I was constantly getting below error.


> rvm install 2.6.5 

Error running '__rvm_make -j10',

please read /Users/<username>/.rvm/log/1652946926_ruby-2.6.5/make.log

There has been an error while running make. Halting the installation.


Because of the above error, I was not able to Install the Ruby and the installation was halted. My initial assumption was, it is due to OpenSSL lib on machine but it was not. Looking at the make log file, I found that there were many errors and was not able to figure out how to resolve this error. 

Finally after few trial and error, I could resolve the error with this guide.

Here are easy steps to Install Ruby on Macbook Pro with Apple M1 Pro chipset


PreRequisites:

- Brew should already be installed on your machine.
- And change the architecture of your terminal to "arch -arm64 zsh" OR "arch -arm64 sh"

1. Download  the ruby file given in below link
https://raw.githubusercontent.com/rbenv/homebrew-tap/e472b7861b49cc082d1db0f66f265368da107589/Formula/openssl%401.0.rb

2. Save the file to your machine

3. Run brew install <pathWhereFileIsDownloaded>/openssl@1.0.rb

4. Add below path to your shell's rc file
echo 'export PATH="/opt/homebrew/opt/openssl@1.0/bin:$PATH"' >> ~/.zshrc

echo 'export LDFLAGS="-L/opt/homebrew/opt/openssl@1.0/lib"' >> ~/.zshrc
echo 'export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.0/include"' >> ~/.zshrc
echo 'export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.0/lib/pkgconfig"' >> ~/.zshrc

5.  Close the terminal and reopen new OR run source ~/.zshrc to reload the config

6.  Confirm the OpenSSL lib being used by running command:
     openssl version
     
    which returns:

    OpenSSL 1.0.2u  20 Dec 2019

7. Run below command to Disable RVM autolibs 
  rvm autolibs disable 

8. Run below export commands: 
    export RUBY_CFLAGS=-DUSE_FFI_CLOSURE_ALLOC
  export optflags="-Wno-error=implicit-function-declaration"

9. rvm install 2.6.5 --with-openssl-dir=/opt/homebrew/opt/openssl@1.0
 (you can choose any ruby version here)

The final Step #9 should install Ruby and you should see below line confirming Ruby is installed

Install of ruby-2.6.5 - #complete

You can also run :  rvm list  to confirm the ruby version installed status.


If above given steps does not resolve your issue, you can also try running below command which might resolve:

a) apt purge libssl-dev && apt install libssl1.0-dev

b)  rvm install 2.6.6 --with-out-ext=fiddle


Incase, you are seeing the issue on macOS Big Sur, be sure to run this before install a Ruby via RVM:


export warnflags=-Wno-error=implicit-function-declaration


For Reference you can visit this Github issue for RVM and scroll to the bottom of the page to confirm this answer.


Please add your comments, if it helped to resolve the ruby installation.



Incoming Searches:
Error running 'rvm_make -j16'
Error running 'rvm_make -j12'
Error running 'rvm_make -j10'
Error running 'rvm_make -j8'
Error running 'rvm_make -j4'
Error running 'rvm_make -j2'
error running '__rvm_make -j8',
Error running 'rvm_make -j16',
Error running 'rvm_make -j12',
Error running 'rvm_make -j10',
Error running 'rvm_make -j8',
Error running 'rvm_make -j4',
Error running 'rvm_make -j2',

Friday, July 10, 2020

[Resolved] "You don't have permission to complete this action" while adding Payments


How to Resolve "You don't have permission to complete this action [ OR-AC-04 ]" while adding Blogger/Blogspot Payments


So while adding Adsense Account, I encountered this issue while adding the bank account details.
I did a research and could not find a relevant answer to this issue.
Although I was the only account holder for this Adsense account, I was not having permission to add Bank Details in the Payment Method

Even when I was moving across payment screen, I was getting this error.
"Uh oh. There was a problem.You don't have permission to complete this action [OR-AC-04]
cc7ab14e22e0f7e9"


 


Solved - you dont have permission to complete this action in blogger

Solved - you dont have permission to complete this action in blogger


To resolve this I tried to search across different Google threads but could not find much information.
Even though I had the permission for this blog and I was the only owner, it was frustrating to see that I was not able to my own account to the Google Payments.
After few trials to save the Payment settings again and again, I closed the browser and opened up Firefox.
Logged in with the same account and tried adding the Payment details.
To my surprise, it worked! 
So, here is solution you can try. You just need to login to your blogger account with another browser and you should be able save the Payment settings.

Sunday, June 28, 2020

Best Online PDF editor


How to Edit PDF Online


In recent times, use of PDF files have been increased a lot. We use PDFs for Official purpose like filling out forms and getting the details of Bank statements. These all are being generated mostly in PDF.
Edit PDFs online for Free

Invented by Adobe Inc. and perfected over more than 25 years now, Portable Document Format (PDF) is an open standard for electronic document exchange.
To open these PDF files, Adobe also came up with PDF reader which you know with the name as Adobe Acrobat Reader. The Fun part about PDFs are, they are basically non-editable. Unlike Microsoft Word docuements (.doc file) or Text File(.txt file), you cannot edit PDF file just like that.
You need a software which is capable of doing it. The newest sofware version right now, from Adobe for reading PDFs is Adobe Acrobat Reader DC.
These are features that I see available with it.



But if you want to Edit PDF with Acorbat, you need to pay (obviously).




The "Try" version is available only for 7 days and but you would need a Credit Card to continue more than 7 days. 
So, I was looking for some alternative to Acrobat PDF Editor for editing the PDFs.
And recently found a best website to edit  PDF online which is sejda.com/pdf-editor

You just have to upload the PDF file that you want to edit. Click on Upload PDF file button and select the file. 

Upload PDF




Once you upload , your pdf will be shown and you can start editing. 
The best option that I found very useful is the add Signature button.  You can upload the picture signature and then use it wherever the documents wants you to sign.
Point to note while adding the signature is that the signature has to be in white background. Having a photo of signature with different colour that while like pale white or yellow will make the document look fraud as the signature would look like a sticker. You can use online image editors and change the exposure, saturation , colour highlights to edit the colour of the signature picture so that the signature has clear white background.

sejda editing options

You can edit the pdf using the text editor option and once you are done , you need to click on Apply button to perform the changes. 

Edit PDF


On the next page you can download the edited version of the PDF and use it for any purpose.