package com.aspose.words; import com.aspose.words.internal.zz29; import com.aspose.words.internal.zz2H; import com.aspose.words.internal.zz2I; import com.aspose.words.internal.zz6M; import com.aspose.words.internal.zz97; import com.aspose.words.internal.zzQB; import com.aspose.words.internal.zzZ; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 破解aspose-word * @author weidy */ final class zzZLS { private String[] zzYRe; private String zzYRd; private Date zzYRc; private Date zzYRb; final void zzY(String var1, Class var2) throws Exception { if (!"".equals(var1)) { zz2H var10000; File var8; if ((var8 = new File(var1)).exists()) { var10000 = new zz2H(var8); } else { String var9 = zz29.zzC(this.getClass()); if ((var8 = new File(var9, var1)).exists()) { var10000 = new zz2H(var8); } else { var9 = zz29.zzC(var2); if (!(var8 = new File(var9, var1)).exists()) { throw new IllegalStateException("Cannot find license '" + var1 + "'."); } var10000 = new zz2H(var8); } } zz2H var3 = var10000; try { this.zzW(var3); } finally { var3.close(); } } else { zzYR9 = this; } } final void zzW(InputStream paramInputStream) throws Exception { this.zzYRa = 1;zzYR9 = this; } static int zzZIV() { return 1; } static int zzZIU() { return 1; } private void zzV(InputStream paramInputStream) throws Exception { byte[] arrayOfByte1 = zzZ.getBytesFromStream(paramInputStream);byte[] arrayOfByte2 = zz6M.zzZ(zz6M.zzBZ(), zz6M.zzUF(1252), arrayOfByte1); DocumentBuilderFactory localDocumentBuilderFactory; DocumentBuilder localDocumentBuilder; Document localDocument; Element localElement1; Element localElement2 = zzX(localElement1 = (localDocument = (localDocumentBuilder = (localDocumentBuilderFactory = zz97.zzEc()).newDocumentBuilder()).parse(new ByteArrayInputStream(arrayOfByte2))).getDocumentElement(), "Data");Element localElement3 = zzX(localElement1, "Signature");zzZ(localElement2, localElement3); Element localElement4; NodeList localNodeList = (localElement4 = zzX(localElement2, "Products")).getElementsByTagName("Product");this.zzYRe = new String[localNodeList.getLength()]; for (int i = 0; i < this.zzYRe.length; i++) { this.zzYRe[i] = localNodeList.item(i).getFirstChild().getNodeValue(); } String str = zzZ(localElement2, "EditionType"); if ((!"Professional".equals(str)) && (!"Enterprise".equals(str))) { throw new IllegalStateException("Invalid edition type."); } this.zzYRd = zzZ(localElement2, "SerialNumber");this.zzYRc = zzY(localElement2, "SubscriptionExpiry");this.zzYRb = zzY(localElement2, "LicenseExpiry"); } private static void zzZ(Node var0, Node var1) throws Exception { byte[] var2; if (var0 != null) { StringBuilder var3; zzZ(var3 = new StringBuilder(), var0); var2 = var3.toString().getBytes("UTF-16LE"); } else { var2 = new byte[0]; } byte[] var6; if (var1 != null) { var6 = zz2I.decode(var1.getFirstChild().getNodeValue()); } else { var6 = new byte[0]; } zzZ(var2, var6, "0nRuwNEddXwLfXB7pw66G71MS93gW8mNzJ7vuh3Sf4VAEOBfpxtHLCotymv1PoeukxYe31K441Ivq0Pkvx1yZZG4O1KCv3Omdbs7uqzUB4xXHlOub4VsTODzDJ5MWHqlRCB1HHcGjlyT2sVGiovLt0Grvqw5+QXBuinoBY0suX0="); if (zzYS0.zzZ9e() > 0) { zzYS0.clear(); zzZ(var2, var6, "qKFqqhFovZvEYCHeD3N8Oy+AuxrOA8cVvIl4u4qIBMQlzejGyXkiTUjoryuzlhlS2bG80FGmFsH+wUKbYiEkW/4zseZCV/Ej/usbu6yHACQKO/SCy3pYw68Pcv901pvywUnoaYCI2ccCG29+XM+FwpFQuiPb2H7YbI/++SQs6Hk="); } if (zzYS0.zzZ9e() > 0) { zzYS0.clear(); zzZ(var2, var6, "3ki45T6C4lt12J5MbKfrADBCZcE8OTefdngc9IDKg+lzCGYLuxJFDt16awhJFnA23sX+kQ4/eZQ5pNAYjc+ZJ0+pWwvQR4h8GJ3eWvecdFs7KSWwNmFXZCSN+sbrxwEjzzns1kIHuLNf5r+Zaggns+8rqXR19RSJBOcuFqVipIHv56lF53Hc+hx+y9URIaadO1W8dkTqgwExyfjnbDOaCBEH0CqUL1YIICS/wIUTEKhM0ZlwEcIcHl8XTHLVx96DMX4bbVajj78L4KzevQc442DX28KGDJTveEB1pSKWsr0d4FTx7wKS36RBnWv5lwsRErtTZb5ciVIG1iIJrp87VQ=="); } } private static void zzZ(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, String paramString) throws Exception { String str; byte[] arrayOfByte1 = zz2I.decode(str = "AQAB"); byte[] arrayOfByte2 = zz2I.decode(str = paramString); zzZ3V localzzZ3V; (localzzZ3V = new zzZ3V(arrayOfByte2, arrayOfByte1)).zzS(paramArrayOfByte1, paramArrayOfByte2); } private static synchronized zzQB zzPl(String paramString) throws Exception { InputStream localInputStream; if ((localInputStream = License.class.getResourceAsStream("/com/aspose/words/resources/" + paramString + ".Real.xml")) == null) { throw new IllegalStateException("Cannot find black listed licenses resource. Please report this error to Aspose."); } try { DocumentBuilderFactory localDocumentBuilderFactory; DocumentBuilder localDocumentBuilder; Document localDocument; Element localElement1; Element localElement2 = zzX(localElement1 = (localDocument = (localDocumentBuilder = (localDocumentBuilderFactory = zz97.zzEc()).newDocumentBuilder()).parse(localInputStream)).getDocumentElement(), "Data");Element localElement3 = zzX(localElement1, "Signature");zzZ(localElement2, localElement3);zzQB localzzQB1 = new zzQB(); NodeList localNodeList = localElement2.getElementsByTagName("SN"); for (int i = 0; i < localNodeList.getLength(); i++) { localzzQB1.add(localNodeList.item(i).getFirstChild().getNodeValue()); } return localzzQB1; } finally { localInputStream.close(); } } private static String zzZ(Element paramElement, String paramString) { Element localElement; if ((localElement = zzX(paramElement, paramString)) != null) { return localElement.getFirstChild().getNodeValue(); } return ""; } private static Date zzY(Element paramElement, String paramString) throws ParseException { String str = zzZ(paramElement, paramString); if (!"".equals(str)) { return new SimpleDateFormat("yyyyMMdd").parse(str); } return new Date(253402300799999L); } private static Element zzX(Element paramElement, String paramString) { NodeList localNodeList; if ((localNodeList = paramElement.getElementsByTagName(paramString)).getLength() > 0) { return (Element)localNodeList.item(0); } return null; } private static void zzZ(StringBuilder paramStringBuilder, Node paramNode) { if (paramNode.getNodeType() == 1) { paramStringBuilder.append('<');paramStringBuilder.append(paramNode.getNodeName());paramStringBuilder.append('>'); NodeList localNodeList1; NodeList localNodeList2; Node localNode2; if ((((localNodeList2 = localNodeList1 = paramNode.getChildNodes()) != null) && (localNodeList2.getLength() == 1) && ((localNode2 = localNodeList2.item(0)) != null) && (localNode2.getNodeType() == 3) ? 1 : 0) != 0) { Node localNode1; String str = (str = (str = (str = (localNode1 = localNodeList1.item(0)).getNodeValue()).replace("&", "&")).replace("<", "<")).replace(">", ">");paramStringBuilder.append(str); } else { for (int i = 0; i < localNodeList1.getLength(); i++) { zzZ(paramStringBuilder, localNodeList1.item(i)); } } paramStringBuilder.append('<');paramStringBuilder.append('/'); paramStringBuilder.append(paramNode.getNodeName());paramStringBuilder.append('>'); } } private int zzYRa = 0; private static zzZLS zzYR9 = null; private static zzQB zzYR8; private static zzQB zzYR7; }