Run the TurboTax installer until the error dialog pops up. Click the close button since you can't go any further. Now press WinKey-R and type %TEMP% to go to the temporary folder. Copy the ckz_xxxx folder to the desktop. Select the setup.exe file and press CTRL-C then CTRL-V to make a copy.
Now use radare as follows:
Command | Description |
---|---|
r2 -A -w "setup - copy.exe" | analyze and allow writing |
axt str.Detected_OS_is_WIN_8_or_above | look for references to this string |
s 0x402ec2 | seek to the location that was found in the previous command |
VV | now we are at the node references the string. You need to reverse the opcode in the previous node by changing je 0x402ed9 to jnz 0x402ed9 |
Shift-TAB | go to previous node |
( | reverse the opcode |
exit from visual mode | |
q | quit radare |
Now you can click on "setup - copy.exe" and install without error. (Note that the Verified publisher says "unknown" even though we only changed one byte.)
Open the setup.exe file and at offset 0x000022c0 change the 74 to 75. Save it and you are done. Remember this offset only works with the version of TurboTax Deluxe mentioned above. If you have another version, follow the radare instructions above to find the right offset.
DISCLAIMER: This is for educational purposes only. Use TurboTax in Windows 7 at you own risk. It most likely will work just fine, but Intuit doesn't want to support older versions of Windows.
I got TurboTax Deluxe 2021 installing on Windows 7. I modified Setup.exe with Ghidra. After importing Setup.exe into Ghidra and analyzing it:
Click Window -> Defined Strings
Filter on "CurrentVersion" in strings and double click on that string
Click on the function XREF for this string in the center Listing view.
Scroll to the top of this function in the disassembly and click on its XREF (where it is called)
Right click on the JZ instruction after the CALL and click Patch Instruction
Change it to an unconditional JMP (Note: edited from original post):
Click File -> Export Program and save as a new PE format executable in the same directory as the original Setup.exe
The incompatibility check should no longer appear.
I can't guarantee that everything else after that will work, but I was able to perform an update and start my return.