<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[The Bytecode Club - Reverse Engineering Forum - Programming]]></title>
		<link>https://the.bytecode.club/</link>
		<description><![CDATA[The Bytecode Club - Reverse Engineering Forum - https://the.bytecode.club]]></description>
		<pubDate>Mon, 18 May 2026 05:45:38 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Help for loss android auto when modify apk]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45875</link>
			<pubDate>Sun, 29 Jul 2018 15:35:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=13966">chuppito</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45875</guid>
			<description><![CDATA[[color=#454545][font=Hind, sans-serif]Hello,[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]If I edit waze and compiling it as an apk will dispair the original signature, but I can use it. The concern is that we also disrupt the integration of Spotify and the display of android auto (this is the most annoying).[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]Is there a way to ensure that you continue to enjoy these two functions? I think the solution is either in classes.dex or in the manifest.[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]Thank you for your help because I stagnate.[/font][/color]]]></description>
			<content:encoded><![CDATA[[color=#454545][font=Hind, sans-serif]Hello,[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]If I edit waze and compiling it as an apk will dispair the original signature, but I can use it. The concern is that we also disrupt the integration of Spotify and the display of android auto (this is the most annoying).[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]Is there a way to ensure that you continue to enjoy these two functions? I think the solution is either in classes.dex or in the manifest.[/font][/color]<br />
[color=#454545][font=Hind, sans-serif]Thank you for your help because I stagnate.[/font][/color]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Understanding the Anti-Tampering of APK]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45864</link>
			<pubDate>Fri, 11 May 2018 16:05:28 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=13915">phatpat567</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45864</guid>
			<description><![CDATA[Hello guys, <br />
<br />
I'm looking to extract the API calls of an obfuscated apk. It seems like the app was obfuscated with DexGuard, since there is one .class fragment which is called ProtectedGame.class.<br />
<br />
The app communicates over X.509 SSL with certificate pinning, therefore all I need to do is to modify the methods checkServerTrusted() and checkClientTrusted(). But as soon as I edit something in the .smali the App crashes immediately after reinstalling. Even if I just sign the .apk with a new generated key, the app crashes. It seems that there are some anti-tampering methods involved that check the signature of the app. I tried to modify the obfuscated methods in the .smali but hadn't got any success. I also tried running some xposed modules on Android 4.x that claim to counter certificate pinning.<br />
<br />
Can you help me with this? I am talking about this app: https://play.google.com/store/apps/details?id=ch.pala.resources&amp;hl=en_US<br />
<br />
I will include the compiled ProtectedGame.java, ProtectedGame.smali and the original .apk to this post.<br />
<br />
Thank you!<br />
<br />
[b]The files:[/b]<br />
https://drive.google.com/file/d/1N_dpWBabLoS3dwD2lquzrhcd30i9E39t/view?usp=sharing]]></description>
			<content:encoded><![CDATA[Hello guys, <br />
<br />
I'm looking to extract the API calls of an obfuscated apk. It seems like the app was obfuscated with DexGuard, since there is one .class fragment which is called ProtectedGame.class.<br />
<br />
The app communicates over X.509 SSL with certificate pinning, therefore all I need to do is to modify the methods checkServerTrusted() and checkClientTrusted(). But as soon as I edit something in the .smali the App crashes immediately after reinstalling. Even if I just sign the .apk with a new generated key, the app crashes. It seems that there are some anti-tampering methods involved that check the signature of the app. I tried to modify the obfuscated methods in the .smali but hadn't got any success. I also tried running some xposed modules on Android 4.x that claim to counter certificate pinning.<br />
<br />
Can you help me with this? I am talking about this app: https://play.google.com/store/apps/details?id=ch.pala.resources&amp;hl=en_US<br />
<br />
I will include the compiled ProtectedGame.java, ProtectedGame.smali and the original .apk to this post.<br />
<br />
Thank you!<br />
<br />
[b]The files:[/b]<br />
https://drive.google.com/file/d/1N_dpWBabLoS3dwD2lquzrhcd30i9E39t/view?usp=sharing]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Form Remove]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45703</link>
			<pubDate>Thu, 13 Jul 2017 11:42:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=12924">EltonZh</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45703</guid>
			<description><![CDATA[I keep seeing this form which do not allow me to open the app<br />
<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]"Ky PC "[/b]<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 clientSerial<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]" nuk eshte i licensuar ![/b]<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_232:<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_272<br />
        iload containsModuleOnHashMap<br />
        ifne label_272<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]"Nuk ka license per modulin e kerkuar te programit :"[/b]<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 moduleKey<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "<br />
<br />
<br />
<br />
[code]package com.tpk.bilanc;<br />
<br />
import com.tpk.bilanc.master.CompanyController;<br />
import com.tpk.bilanc.settings.CompanyPreferencesController;<br />
import com.tpk.bilanc.utils.TPKJOptionPane;<br />
import com.tpk.db.DBAdapter;<br />
import com.tpk.db.DBConfiguration;<br />
import com.tpk.security.TPKComputer;<br />
import com.tpk.utils.DesEncrypter;<br />
import com.tpk.utils.TPKUtilDate;<br />
import java.awt.Component;<br />
import java.io.PrintStream;<br />
import java.text.ParseException;<br />
import java.util.Date;<br />
import java.util.HashMap;<br />
import java.util.StringTokenizer;<br />
import javax.swing.JFrame;<br />
import javax.swing.JOptionPane;<br />
import javax.swing.JScrollPane;<br />
import javax.swing.JTextArea;<br />
<br />
// SourceFile = SaasLicenseController.java<br />
// Class Version: 51.0<br />
public class SaasLicenseController {<br />
<br />
    public static final String LICENSE_END_DATE_KEY = "EndDate";<br />
    public static final String SAAS_LICENSE_KEY = "license";<br />
    public static final String BILANC_EKSPRES_VERSION_KEY = "MyVersion=0";<br />
    public static final String BILANC_STANDARD_VERSION_KEY = "MyVersion=1";<br />
    public static final String BILANC_PROFESIONAL_VERSION_KEY = "MyVersion=2";<br />
    public static final String FULL_LICENSE_KEY = "FullLicense";<br />
    private HashMap&lt;String, String&gt; licenses;<br />
    public static final int LICENSE_NEGATIVE_LIMIT = (int) -7;<br />
    private static SaasLicenseController saasLicenseController;<br />
<br />
    private void &lt;init&gt;() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        aload_0 this<br />
        invokespecial void Object.&lt;init&gt;()<br />
        aload_0 this<br />
        aconst_null<br />
        putfield HashMap SaasLicenseController.licenses<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public static SaasLicenseController getInstance() {<br />
        getstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        ifnonnull label_16<br />
        new SaasLicenseController<br />
        dup<br />
        invokespecial void SaasLicenseController.&lt;init&gt;()<br />
        putstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        label_16:<br />
        getstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        areturn<br />
    }<br />
<br />
    public void checkRegisteredLicense() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 13)<br />
        invokestatic boolean SaasLicenseController.isWhiteListSerial()<br />
        ifeq label_7<br />
        return<br />
        label_7:<br />
        aload_0 this<br />
        aconst_null<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicense(String)<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicense(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 20)<br />
        String moduleKey (#1 0 - 20)<br />
        invokestatic boolean SaasLicenseController.isFullLicense()<br />
        ifeq label_14<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicenseFull(String)<br />
        goto label_19<br />
        label_14:<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicenseSaaS(String)<br />
        label_19:<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public boolean isModuleEnabled(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 9)<br />
        String moduleKey (#1 0 - 9)<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_1 moduleKey<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicenseFull(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        String moduleKey (#1 0 - 10)<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)<br />
        aload_0 this<br />
        invokespecial void SaasLicenseController.checkUpdateValidForContractEndDate()<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicenseSaaS(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        String moduleKey (#1 0 - 10)<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)<br />
        aload_0 this<br />
        invokespecial void SaasLicenseController.checkDaysRemainingSaaS()<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private void checkLicensesCoreLogic(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 322)<br />
        String moduleKey (#1 0 - 322)<br />
        aload_1 moduleKey<br />
        ifnull label_15<br />
        aload_1 moduleKey<br />
        invokevirtual boolean String.isEmpty()<br />
        ifne label_15<br />
        iconst_1 1<br />
        goto label_16<br />
        label_15:<br />
        label_15:<br />
        iconst_0 0<br />
        label_16:<br />
        istore_2 2<br />
        isCheckModuleKey_start:<br />
        boolean isCheckModuleKey (#2 17 - 322)<br />
        invokestatic TPKComputer TPKComputer.getInstance()<br />
        invokevirtual String TPKComputer.getComputerID()<br />
        astore_3<br />
        clientSerial_start:<br />
        String clientSerial (#3 24 - 322)<br />
        aload_3 clientSerial<br />
        invokestatic String BilancUtils.getStringValueNotNull(Object)<br />
        invokevirtual boolean String.isEmpty()<br />
        ifeq label_40<br />
        iconst_1 1<br />
        istore 4<br />
        containsSerial_start:<br />
        boolean containsSerial (#4 37 - 40)<br />
        goto label_84<br />
        containsSerial_end:<br />
        label_40:<br />
        invokestatic DBConfiguration DBAdapter.getDbConfiguration()<br />
        invokevirtual boolean DBConfiguration.isServer()<br />
        ifeq label_74<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "Server"<br />
        invokevirtual Object HashMap.get(Object)<br />
        invokestatic String BilancUtils.getStringValueNotNull(Object)<br />
        astore 5<br />
        serverSerialIfAny_start:<br />
        String serverSerialIfAny (#5 63 - 71)<br />
        aload serverSerialIfAny<br />
        aload_3 clientSerial<br />
        invokevirtual boolean String.contains(CharSequence)<br />
        istore 4<br />
        containsSerial_start:<br />
        serverSerialIfAny_end:<br />
        boolean containsSerial (#4 71 - 74)<br />
        goto label_84<br />
        containsSerial_end:<br />
        label_74:<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_3 clientSerial<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        istore 4<br />
        containsSerial_start:<br />
        label_84:<br />
        label_84:<br />
        boolean containsSerial (#4 84 - 322)<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_1 moduleKey<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        istore 5<br />
        containsModuleOnHashMap_start:<br />
        boolean containsModuleOnHashMap (#5 94 - 322)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "containsSerial = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload containsSerial<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "containsModuleOnHashMap = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload containsModuleOnHashMap<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "isCheckModuleKey = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_2 isCheckModuleKey<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        iload containsSerial<br />
        istore 6<br />
        licenseOK_start:<br />
        boolean licenseOK (#6 175 - 322)<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_187<br />
        iload containsModuleOnHashMap<br />
        ifne label_187<br />
        iconst_0 0<br />
        istore licenseOK<br />
        label_187:<br />
        label_187:<br />
        iload licenseOK<br />
        ifne label_321<br />
        ldc String Constant ""<br />
        astore 7<br />
        message_start:<br />
        String message (#7 196 - 321)<br />
        iload containsSerial<br />
        ifne label_232<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Ky PC "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 clientSerial<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant " nuk eshte i licensuar !<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_232:<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_272<br />
        iload containsModuleOnHashMap<br />
        ifne label_272<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Nuk ka license per modulin e kerkuar te programit :"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 moduleKey<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_272:<br />
        label_272:<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Kontaktoni Bilanc shpk!<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        aconst_null<br />
        new JScrollPane<br />
        dup<br />
        new JTextArea<br />
        dup<br />
        aload message<br />
        invokespecial void JTextArea.&lt;init&gt;(String)<br />
        invokespecial void JScrollPane.&lt;init&gt;(Component)<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        message_end:<br />
        label_321:<br />
        return<br />
        licenseOK_end:<br />
        containsModuleOnHashMap_end:<br />
        containsSerial_end:<br />
        clientSerial_end:<br />
        isCheckModuleKey_end:<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private void checkDaysRemainingSaaS() {<br />
        this_start:<br />
        try-block_start(java.text.ParseException)_0:<br />
        SaasLicenseController this (#0 0 - 118)<br />
        invokestatic CompanyPreferencesController CompanyPreferencesController.getInstance()<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        invokevirtual void CompanyPreferencesController.setLicenseEndDateForSaaS(TPKUtilDate)<br />
        aload_0 this<br />
        invokevirtual int SaasLicenseController.getDaysRemainingSaaS()<br />
        istore_1 1<br />
        daysRemaining_start:<br />
        int daysRemaining (#1 15 - 96)<br />
        iload_1 daysRemaining<br />
        bipush 249<br />
        if_icmpge label_31<br />
        aconst_null<br />
        ldc String Constant "Licensa juaj ka perfunduar.<br />
Programi do te mbyllet.<br />
Ju lutem rinovoni licensen."<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        label_31:<br />
        iload_1 daysRemaining<br />
        bipush 249<br />
        if_icmplt label_57<br />
        iload_1 daysRemaining<br />
        ifgt label_57<br />
        invokestatic JFrame O2WorkBook.getMainJFrameStatic()<br />
        astore_2<br />
        mainJFrameStatic_start:<br />
        JFrame mainJFrameStatic (#2 45 - 54)<br />
        aload_2 mainJFrameStatic<br />
        ldc String Constant "Licensa juaj ka perfunduar.<br />
Ju lutem rinovoni ate sa me shpejt."<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)<br />
        mainJFrameStatic_end:<br />
        goto label_96<br />
        label_57:<br />
        label_57:<br />
        iload_1 daysRemaining<br />
        bipush 15<br />
        if_icmpgt label_96<br />
        aconst_null<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "Licensa juaj perfundon per "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_1 daysRemaining<br />
        invokevirtual StringBuilder StringBuilder.append(int)<br />
        ldc String Constant " dite.<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Ju lutem rinovoni licensen brenda ketij afati."<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object)<br />
        daysRemaining_end:<br />
        try-block_end(java.text.ParseException)_96:<br />
        label_96:<br />
        label_96:<br />
        goto label_117<br />
        exception_handler(java.text.ParseException)_99:<br />
        astore_1<br />
        e_start:<br />
        ParseException e (#1 100 - 117)<br />
        aload_1 e<br />
        invokevirtual void ParseException.printStackTrace()<br />
        aconst_null<br />
        ldc String Constant "License e pasakte!<br />
Kontaktoni Bilanc shpk!"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        e_end:<br />
        label_117:<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    private void checkUpdateValidForContractEndDate() {<br />
        this_start:<br />
        try-block_start(java.text.ParseException)_0:<br />
        SaasLicenseController this (#0 0 - 122)<br />
        invokestatic TPKUtilDate BilancUtils.getBilancBuildDate()<br />
        astore_1<br />
        dateOfBilancBuild_start:<br />
        TPKUtilDate dateOfBilancBuild (#1 4 - 99)<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        astore_2<br />
        licenseEndDate_start:<br />
        TPKUtilDate licenseEndDate (#2 9 - 99)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "licenseEndDate = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_2 licenseEndDate<br />
        invokevirtual StringBuilder StringBuilder.append(Object)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "dateOfBilancBuild = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 dateOfBilancBuild<br />
        invokevirtual StringBuilder StringBuilder.append(Object)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        aload_1 dateOfBilancBuild<br />
        aload_2 licenseEndDate<br />
        invokevirtual boolean TPKUtilDate.after(Date)<br />
        ifeq label_85<br />
        aconst_null<br />
        ldc_w String Constant "Versioni i programit nuk eshte i perfshire ne kontraten tuaj aktive.<br />
Programi do te mbyllet. Ju lutem kontaktoni Bilanc sh.p.k"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        goto label_99<br />
        label_85:<br />
        getstatic PrintStream System.out<br />
        ldc_w String Constant "versioni ok me daten e kontrates"<br />
        iconst_0 0<br />
        anewarray Object<br />
        invokevirtual PrintStream PrintStream.printf(String, Object[])<br />
        pop<br />
        licenseEndDate_end:<br />
        dateOfBilancBuild_end:<br />
        try-block_end(java.text.ParseException)_99:<br />
        label_99:<br />
        goto label_121<br />
        exception_handler(java.text.ParseException)_102:<br />
        astore_1<br />
        e_start:<br />
        ParseException e (#1 103 - 121)<br />
        aload_1 e<br />
        invokevirtual void ParseException.printStackTrace()<br />
        aconst_null<br />
        ldc_w String Constant "Gabim ne kontrollin e versionit/kontrates!<br />
Programi do te mbyllet.<br />
Ju lutem kontaktoni Bilanc sh.p.k"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        e_end:<br />
        label_121:<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public int getDaysRemainingSaaS() throws ParseException {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 45)<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        astore_1<br />
        licenseEndDate_start:<br />
        TPKUtilDate licenseEndDate (#1 5 - 45)<br />
        new TPKUtilDate<br />
        dup<br />
        invokespecial void TPKUtilDate.&lt;init&gt;()<br />
        aload_1 licenseEndDate<br />
        invokestatic int TPKUtilDate.dayDiff(Date, Date)<br />
        istore_2 2<br />
        remainingDays_start:<br />
        int remainingDays (#2 17 - 45)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "remainingDays = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_2 remainingDays<br />
        invokevirtual StringBuilder StringBuilder.append(int)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        iload_2 remainingDays<br />
        ireturn<br />
        remainingDays_end:<br />
        licenseEndDate_end:<br />
        this_end:<br />
    }<br />
<br />
    private TPKUtilDate getLicenseEndDate() throws ParseException {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 20)<br />
        new TPKUtilDate<br />
        dup<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "EndDate"<br />
        invokevirtual Object HashMap.get(Object)<br />
        checkcast String<br />
        invokespecial void TPKUtilDate.&lt;init&gt;(String)<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    public HashMap&lt;String, String&gt; getLicenses() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 22)<br />
        aload_0 this<br />
        getfield HashMap SaasLicenseController.licenses<br />
        ifnonnull label_17<br />
        aload_0 this<br />
        aload_0 this<br />
        ldc String Constant "license"<br />
        invokespecial HashMap SaasLicenseController.getLicensesFromMasterDB(String)<br />
        putfield HashMap SaasLicenseController.licenses<br />
        label_17:<br />
        aload_0 this<br />
        getfield HashMap SaasLicenseController.licenses<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    private synchronized HashMap&lt;String, String&gt; getLicensesFromMasterDB(String licenseKey) {<br />
        licenseKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 95)<br />
        String licenseKey (#1 0 - 95)<br />
        new HashMap<br />
        dup<br />
        invokespecial void HashMap.&lt;init&gt;()<br />
        astore_2<br />
        fileLicenses_start:<br />
        HashMap fileLicenses (#2 8 - 95)<br />
        aload_0 this<br />
        aload_1 licenseKey<br />
        invokespecial String SaasLicenseController.readAndDecryptFile(String)<br />
        astore_3<br />
        fileDecrypted_start:<br />
        String fileDecrypted (#3 14 - 95)<br />
        new StringTokenizer<br />
        dup<br />
        aload_3 fileDecrypted<br />
        ldc String Constant "<br />
"<br />
        invokespecial void StringTokenizer.&lt;init&gt;(String, String)<br />
        astore 4<br />
        rows_start:<br />
        label_26:<br />
        StringTokenizer rows (#4 26 - 95)<br />
        aload rows<br />
        invokevirtual boolean StringTokenizer.hasMoreTokens()<br />
        ifeq label_93<br />
        aload rows<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore 5<br />
        rowstring_start:<br />
        String rowstring (#5 41 - 90)<br />
        new StringTokenizer<br />
        dup<br />
        aload rowstring<br />
        ldc_w String Constant "    "<br />
        invokespecial void StringTokenizer.&lt;init&gt;(String, String)<br />
        astore 6<br />
        columnsTokenizer_start:<br />
        StringTokenizer columnsTokenizer (#6 55 - 90)<br />
        aload columnsTokenizer<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore 7<br />
        key_start:<br />
        String key (#7 62 - 90)<br />
        aload key<br />
        astore 8<br />
        value_start:<br />
        String value (#8 66 - 90)<br />
        aload columnsTokenizer<br />
        invokevirtual boolean StringTokenizer.hasMoreTokens()<br />
        ifeq label_81<br />
        aload columnsTokenizer<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore value<br />
        label_81:<br />
        aload_2 fileLicenses<br />
        aload key<br />
        aload value<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        value_end:<br />
        key_end:<br />
        columnsTokenizer_end:<br />
        rowstring_end:<br />
        goto label_26<br />
        label_93:<br />
        aload_2 fileLicenses<br />
        areturn<br />
        rows_end:<br />
        fileDecrypted_end:<br />
        fileLicenses_end:<br />
        licenseKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private String readAndDecryptFile(String licenseKey) {<br />
        licenseKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 92)<br />
        String licenseKey (#1 0 - 92)<br />
        ldc String Constant ""<br />
        astore_2<br />
        file_start:<br />
        try-block_start(java.lang.Exception)_3:<br />
        String file (#2 3 - 92)<br />
        invokestatic CompanyController CompanyController.getInstance()<br />
        aload_1 licenseKey<br />
        invokevirtual String CompanyController.getSaasLicense(String)<br />
        astore_2<br />
        try-block_end(java.lang.Exception)_11:<br />
        goto label_44<br />
        exception_handler(java.lang.Exception)_14:<br />
        astore_3<br />
        e_start:<br />
        Exception e (#3 15 - 44)<br />
        getstatic PrintStream System.err<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "Error: "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 e<br />
        invokevirtual String Exception.getMessage()<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        e_end:<br />
        label_44:<br />
        new DesEncrypter<br />
        dup<br />
        ldc_w String Constant "tpksolutions"<br />
        invokespecial void DesEncrypter.&lt;init&gt;(String)<br />
        astore_3<br />
        desEncrypter_start:<br />
        DesEncrypter desEncrypter (#3 55 - 92)<br />
        aload_3 desEncrypter<br />
        aload_2 file<br />
        invokevirtual String DesEncrypter.decrypt(String)<br />
        astore 4<br />
        decryptedFile_start:<br />
        String decryptedFile (#4 62 - 92)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "decryptedFile = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload decryptedFile<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        aload decryptedFile<br />
        areturn<br />
        decryptedFile_end:<br />
        desEncrypter_end:<br />
        file_end:<br />
        licenseKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void setLicenses(HashMap&lt;String, String&gt; licenses) {<br />
        licenses_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 6)<br />
        HashMap licenses (#1 0 - 6)<br />
        aload_0 this<br />
        aload_1 licenses<br />
        putfield HashMap SaasLicenseController.licenses<br />
        return<br />
        licenses_end:<br />
        this_end:<br />
    }<br />
<br />
    public void resetAllCaches() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 6)<br />
        aload_0 this<br />
        aconst_null<br />
        invokevirtual void SaasLicenseController.setLicenses(HashMap)<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public static boolean isBilancEkspres() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=0"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isBilancStandard() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=1"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isBilancProfesional() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=2"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isFullLicense() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "FullLicense"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean hasNoLicense() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        invokevirtual boolean HashMap.isEmpty()<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isSaasLicense() {<br />
        invokestatic boolean SaasLicenseController.isFullLicense()<br />
        ifne label_10<br />
        iconst_1 1<br />
        goto label_11<br />
        label_10:<br />
        iconst_0 0<br />
        label_11:<br />
        ireturn<br />
    }<br />
<br />
    public String getMyVersionAsString() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 34)<br />
        invokestatic boolean SaasLicenseController.isBilancEkspres()<br />
        ifeq label_10<br />
        ldc_w String Constant "Ekspres"<br />
        areturn<br />
        label_10:<br />
        invokestatic boolean SaasLicenseController.isBilancProfesional()<br />
        ifeq label_20<br />
        ldc_w String Constant "Profesional"<br />
        areturn<br />
        label_20:<br />
        invokestatic boolean SaasLicenseController.isBilancStandard()<br />
        ifeq label_30<br />
        ldc_w String Constant "Standard"<br />
        areturn<br />
        label_30:<br />
        ldc_w String Constant "-"<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    public static boolean isWhiteListSerial() {<br />
        invokestatic TPKComputer TPKComputer.getInstance()<br />
        invokevirtual String TPKComputer.getComputerID()<br />
        astore_0<br />
        computerID_start:<br />
        String computerID (#0 7 - 25)<br />
        invokestatic HashMap SaasLicenseController.getWhiteListSerials()<br />
        astore_1<br />
        whiteListSerials_start:<br />
        HashMap whiteListSerials (#1 11 - 25)<br />
        aload_1 whiteListSerials<br />
        aload_0 computerID<br />
        invokevirtual Object HashMap.get(Object)<br />
        ifnull label_23<br />
        iconst_1 1<br />
        goto label_24<br />
        label_23:<br />
        iconst_0 0<br />
        label_24:<br />
        ireturn<br />
        whiteListSerials_end:<br />
        computerID_end:<br />
    }<br />
<br />
    private static HashMap&lt;String, String&gt; getWhiteListSerials() {<br />
        new HashMap<br />
        dup<br />
        invokespecial void HashMap.&lt;init&gt;()<br />
        astore_0<br />
        whiteListSerials_start:<br />
        HashMap whiteListSerials (#0 8 - 32)<br />
        aload_0 whiteListSerials<br />
        ldc_w String Constant "445C-3A27"<br />
        ldc_w String Constant "445C-3A27"<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        aload_0 whiteListSerials<br />
        ldc_w String Constant "14SSPVNIT"<br />
        ldc_w String Constant "14SSPVNIT"<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        aload_0 whiteListSerials<br />
        areturn<br />
        whiteListSerials_end:<br />
    }<br />
<br />
}<br />
[/code]]]></description>
			<content:encoded><![CDATA[I keep seeing this form which do not allow me to open the app<br />
<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]"Ky PC "[/b]<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 clientSerial<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]" nuk eshte i licensuar ![/b]<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_232:<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_272<br />
        iload containsModuleOnHashMap<br />
        ifne label_272<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant [b]"Nuk ka license per modulin e kerkuar te programit :"[/b]<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 moduleKey<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "<br />
<br />
<br />
<br />
[code]package com.tpk.bilanc;<br />
<br />
import com.tpk.bilanc.master.CompanyController;<br />
import com.tpk.bilanc.settings.CompanyPreferencesController;<br />
import com.tpk.bilanc.utils.TPKJOptionPane;<br />
import com.tpk.db.DBAdapter;<br />
import com.tpk.db.DBConfiguration;<br />
import com.tpk.security.TPKComputer;<br />
import com.tpk.utils.DesEncrypter;<br />
import com.tpk.utils.TPKUtilDate;<br />
import java.awt.Component;<br />
import java.io.PrintStream;<br />
import java.text.ParseException;<br />
import java.util.Date;<br />
import java.util.HashMap;<br />
import java.util.StringTokenizer;<br />
import javax.swing.JFrame;<br />
import javax.swing.JOptionPane;<br />
import javax.swing.JScrollPane;<br />
import javax.swing.JTextArea;<br />
<br />
// SourceFile = SaasLicenseController.java<br />
// Class Version: 51.0<br />
public class SaasLicenseController {<br />
<br />
    public static final String LICENSE_END_DATE_KEY = "EndDate";<br />
    public static final String SAAS_LICENSE_KEY = "license";<br />
    public static final String BILANC_EKSPRES_VERSION_KEY = "MyVersion=0";<br />
    public static final String BILANC_STANDARD_VERSION_KEY = "MyVersion=1";<br />
    public static final String BILANC_PROFESIONAL_VERSION_KEY = "MyVersion=2";<br />
    public static final String FULL_LICENSE_KEY = "FullLicense";<br />
    private HashMap&lt;String, String&gt; licenses;<br />
    public static final int LICENSE_NEGATIVE_LIMIT = (int) -7;<br />
    private static SaasLicenseController saasLicenseController;<br />
<br />
    private void &lt;init&gt;() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        aload_0 this<br />
        invokespecial void Object.&lt;init&gt;()<br />
        aload_0 this<br />
        aconst_null<br />
        putfield HashMap SaasLicenseController.licenses<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public static SaasLicenseController getInstance() {<br />
        getstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        ifnonnull label_16<br />
        new SaasLicenseController<br />
        dup<br />
        invokespecial void SaasLicenseController.&lt;init&gt;()<br />
        putstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        label_16:<br />
        getstatic SaasLicenseController SaasLicenseController.saasLicenseController<br />
        areturn<br />
    }<br />
<br />
    public void checkRegisteredLicense() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 13)<br />
        invokestatic boolean SaasLicenseController.isWhiteListSerial()<br />
        ifeq label_7<br />
        return<br />
        label_7:<br />
        aload_0 this<br />
        aconst_null<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicense(String)<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicense(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 20)<br />
        String moduleKey (#1 0 - 20)<br />
        invokestatic boolean SaasLicenseController.isFullLicense()<br />
        ifeq label_14<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicenseFull(String)<br />
        goto label_19<br />
        label_14:<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokevirtual void SaasLicenseController.checkRegisteredLicenseSaaS(String)<br />
        label_19:<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public boolean isModuleEnabled(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 9)<br />
        String moduleKey (#1 0 - 9)<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_1 moduleKey<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicenseFull(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        String moduleKey (#1 0 - 10)<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)<br />
        aload_0 this<br />
        invokespecial void SaasLicenseController.checkUpdateValidForContractEndDate()<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void checkRegisteredLicenseSaaS(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 10)<br />
        String moduleKey (#1 0 - 10)<br />
        aload_0 this<br />
        aload_1 moduleKey<br />
        invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)<br />
        aload_0 this<br />
        invokespecial void SaasLicenseController.checkDaysRemainingSaaS()<br />
        return<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private void checkLicensesCoreLogic(String moduleKey) {<br />
        moduleKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 322)<br />
        String moduleKey (#1 0 - 322)<br />
        aload_1 moduleKey<br />
        ifnull label_15<br />
        aload_1 moduleKey<br />
        invokevirtual boolean String.isEmpty()<br />
        ifne label_15<br />
        iconst_1 1<br />
        goto label_16<br />
        label_15:<br />
        label_15:<br />
        iconst_0 0<br />
        label_16:<br />
        istore_2 2<br />
        isCheckModuleKey_start:<br />
        boolean isCheckModuleKey (#2 17 - 322)<br />
        invokestatic TPKComputer TPKComputer.getInstance()<br />
        invokevirtual String TPKComputer.getComputerID()<br />
        astore_3<br />
        clientSerial_start:<br />
        String clientSerial (#3 24 - 322)<br />
        aload_3 clientSerial<br />
        invokestatic String BilancUtils.getStringValueNotNull(Object)<br />
        invokevirtual boolean String.isEmpty()<br />
        ifeq label_40<br />
        iconst_1 1<br />
        istore 4<br />
        containsSerial_start:<br />
        boolean containsSerial (#4 37 - 40)<br />
        goto label_84<br />
        containsSerial_end:<br />
        label_40:<br />
        invokestatic DBConfiguration DBAdapter.getDbConfiguration()<br />
        invokevirtual boolean DBConfiguration.isServer()<br />
        ifeq label_74<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "Server"<br />
        invokevirtual Object HashMap.get(Object)<br />
        invokestatic String BilancUtils.getStringValueNotNull(Object)<br />
        astore 5<br />
        serverSerialIfAny_start:<br />
        String serverSerialIfAny (#5 63 - 71)<br />
        aload serverSerialIfAny<br />
        aload_3 clientSerial<br />
        invokevirtual boolean String.contains(CharSequence)<br />
        istore 4<br />
        containsSerial_start:<br />
        serverSerialIfAny_end:<br />
        boolean containsSerial (#4 71 - 74)<br />
        goto label_84<br />
        containsSerial_end:<br />
        label_74:<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_3 clientSerial<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        istore 4<br />
        containsSerial_start:<br />
        label_84:<br />
        label_84:<br />
        boolean containsSerial (#4 84 - 322)<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        aload_1 moduleKey<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        istore 5<br />
        containsModuleOnHashMap_start:<br />
        boolean containsModuleOnHashMap (#5 94 - 322)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "containsSerial = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload containsSerial<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "containsModuleOnHashMap = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload containsModuleOnHashMap<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "isCheckModuleKey = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_2 isCheckModuleKey<br />
        invokevirtual StringBuilder StringBuilder.append(boolean)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        iload containsSerial<br />
        istore 6<br />
        licenseOK_start:<br />
        boolean licenseOK (#6 175 - 322)<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_187<br />
        iload containsModuleOnHashMap<br />
        ifne label_187<br />
        iconst_0 0<br />
        istore licenseOK<br />
        label_187:<br />
        label_187:<br />
        iload licenseOK<br />
        ifne label_321<br />
        ldc String Constant ""<br />
        astore 7<br />
        message_start:<br />
        String message (#7 196 - 321)<br />
        iload containsSerial<br />
        ifne label_232<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Ky PC "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 clientSerial<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant " nuk eshte i licensuar !<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_232:<br />
        iload_2 isCheckModuleKey<br />
        ifeq label_272<br />
        iload containsModuleOnHashMap<br />
        ifne label_272<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Nuk ka license per modulin e kerkuar te programit :"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 moduleKey<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        label_272:<br />
        label_272:<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        aload message<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Kontaktoni Bilanc shpk!<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        astore message<br />
        aconst_null<br />
        new JScrollPane<br />
        dup<br />
        new JTextArea<br />
        dup<br />
        aload message<br />
        invokespecial void JTextArea.&lt;init&gt;(String)<br />
        invokespecial void JScrollPane.&lt;init&gt;(Component)<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        message_end:<br />
        label_321:<br />
        return<br />
        licenseOK_end:<br />
        containsModuleOnHashMap_end:<br />
        containsSerial_end:<br />
        clientSerial_end:<br />
        isCheckModuleKey_end:<br />
        moduleKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private void checkDaysRemainingSaaS() {<br />
        this_start:<br />
        try-block_start(java.text.ParseException)_0:<br />
        SaasLicenseController this (#0 0 - 118)<br />
        invokestatic CompanyPreferencesController CompanyPreferencesController.getInstance()<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        invokevirtual void CompanyPreferencesController.setLicenseEndDateForSaaS(TPKUtilDate)<br />
        aload_0 this<br />
        invokevirtual int SaasLicenseController.getDaysRemainingSaaS()<br />
        istore_1 1<br />
        daysRemaining_start:<br />
        int daysRemaining (#1 15 - 96)<br />
        iload_1 daysRemaining<br />
        bipush 249<br />
        if_icmpge label_31<br />
        aconst_null<br />
        ldc String Constant "Licensa juaj ka perfunduar.<br />
Programi do te mbyllet.<br />
Ju lutem rinovoni licensen."<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        label_31:<br />
        iload_1 daysRemaining<br />
        bipush 249<br />
        if_icmplt label_57<br />
        iload_1 daysRemaining<br />
        ifgt label_57<br />
        invokestatic JFrame O2WorkBook.getMainJFrameStatic()<br />
        astore_2<br />
        mainJFrameStatic_start:<br />
        JFrame mainJFrameStatic (#2 45 - 54)<br />
        aload_2 mainJFrameStatic<br />
        ldc String Constant "Licensa juaj ka perfunduar.<br />
Ju lutem rinovoni ate sa me shpejt."<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)<br />
        mainJFrameStatic_end:<br />
        goto label_96<br />
        label_57:<br />
        label_57:<br />
        iload_1 daysRemaining<br />
        bipush 15<br />
        if_icmpgt label_96<br />
        aconst_null<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "Licensa juaj perfundon per "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_1 daysRemaining<br />
        invokevirtual StringBuilder StringBuilder.append(int)<br />
        ldc String Constant " dite.<br />
"<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        ldc String Constant "Ju lutem rinovoni licensen brenda ketij afati."<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object)<br />
        daysRemaining_end:<br />
        try-block_end(java.text.ParseException)_96:<br />
        label_96:<br />
        label_96:<br />
        goto label_117<br />
        exception_handler(java.text.ParseException)_99:<br />
        astore_1<br />
        e_start:<br />
        ParseException e (#1 100 - 117)<br />
        aload_1 e<br />
        invokevirtual void ParseException.printStackTrace()<br />
        aconst_null<br />
        ldc String Constant "License e pasakte!<br />
Kontaktoni Bilanc shpk!"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        e_end:<br />
        label_117:<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    private void checkUpdateValidForContractEndDate() {<br />
        this_start:<br />
        try-block_start(java.text.ParseException)_0:<br />
        SaasLicenseController this (#0 0 - 122)<br />
        invokestatic TPKUtilDate BilancUtils.getBilancBuildDate()<br />
        astore_1<br />
        dateOfBilancBuild_start:<br />
        TPKUtilDate dateOfBilancBuild (#1 4 - 99)<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        astore_2<br />
        licenseEndDate_start:<br />
        TPKUtilDate licenseEndDate (#2 9 - 99)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc String Constant "licenseEndDate = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_2 licenseEndDate<br />
        invokevirtual StringBuilder StringBuilder.append(Object)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "dateOfBilancBuild = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_1 dateOfBilancBuild<br />
        invokevirtual StringBuilder StringBuilder.append(Object)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        aload_1 dateOfBilancBuild<br />
        aload_2 licenseEndDate<br />
        invokevirtual boolean TPKUtilDate.after(Date)<br />
        ifeq label_85<br />
        aconst_null<br />
        ldc_w String Constant "Versioni i programit nuk eshte i perfshire ne kontraten tuaj aktive.<br />
Programi do te mbyllet. Ju lutem kontaktoni Bilanc sh.p.k"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        goto label_99<br />
        label_85:<br />
        getstatic PrintStream System.out<br />
        ldc_w String Constant "versioni ok me daten e kontrates"<br />
        iconst_0 0<br />
        anewarray Object<br />
        invokevirtual PrintStream PrintStream.printf(String, Object[])<br />
        pop<br />
        licenseEndDate_end:<br />
        dateOfBilancBuild_end:<br />
        try-block_end(java.text.ParseException)_99:<br />
        label_99:<br />
        goto label_121<br />
        exception_handler(java.text.ParseException)_102:<br />
        astore_1<br />
        e_start:<br />
        ParseException e (#1 103 - 121)<br />
        aload_1 e<br />
        invokevirtual void ParseException.printStackTrace()<br />
        aconst_null<br />
        ldc_w String Constant "Gabim ne kontrollin e versionit/kontrates!<br />
Programi do te mbyllet.<br />
Ju lutem kontaktoni Bilanc sh.p.k"<br />
        ldc String Constant "Gabim"<br />
        iconst_0 0<br />
        invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)<br />
        iconst_0 0<br />
        invokestatic void System.exit(int)<br />
        e_end:<br />
        label_121:<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public int getDaysRemainingSaaS() throws ParseException {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 45)<br />
        aload_0 this<br />
        invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()<br />
        astore_1<br />
        licenseEndDate_start:<br />
        TPKUtilDate licenseEndDate (#1 5 - 45)<br />
        new TPKUtilDate<br />
        dup<br />
        invokespecial void TPKUtilDate.&lt;init&gt;()<br />
        aload_1 licenseEndDate<br />
        invokestatic int TPKUtilDate.dayDiff(Date, Date)<br />
        istore_2 2<br />
        remainingDays_start:<br />
        int remainingDays (#2 17 - 45)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "remainingDays = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        iload_2 remainingDays<br />
        invokevirtual StringBuilder StringBuilder.append(int)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        iload_2 remainingDays<br />
        ireturn<br />
        remainingDays_end:<br />
        licenseEndDate_end:<br />
        this_end:<br />
    }<br />
<br />
    private TPKUtilDate getLicenseEndDate() throws ParseException {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 20)<br />
        new TPKUtilDate<br />
        dup<br />
        aload_0 this<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "EndDate"<br />
        invokevirtual Object HashMap.get(Object)<br />
        checkcast String<br />
        invokespecial void TPKUtilDate.&lt;init&gt;(String)<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    public HashMap&lt;String, String&gt; getLicenses() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 22)<br />
        aload_0 this<br />
        getfield HashMap SaasLicenseController.licenses<br />
        ifnonnull label_17<br />
        aload_0 this<br />
        aload_0 this<br />
        ldc String Constant "license"<br />
        invokespecial HashMap SaasLicenseController.getLicensesFromMasterDB(String)<br />
        putfield HashMap SaasLicenseController.licenses<br />
        label_17:<br />
        aload_0 this<br />
        getfield HashMap SaasLicenseController.licenses<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    private synchronized HashMap&lt;String, String&gt; getLicensesFromMasterDB(String licenseKey) {<br />
        licenseKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 95)<br />
        String licenseKey (#1 0 - 95)<br />
        new HashMap<br />
        dup<br />
        invokespecial void HashMap.&lt;init&gt;()<br />
        astore_2<br />
        fileLicenses_start:<br />
        HashMap fileLicenses (#2 8 - 95)<br />
        aload_0 this<br />
        aload_1 licenseKey<br />
        invokespecial String SaasLicenseController.readAndDecryptFile(String)<br />
        astore_3<br />
        fileDecrypted_start:<br />
        String fileDecrypted (#3 14 - 95)<br />
        new StringTokenizer<br />
        dup<br />
        aload_3 fileDecrypted<br />
        ldc String Constant "<br />
"<br />
        invokespecial void StringTokenizer.&lt;init&gt;(String, String)<br />
        astore 4<br />
        rows_start:<br />
        label_26:<br />
        StringTokenizer rows (#4 26 - 95)<br />
        aload rows<br />
        invokevirtual boolean StringTokenizer.hasMoreTokens()<br />
        ifeq label_93<br />
        aload rows<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore 5<br />
        rowstring_start:<br />
        String rowstring (#5 41 - 90)<br />
        new StringTokenizer<br />
        dup<br />
        aload rowstring<br />
        ldc_w String Constant "    "<br />
        invokespecial void StringTokenizer.&lt;init&gt;(String, String)<br />
        astore 6<br />
        columnsTokenizer_start:<br />
        StringTokenizer columnsTokenizer (#6 55 - 90)<br />
        aload columnsTokenizer<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore 7<br />
        key_start:<br />
        String key (#7 62 - 90)<br />
        aload key<br />
        astore 8<br />
        value_start:<br />
        String value (#8 66 - 90)<br />
        aload columnsTokenizer<br />
        invokevirtual boolean StringTokenizer.hasMoreTokens()<br />
        ifeq label_81<br />
        aload columnsTokenizer<br />
        invokevirtual String StringTokenizer.nextToken()<br />
        astore value<br />
        label_81:<br />
        aload_2 fileLicenses<br />
        aload key<br />
        aload value<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        value_end:<br />
        key_end:<br />
        columnsTokenizer_end:<br />
        rowstring_end:<br />
        goto label_26<br />
        label_93:<br />
        aload_2 fileLicenses<br />
        areturn<br />
        rows_end:<br />
        fileDecrypted_end:<br />
        fileLicenses_end:<br />
        licenseKey_end:<br />
        this_end:<br />
    }<br />
<br />
    private String readAndDecryptFile(String licenseKey) {<br />
        licenseKey_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 92)<br />
        String licenseKey (#1 0 - 92)<br />
        ldc String Constant ""<br />
        astore_2<br />
        file_start:<br />
        try-block_start(java.lang.Exception)_3:<br />
        String file (#2 3 - 92)<br />
        invokestatic CompanyController CompanyController.getInstance()<br />
        aload_1 licenseKey<br />
        invokevirtual String CompanyController.getSaasLicense(String)<br />
        astore_2<br />
        try-block_end(java.lang.Exception)_11:<br />
        goto label_44<br />
        exception_handler(java.lang.Exception)_14:<br />
        astore_3<br />
        e_start:<br />
        Exception e (#3 15 - 44)<br />
        getstatic PrintStream System.err<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "Error: "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload_3 e<br />
        invokevirtual String Exception.getMessage()<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        e_end:<br />
        label_44:<br />
        new DesEncrypter<br />
        dup<br />
        ldc_w String Constant "tpksolutions"<br />
        invokespecial void DesEncrypter.&lt;init&gt;(String)<br />
        astore_3<br />
        desEncrypter_start:<br />
        DesEncrypter desEncrypter (#3 55 - 92)<br />
        aload_3 desEncrypter<br />
        aload_2 file<br />
        invokevirtual String DesEncrypter.decrypt(String)<br />
        astore 4<br />
        decryptedFile_start:<br />
        String decryptedFile (#4 62 - 92)<br />
        getstatic PrintStream System.out<br />
        new StringBuilder<br />
        dup<br />
        invokespecial void StringBuilder.&lt;init&gt;()<br />
        ldc_w String Constant "decryptedFile = "<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        aload decryptedFile<br />
        invokevirtual StringBuilder StringBuilder.append(String)<br />
        invokevirtual String StringBuilder.toString()<br />
        invokevirtual void PrintStream.println(String)<br />
        aload decryptedFile<br />
        areturn<br />
        decryptedFile_end:<br />
        desEncrypter_end:<br />
        file_end:<br />
        licenseKey_end:<br />
        this_end:<br />
    }<br />
<br />
    public void setLicenses(HashMap&lt;String, String&gt; licenses) {<br />
        licenses_start:<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 6)<br />
        HashMap licenses (#1 0 - 6)<br />
        aload_0 this<br />
        aload_1 licenses<br />
        putfield HashMap SaasLicenseController.licenses<br />
        return<br />
        licenses_end:<br />
        this_end:<br />
    }<br />
<br />
    public void resetAllCaches() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 6)<br />
        aload_0 this<br />
        aconst_null<br />
        invokevirtual void SaasLicenseController.setLicenses(HashMap)<br />
        return<br />
        this_end:<br />
    }<br />
<br />
    public static boolean isBilancEkspres() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=0"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isBilancStandard() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=1"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isBilancProfesional() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "MyVersion=2"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isFullLicense() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        ldc String Constant "FullLicense"<br />
        invokevirtual boolean HashMap.containsKey(Object)<br />
        ireturn<br />
    }<br />
<br />
    public static boolean hasNoLicense() {<br />
        invokestatic SaasLicenseController SaasLicenseController.getInstance()<br />
        invokevirtual HashMap SaasLicenseController.getLicenses()<br />
        invokevirtual boolean HashMap.isEmpty()<br />
        ireturn<br />
    }<br />
<br />
    public static boolean isSaasLicense() {<br />
        invokestatic boolean SaasLicenseController.isFullLicense()<br />
        ifne label_10<br />
        iconst_1 1<br />
        goto label_11<br />
        label_10:<br />
        iconst_0 0<br />
        label_11:<br />
        ireturn<br />
    }<br />
<br />
    public String getMyVersionAsString() {<br />
        this_start:<br />
        SaasLicenseController this (#0 0 - 34)<br />
        invokestatic boolean SaasLicenseController.isBilancEkspres()<br />
        ifeq label_10<br />
        ldc_w String Constant "Ekspres"<br />
        areturn<br />
        label_10:<br />
        invokestatic boolean SaasLicenseController.isBilancProfesional()<br />
        ifeq label_20<br />
        ldc_w String Constant "Profesional"<br />
        areturn<br />
        label_20:<br />
        invokestatic boolean SaasLicenseController.isBilancStandard()<br />
        ifeq label_30<br />
        ldc_w String Constant "Standard"<br />
        areturn<br />
        label_30:<br />
        ldc_w String Constant "-"<br />
        areturn<br />
        this_end:<br />
    }<br />
<br />
    public static boolean isWhiteListSerial() {<br />
        invokestatic TPKComputer TPKComputer.getInstance()<br />
        invokevirtual String TPKComputer.getComputerID()<br />
        astore_0<br />
        computerID_start:<br />
        String computerID (#0 7 - 25)<br />
        invokestatic HashMap SaasLicenseController.getWhiteListSerials()<br />
        astore_1<br />
        whiteListSerials_start:<br />
        HashMap whiteListSerials (#1 11 - 25)<br />
        aload_1 whiteListSerials<br />
        aload_0 computerID<br />
        invokevirtual Object HashMap.get(Object)<br />
        ifnull label_23<br />
        iconst_1 1<br />
        goto label_24<br />
        label_23:<br />
        iconst_0 0<br />
        label_24:<br />
        ireturn<br />
        whiteListSerials_end:<br />
        computerID_end:<br />
    }<br />
<br />
    private static HashMap&lt;String, String&gt; getWhiteListSerials() {<br />
        new HashMap<br />
        dup<br />
        invokespecial void HashMap.&lt;init&gt;()<br />
        astore_0<br />
        whiteListSerials_start:<br />
        HashMap whiteListSerials (#0 8 - 32)<br />
        aload_0 whiteListSerials<br />
        ldc_w String Constant "445C-3A27"<br />
        ldc_w String Constant "445C-3A27"<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        aload_0 whiteListSerials<br />
        ldc_w String Constant "14SSPVNIT"<br />
        ldc_w String Constant "14SSPVNIT"<br />
        invokevirtual Object HashMap.put(Object, Object)<br />
        pop<br />
        aload_0 whiteListSerials<br />
        areturn<br />
        whiteListSerials_end:<br />
    }<br />
<br />
}<br />
[/code]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Question of obfuscated jar.]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45486</link>
			<pubDate>Thu, 06 Apr 2017 08:24:54 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=9879">Seto</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45486</guid>
			<description><![CDATA[I have a jar and it's obfuscated. The class name and package name is the same after obfuscating.<br />
For example, there's a class named xxx.a. And there's a package named xxx.a as well. And there's a class named xxx.a.a in it.<br />
Then I can't import xxx.a.a. I want to use this class.<br />
Is there a tool to modify the package name or class name?]]></description>
			<content:encoded><![CDATA[I have a jar and it's obfuscated. The class name and package name is the same after obfuscating.<br />
For example, there's a class named xxx.a. And there's a package named xxx.a as well. And there's a class named xxx.a.a in it.<br />
Then I can't import xxx.a.a. I want to use this class.<br />
Is there a tool to modify the package name or class name?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Does anyone know how to do Reverse Engineering and Deobfuscate jar  from j2me games?]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45466</link>
			<pubDate>Fri, 24 Feb 2017 13:01:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=11907">lorenzo</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45466</guid>
			<description><![CDATA[[color=#212121][size=medium][font=arial, sans-serif]Is it possible to remove the obfuscation made by proguard and rename all methods fields etc. classes for more legible names? I tried with the fernflower with the option -ren = 1 but it leaves errors in my code some help?[/font][/size][/color]]]></description>
			<content:encoded><![CDATA[[color=#212121][size=medium][font=arial, sans-serif]Is it possible to remove the obfuscation made by proguard and rename all methods fields etc. classes for more legible names? I tried with the fernflower with the option -ren = 1 but it leaves errors in my code some help?[/font][/size][/color]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[help editing code in IDA]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45448</link>
			<pubDate>Mon, 09 Jan 2017 19:43:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=9116">newbreedsoftware</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45448</guid>
			<description><![CDATA[hello everyone, I am new to Android reverse engineering and I absolutely love it! I am still learning though so I was looking for some assistance with a function in IDA. I am not sure the function I am posting is the correct one so please let me know if I need to keep searching. What I am trying to edit is a 'cooldown timer' for a game I am playing. It is an RPG and after you use a special ability you have to wait a certain amount of turns before you can use it again. So I would like to disable the cooldown timer or make the countdown always 0. My idea was to change all the R4, R2, ect to R0. I added the link to my screenshot as I have not figured out how to attach an image to a post yet!<br />
<br />
<br />
dropbox.com/s/p5byrn3i1l5q0jy/gamess.jpg?dl=0]]></description>
			<content:encoded><![CDATA[hello everyone, I am new to Android reverse engineering and I absolutely love it! I am still learning though so I was looking for some assistance with a function in IDA. I am not sure the function I am posting is the correct one so please let me know if I need to keep searching. What I am trying to edit is a 'cooldown timer' for a game I am playing. It is an RPG and after you use a special ability you have to wait a certain amount of turns before you can use it again. So I would like to disable the cooldown timer or make the countdown always 0. My idea was to change all the R4, R2, ect to R0. I added the link to my screenshot as I have not figured out how to attach an image to a post yet!<br />
<br />
<br />
dropbox.com/s/p5byrn3i1l5q0jy/gamess.jpg?dl=0]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[help editing code in Net Reflector]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=45426</link>
			<pubDate>Thu, 22 Dec 2016 21:09:54 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=9116">newbreedsoftware</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=45426</guid>
			<description><![CDATA[I am trying to modify some code in .Net Reflector for an Android game and could use some assistance as I am still learning. As you can see in the attached screenshot the sub I am trying to edit is called 'DealDamage'. I would like to make the critAttack boolean always true, AimType always to be head (0) and no damage taken. Below is the section I believe needs to be edited with my notes added.<br />
<br />
dropbox.com/s/s8q9to7wafdbs3f/tysworkss.jpg?dl=0<br />
<br />
0 ldarg.3<br />
1 brfalse -&gt; (5) ldarg.0<br />
2 ldarg.0<br />
3 ldc.i4.1<br />
4 stfld System.Boolean Actor::critAttack<br />
5 ldarg.0 &lt;do I chanage this to ldarg.1 to make critAttack always True?<br />
6 ldarg.s -&gt; (3) aim (Actor/AimType)<br />
7 stfld Actor/AimType Actor::attackAim<br />
8 ldarg.2 &lt;do I change this to ldarg.0 for always headshot? AimType is 0 = Head, 1 = Torso, 2 = Legs<br />
9 ldnull<br />
10 call System.Boolean UnityEngine.Object::op_Inequality(UnityEngine.Object,UnityEngine.Object)<br />
11 brfalse -&gt; (25) ldarg.0<br />
12 ldarg.0<br />
13 callvirt System.Single Actor::get_Health()<br />
14 ldarg.1<br />
15 conv.r4<br />
16 sub &lt;do I change this to add to increase health instead of decreasing?<br />
17 ldc.r4 0<br />
18 bgt.un -&gt; (25) ldarg.0<br />
19 ldarg.0<br />
20 ldarg.2<br />
21 stfld Weapon Actor::killedBy<br />
22 ldarg.2<br />
23 ldarg.0<br />
24 callvirt System.Void Weapon::DoForcefulHitEffect(Actor)<br />
25 ldarg.0<br />
26 dup<br />
27 callvirt System.Single Actor::get_health()<br />
28 ldarg.1<br />
29 conv.r4<br />
30 sub<br />
31 callvirt System.Void Actor::set_Health(System.Single)<br />
32 ldarg.1 &lt;do I change this to idc4.1 999,999 ?<br />
33 ldc.i4.0<br />
34 bgt -&gt; (146) ret<br />
35 ldarg.2<br />
36 ldnull]]></description>
			<content:encoded><![CDATA[I am trying to modify some code in .Net Reflector for an Android game and could use some assistance as I am still learning. As you can see in the attached screenshot the sub I am trying to edit is called 'DealDamage'. I would like to make the critAttack boolean always true, AimType always to be head (0) and no damage taken. Below is the section I believe needs to be edited with my notes added.<br />
<br />
dropbox.com/s/s8q9to7wafdbs3f/tysworkss.jpg?dl=0<br />
<br />
0 ldarg.3<br />
1 brfalse -&gt; (5) ldarg.0<br />
2 ldarg.0<br />
3 ldc.i4.1<br />
4 stfld System.Boolean Actor::critAttack<br />
5 ldarg.0 &lt;do I chanage this to ldarg.1 to make critAttack always True?<br />
6 ldarg.s -&gt; (3) aim (Actor/AimType)<br />
7 stfld Actor/AimType Actor::attackAim<br />
8 ldarg.2 &lt;do I change this to ldarg.0 for always headshot? AimType is 0 = Head, 1 = Torso, 2 = Legs<br />
9 ldnull<br />
10 call System.Boolean UnityEngine.Object::op_Inequality(UnityEngine.Object,UnityEngine.Object)<br />
11 brfalse -&gt; (25) ldarg.0<br />
12 ldarg.0<br />
13 callvirt System.Single Actor::get_Health()<br />
14 ldarg.1<br />
15 conv.r4<br />
16 sub &lt;do I change this to add to increase health instead of decreasing?<br />
17 ldc.r4 0<br />
18 bgt.un -&gt; (25) ldarg.0<br />
19 ldarg.0<br />
20 ldarg.2<br />
21 stfld Weapon Actor::killedBy<br />
22 ldarg.2<br />
23 ldarg.0<br />
24 callvirt System.Void Weapon::DoForcefulHitEffect(Actor)<br />
25 ldarg.0<br />
26 dup<br />
27 callvirt System.Single Actor::get_health()<br />
28 ldarg.1<br />
29 conv.r4<br />
30 sub<br />
31 callvirt System.Void Actor::set_Health(System.Single)<br />
32 ldarg.1 &lt;do I change this to idc4.1 999,999 ?<br />
33 ldc.i4.0<br />
34 bgt -&gt; (146) ret<br />
35 ldarg.2<br />
36 ldnull]]></content:encoded>
		</item>
		<item>
			<title><![CDATA["Sanitise" a rogue lockscreen?]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=36917</link>
			<pubDate>Tue, 13 Dec 2016 13:51:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=11175">huckleberrypie</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=36917</guid>
			<description><![CDATA[[align=justify]Thought I'd register here since I am looking for some aid regarding a lock screen that came with a counterfeit phone I am toying around with for the lulz.[/align]<br />
<br />
[align=justify]I mean, it's a shame that the app's infected, yet it did a rather accurate recreation of the default Galaxy S7 lock screen. Simply deleting it off my phone would end up with a rather boring default lock icon, yet I don't want ads to fly right up my face either.[/align]<br />
<br />
[align=justify]I baksmali'd the code with the usual tools, and on my first attempt I simply culled out the lines referencing snowfox, ryg and fqhx, which make up the adware/PUP stuff, recompiled and pushed it back to my phone. It did install, but the app simply refused to load although curiously the stock Android lock icon didn't show up. To be honest I am no Java expert so please bear with me, but I can more or less understand what some of the code does especially when decompiled to (pseudo) Java code, but I am struggling to find a way on how to bypass the rogue SDK; my plan is to use intent and system service code from a number of lockscreen apps on Github, as I assume that it would be theoretically possible to use that for the bootstrap instead of the malware.[/align]<br />
<br />
APK: [url=http://d-h.st/8rQU]http://d-h.st/8rQU[/url]<br />
Decompiled Java: [url=http://d-h.st/OnkU]http://d-h.st/OnkU[/url]<br />
Smali: [url=http://d-h.st/S2oe]http://d-h.st/S2oe[/url]]]></description>
			<content:encoded><![CDATA[[align=justify]Thought I'd register here since I am looking for some aid regarding a lock screen that came with a counterfeit phone I am toying around with for the lulz.[/align]<br />
<br />
[align=justify]I mean, it's a shame that the app's infected, yet it did a rather accurate recreation of the default Galaxy S7 lock screen. Simply deleting it off my phone would end up with a rather boring default lock icon, yet I don't want ads to fly right up my face either.[/align]<br />
<br />
[align=justify]I baksmali'd the code with the usual tools, and on my first attempt I simply culled out the lines referencing snowfox, ryg and fqhx, which make up the adware/PUP stuff, recompiled and pushed it back to my phone. It did install, but the app simply refused to load although curiously the stock Android lock icon didn't show up. To be honest I am no Java expert so please bear with me, but I can more or less understand what some of the code does especially when decompiled to (pseudo) Java code, but I am struggling to find a way on how to bypass the rogue SDK; my plan is to use intent and system service code from a number of lockscreen apps on Github, as I assume that it would be theoretically possible to use that for the bootstrap instead of the malware.[/align]<br />
<br />
APK: [url=http://d-h.st/8rQU]http://d-h.st/8rQU[/url]<br />
Decompiled Java: [url=http://d-h.st/OnkU]http://d-h.st/OnkU[/url]<br />
Smali: [url=http://d-h.st/S2oe]http://d-h.st/S2oe[/url]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[help]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=2122</link>
			<pubDate>Wed, 29 Jun 2016 23:09:28 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=9333">jason56</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=2122</guid>
			<description><![CDATA[hello i try to decompile this exe to get the source files but cannot seem to get and src out of it,  i use  exeinfo pe and it says the warcarto exe is made with dev c++,but not having no luck geting source from it with  decompilers. i just wanted the source so i can update the maps inside are outdated  heres link to the catographer files [url=https://mega.nz/#!7gQWFQqI!cLa4r3F4JhwJkYzq4Fy78PY-e0ymbz02a950HsS-FSo]https://mega.nz/#!7gQWFQqI!cLa4r3F4JhwJkYzq4Fy78PY-e0ymbz02a950HsS-FSo[/url] any help will be appreciated to download the zip file you need google chrome browser]]></description>
			<content:encoded><![CDATA[hello i try to decompile this exe to get the source files but cannot seem to get and src out of it,  i use  exeinfo pe and it says the warcarto exe is made with dev c++,but not having no luck geting source from it with  decompilers. i just wanted the source so i can update the maps inside are outdated  heres link to the catographer files [url=https://mega.nz/#!7gQWFQqI!cLa4r3F4JhwJkYzq4Fy78PY-e0ymbz02a950HsS-FSo]https://mega.nz/#!7gQWFQqI!cLa4r3F4JhwJkYzq4Fy78PY-e0ymbz02a950HsS-FSo[/url] any help will be appreciated to download the zip file you need google chrome browser]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[HELP] Bypass Security Check]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1818</link>
			<pubDate>Mon, 09 May 2016 08:36:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=295">youbrey</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1818</guid>
			<description><![CDATA[Hi guys, i need your help to bypass security on this game. i tried to bypass before but still no luck. always get 'detect security error' when open the game.<br />
<br />
on MainActivity.smali :<br />
<br />
[code].method public DetectAppFalsification()V<br />
    .locals 2<br />
<br />
    .prologue<br />
    const/4 v1, 0x1<br />
<br />
    .line 1327<br />
    iget-boolean v0, p0, Lcom/netmarble/sknightsgb/MainActivity;-&gt;useSecureApp:Z<br />
<br />
    if-eqz v0, :cond_0<br />
<br />
    .line 1328<br />
    invoke-static {}, Lnmss/app/NmssSa;-&gt;getInstObj()Lnmss/app/NmssSa;<br />
<br />
    move-result-object v0<br />
<br />
    invoke-virtual {v0, v1, v1}, Lnmss/app/NmssSa;-&gt;detectApkIntgError(ZZ)V<br />
<br />
    .line 1331<br />
    :cond_0<br />
    return-void<br />
.end method[/code]<br />
<br />
nmssa.smali :<br />
[code].method public detectApkIntgError(ZZ)V<br />
    .locals 2<br />
    .param p1, "bShowMsgbox"    # Z<br />
    .param p2, "bExit"    # Z<br />
<br />
    .prologue<br />
    .line 105<br />
    invoke-direct {p0}, Lnmss/app/NmssSa;-&gt;nmssNativeSendLogApkIntgError()V<br />
<br />
    .line 107<br />
    if-eqz p1, :cond_0<br />
<br />
    .line 108<br />
    const/4 v0, 0x1<br />
<br />
    const-string v1, "Security Detection"<br />
<br />
    invoke-virtual {p0, v0, v1, p2}, Lnmss/app/NmssSa;-&gt;AlertMsg(ILjava/lang/String;Z)V<br />
<br />
    .line 109<br />
    :cond_0<br />
    return-void<br />
.end method[/code]<br />
<br />
Target APK : https://play.google.com/store/apps/details?id=com.netmarble.sknightsgb&amp;hl=en<br />
On other game with this same security method i can simply bypass on lib files, but that method will not work on this game. i dunno why. i need your help.]]></description>
			<content:encoded><![CDATA[Hi guys, i need your help to bypass security on this game. i tried to bypass before but still no luck. always get 'detect security error' when open the game.<br />
<br />
on MainActivity.smali :<br />
<br />
[code].method public DetectAppFalsification()V<br />
    .locals 2<br />
<br />
    .prologue<br />
    const/4 v1, 0x1<br />
<br />
    .line 1327<br />
    iget-boolean v0, p0, Lcom/netmarble/sknightsgb/MainActivity;-&gt;useSecureApp:Z<br />
<br />
    if-eqz v0, :cond_0<br />
<br />
    .line 1328<br />
    invoke-static {}, Lnmss/app/NmssSa;-&gt;getInstObj()Lnmss/app/NmssSa;<br />
<br />
    move-result-object v0<br />
<br />
    invoke-virtual {v0, v1, v1}, Lnmss/app/NmssSa;-&gt;detectApkIntgError(ZZ)V<br />
<br />
    .line 1331<br />
    :cond_0<br />
    return-void<br />
.end method[/code]<br />
<br />
nmssa.smali :<br />
[code].method public detectApkIntgError(ZZ)V<br />
    .locals 2<br />
    .param p1, "bShowMsgbox"    # Z<br />
    .param p2, "bExit"    # Z<br />
<br />
    .prologue<br />
    .line 105<br />
    invoke-direct {p0}, Lnmss/app/NmssSa;-&gt;nmssNativeSendLogApkIntgError()V<br />
<br />
    .line 107<br />
    if-eqz p1, :cond_0<br />
<br />
    .line 108<br />
    const/4 v0, 0x1<br />
<br />
    const-string v1, "Security Detection"<br />
<br />
    invoke-virtual {p0, v0, v1, p2}, Lnmss/app/NmssSa;-&gt;AlertMsg(ILjava/lang/String;Z)V<br />
<br />
    .line 109<br />
    :cond_0<br />
    return-void<br />
.end method[/code]<br />
<br />
Target APK : https://play.google.com/store/apps/details?id=com.netmarble.sknightsgb&amp;hl=en<br />
On other game with this same security method i can simply bypass on lib files, but that method will not work on this game. i dunno why. i need your help.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[HELP] Decompiling using Virtuous Ten Studio]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1678</link>
			<pubDate>Sat, 09 Apr 2016 12:46:19 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=7598">Rausch+</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1678</guid>
			<description><![CDATA[Hello,<br />
<br />
I have a problem with Virtuous Ten Studio:<br />
<br />
I'm trying to decompile an .apk using the latest smali files (smali 2.1.2 &amp; baksmali-2.1.2).<br />
<br />
But everytime I try to decompile, it shows me this error:<br />
<br />
[IMG]http://puu.sh/obPwU/8e3c2671b9.png[/IMG]<br />
<br />
I'm trying to decompile using the 4.4 KitKat API.<br />
Here are the settings:<br />
<br />
[IMG]http://puu.sh/obPtL/4ca9f2c64c.png[/IMG]<br />
<br />
Any idea?<br />
<br />
I'd like to get this problem solved. Because VTS is a really nice tool to edit &amp; test apps<br />
<br />
<br />
<br />
Regards]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I have a problem with Virtuous Ten Studio:<br />
<br />
I'm trying to decompile an .apk using the latest smali files (smali 2.1.2 &amp; baksmali-2.1.2).<br />
<br />
But everytime I try to decompile, it shows me this error:<br />
<br />
[IMG]http://puu.sh/obPwU/8e3c2671b9.png[/IMG]<br />
<br />
I'm trying to decompile using the 4.4 KitKat API.<br />
Here are the settings:<br />
<br />
[IMG]http://puu.sh/obPtL/4ca9f2c64c.png[/IMG]<br />
<br />
Any idea?<br />
<br />
I'd like to get this problem solved. Because VTS is a really nice tool to edit &amp; test apps<br />
<br />
<br />
<br />
Regards]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[HELP] How to decompile protected classes.dex file]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1649</link>
			<pubDate>Tue, 29 Mar 2016 04:55:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=295">youbrey</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1649</guid>
			<description><![CDATA[hi, i need your help to decompile classes.dex file that cant be extracting. Original .dex file size is 6mb, bun i extract it just have 6kb size file.and whem i decompiled it just just have 'Medusah' smali folder.<br />
<br />
how to decrypt and decompile this file to get original classes.dex file??<br />
i will uplodad the classes.dex file of you want to looking on it.pls help]]></description>
			<content:encoded><![CDATA[hi, i need your help to decompile classes.dex file that cant be extracting. Original .dex file size is 6mb, bun i extract it just have 6kb size file.and whem i decompiled it just just have 'Medusah' smali folder.<br />
<br />
how to decrypt and decompile this file to get original classes.dex file??<br />
i will uplodad the classes.dex file of you want to looking on it.pls help]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[matching android views xml ids to java]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1610</link>
			<pubDate>Thu, 10 Mar 2016 10:29:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=8725">AlexM20</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1610</guid>
			<description><![CDATA[Hello, I'm new in RE. I'm searching for tools to decompile apk finding the link of android views xml ids to java code and cannot find. Are there such tools that link Android views as described in layout / xml files to findviewbyid methods in java code? <br />
<br />
Java machine somehow does that during execution. Why I get like android:id="@id/textView1" in xlm and findviewbyid (3523423) in java in Bytecodeviewer? (I just started by use Bytecodeviewer and upon opening apk it produces such output - maybe there is some trick to match ids?).<br />
<br />
Thanx!]]></description>
			<content:encoded><![CDATA[Hello, I'm new in RE. I'm searching for tools to decompile apk finding the link of android views xml ids to java code and cannot find. Are there such tools that link Android views as described in layout / xml files to findviewbyid methods in java code? <br />
<br />
Java machine somehow does that during execution. Why I get like android:id="@id/textView1" in xlm and findviewbyid (3523423) in java in Bytecodeviewer? (I just started by use Bytecodeviewer and upon opening apk it produces such output - maybe there is some trick to match ids?).<br />
<br />
Thanx!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[NFC Tag Code]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1570</link>
			<pubDate>Thu, 18 Feb 2016 23:24:48 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=8677">Greatone76</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1570</guid>
			<description><![CDATA[I have a situation where I have information on an NFC tag that a machine reads 1/3 of the card and then uses some algorithm to produce the code to authenticate to read the remainder of the card.  If I put up the information readable without the code pared with the litigate codes would this be a good place to find someone to help me figure it out.  Is there a better place in the forum to get help.  Would anyone have a recommendation of a different place to look for help for this.  Just so everything is upfront.  The basic model is a printer and the ink has a secure NFC tag so that the printer can count the usage and count it down on the card.  So basically it is a closed system where they want you to buy their product for the refill and lock other manufactures out.  So I'm looking to get the code to edit an existing card and use a 3rd party refill or create my own NFC tag to use a 3rd party for my refill.  The company is charging around 4 times the price for the same quality refill, so I'm looking to save money and possibly share the solution with others.]]></description>
			<content:encoded><![CDATA[I have a situation where I have information on an NFC tag that a machine reads 1/3 of the card and then uses some algorithm to produce the code to authenticate to read the remainder of the card.  If I put up the information readable without the code pared with the litigate codes would this be a good place to find someone to help me figure it out.  Is there a better place in the forum to get help.  Would anyone have a recommendation of a different place to look for help for this.  Just so everything is upfront.  The basic model is a printer and the ink has a secure NFC tag so that the printer can count the usage and count it down on the card.  So basically it is a closed system where they want you to buy their product for the refill and lock other manufactures out.  So I'm looking to get the code to edit an existing card and use a 3rd party refill or create my own NFC tag to use a 3rd party for my refill.  The company is charging around 4 times the price for the same quality refill, so I'm looking to save money and possibly share the solution with others.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[ASM] Getting methods of a parent class without reflection [Fixed]]]></title>
			<link>https://the.bytecode.club/showthread.php?tid=1538</link>
			<pubDate>Sun, 10 Jan 2016 23:14:08 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://the.bytecode.club/member.php?action=profile&uid=8505">Dank Vader</a>]]></dc:creator>
			<guid isPermaLink="false">https://the.bytecode.club/showthread.php?tid=1538</guid>
			<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
		</item>
	</channel>
</rss>