Powershield cannot support the try... catch... structure.
When splitting code, powershield does not correct some branch addresses of try as new addresses, resulting in branch loss. Therefore, powershield cannot support the try... catch... structure.
A simple example:
Try
MessageBox ("", 1)
I = I/(I-I)
Catch (runtimeerror ER)
MessageBox ("", 2)
Finally
MessageBox ("", 3)
End try
Normally, msg1, 2, 3. After obfuscation, only msg1. then exit by mistake.
20130515
In addition, in catch, it is normal to make an IF (catch result) then jump to Exception Handling. After obfuscation, this logic judgment is forcibly changed to "unconditional jump" to the end try position, that is to say, the judgment of skipping to the exception handling location is discarded. I think that's why only msg1 is used.
Conclusion: powershield cannot support the try... catch... structure.
Advertisement by the way: My new Pb obfuscator test download (lower to pb5, upper to pb12.5)