To extract Google contacts you can use the application provided by Google for free is Google Takeout, this application helps to extract all the data stored in Google Apps including contacts saved on Google. All you need to do is sign in with the Gmail id where all the contacts are saved and then choose the contacts section to extract the files. Later you will receive a mail that will be containing all the information of contacts in the vCard file. You can also change the format of those files with Google Takeout Extractor the third-party tool
Yes for iMessage.
Settings > Messages > Show Contact Photos: ON
Note: Photos from your contacts must be in Contacts app.