B4A Library ProBundle [chargeable]

Discussion in 'Additional libraries, classes and official updates' started by Informatix, Sep 26, 2015.

  1. Informatix

    Informatix Expert Licensed User

    ProBundle is a set of libraries of professional quality that you may use to protect your app. To get it, you have to donate at least 30 euros. You will get also two guides explaining how to use these libraries to protect your app against curiosity and piracy. More details about these guides are given at the end of this post.
    It is not possible to acquire a library individually.

    - ArchiverPlusUnRar v1.02
    Based on the official source code in C++ of the UnRar.dll, this library allows to extract files from a Rar archive.
    It supports decryption, Rar5 format, QuickOpen records and split Rar archives.

    - ArchiverPlusZip v1.12
    Based on the Zip4j library, this library allows to add, extract, update and remove files from a zip archive.
    It supports encryption and decryption (standard and AES), Zip64 format and split zip archives.

    - CallSubExtended v2.0
    This library allows to perform a CallSub with any number of parameters or run a sub in a different thread to parallelize execution.

    - ClassLoader v1.0
    This library can dynamically load classes from a separate file (JAR or uninstalled APK) at runtime and verify the file signatures to make sure of its origin and integrity.
    You can use the library to create plug-ins, load code encrypted in the assets or download code from a remote server, for example.

    - CPUFeatures + source v1.0
    This library detects the target device's CPU family and the maximum number of CPU cores.

    - DataCollection v1.07
    This library wraps the ArrayDeque, BitSet, Pair, PriorityQueue, SparseArray, Stack, TreeMap and TreeSet classes. It adds also the KeyValueList class, which is a Map combined to a List.
    These classes can replace your lists, maps or arrays for specific tasks, or simply because they are faster. A TreeSet, for example, can maintain a sorted list of objects in a more efficient manner than a typical List class. A TreeMap is a map whose entries are sorted by their keys. A SparseArray is also a sorted map, but restricted to integer keys, that is lightning-fast.
    This library can serialize to an array of bytes any collection, including Map, List and user defined types.
    The B4J version of this library is included.

    - Error Detection + source v1.2
    This library converts the OutOfMemory error and StackOverflow error to RuntimeException for a given sub, allowing to catch them. It can also detect when the UI is frozen before an ApplicationNotResponding error is thrown.

    - F5Steg v1.2
    This library implements F5, a secure steganographic algorithm, which embeds data into images. Data are encrypted with a password or, by default, with the application signature (thus any tampering of the APK will prevent from extracting valid data).

    - FastIO + source v0.9
    This library replaces the Read and Write functions (with their encrypted variant) of the RandomAccessFile library for arrays of bytes. These new functions are a lot faster.

    - OverlayWindow + source v1.1
    This library allows to create overlay windows and floating buttons. These interactive views can be displayed on top of all other applications.

    - PackageUtils v2.0
    This library replaces the PackageManager class of the Phone library. It gives plenty of informations on packages (activities, features, permissions, receivers, services, etc.) and can list the features available on the system (camera, gps, wifi, etc.). It allows experts to change the enabled state of components.
    An application is provided with the library to show what you can get with it.

    - PDFium v1.0
    This library is a fast PDF renderer working with any Android version >= 2.3 (Gingerbread). It can open protected PDF (with the password), get the metadata, get the table of contents, get the text of each page, search through the whole document and render the annotations. It includes a navigator.

    - Protect My App - a PDF guide to protect your application
    In this guide, I explain in detail how hackers can decompile your application and change your code. I give advices about what to do and what to avoid. I provide a practical solution to enforce the protection of your assets (images, db, etc.), passwords, and even pieces of critical code.
    With this guide, I provide seven configuration files for the Proguard tool and an updated version of the BasicLibIDE library, made compatible with the recent versions of B4A and the obfuscated mode.

    - My Secure Vault
    This guide offers an alternative to the solution suggested in the previous guide. It explains how to create your own library in C and provides the code to generate it (the knowledge of the C language is not required).

    Free bonus:
    CoverFlow v1.31
    This view is similar to the free Coverflow library available in the B4A forum but it uses a different approach (the same as UltimateListView) to load images.

    You get also a personal support by email, from monday to friday.

    Maybe some day, I will add an ArchiverPlus7z library to the bundle.

    CURRENT VERSIONS : ProBundle 1.11, ProtectMyApp 1.1

    WHEN DONATING, PLEASE INDICATE CLEARLY IN THE PAYPAL FORM THAT YOU DONATE FOR THIS BUNDLE TO AVOID ANY CONFUSION WITH MY OTHER LIBRARIES.
     

    Attached Files:

    Last edited: Jun 22, 2017 at 7:28 PM
  2. DonManfred

    DonManfred Expert Licensed User

    I´m first but i need to wait for tomorrow :D
     
  3. susu

    susu Well-Known Member Licensed User

    Tomorrow, tomorrow!!!
     
  4. MarcoRome

    MarcoRome Expert Licensed User

    I'm second but me too want see this premium bundle :p
     
  5. MarcoRome

    MarcoRome Expert Licensed User

    Opps ...third for few seconds ...:)
     
  6. MaFu

    MaFu Well-Known Member Licensed User

    Donated. First 25,00 Euros and then additionally 5,00 Euros after seeing the premium announcement.
     
  7. incendio

    incendio Active Member Licensed User

    Interesting, can callsubextended used to run different RDC at the same time?

    An example would be useful.
     
  8. Informatix

    Informatix Expert Licensed User

    What do you mean exactly? RDC can mean "remote desktop connection", "remote database connector" or "république démocratique de Chine" in my language ;).
    CallSubExtended has a function "AsyncCallSub" that can run a given sub in a separate thread instead of the main thread, so this sub is not blocking and run in the background. It's perfect to do computations, write to disk (and it's recommended by Google), retrieve a file on a remote server, communicate with another device, benefit from the many cores of your CPU to do something faster, etc. It's not intended to update the UI (only the main thread can do that) but you can do it anyway thanks to the RunOnMainThread function. A list of functions is given in the zip at the bottom of the first thread.
    If you want to do concurrent writes to a database, the database has to support them.
     
    Last edited: Sep 27, 2015
    MarcoRome likes this.
  9. MarcoRome

    MarcoRome Expert Licensed User

    And so as you told me. You wrote this work. :)
    Great Fred
     
  10. MarcoRome

    MarcoRome Expert Licensed User

    Informatix likes this.
  11. Informatix

    Informatix Expert Licensed User

    You will see in the Guide that my knowledge on this matter has greatly increased since we started talking. I read a few books on security these past days... But honestly I'm very disappointed by these books. They are vague, their advices are limited to "obfuscate your code" or "write a .so library". And for B4A users, they really lack of interest.
     
  12. MarcoRome

    MarcoRome Expert Licensed User

    I am very curious to see what you have produced ( Guide ) . And to prove this last your creation ( ProBundle )
     
  13. incendio

    incendio Active Member Licensed User

    Sorry, RDC means Remote Database connector.

    EDIT :
    Just saw your demo and html file.
    On method AsyncCallSub, there is an identifier to indicate whether Sub is running or not.

    In case on RDC, there are 2 processes, call RDC Sub and wait for response in Sub Job done. Since this is 2 process, do you think it will speed up the whole process by using
    CallSubExtended ?
     
    Last edited: Sep 27, 2015
  14. Informatix

    Informatix Expert Licensed User

    I'm sorry but I don't understand what you want to do. AFAIK, RDC works already in the background (DBRequestManager creates a HttpJob for each request) and Jobdone is not a function that you call yourself, it's an event raised when the job is done. It is not blocking. Unless I understand what you really try to do, I won't be able to give a better answer.
     
  15. susu

    susu Well-Known Member Licensed User

    I'm using phone so I can't see donation button. Can you give me your Paypal email?
     
  16. Informatix

    Informatix Expert Licensed User

    DonManfred likes this.
  17. susu

    susu Well-Known Member Licensed User

    Done! Now waiting for your mail.
     
    Informatix likes this.
  18. Anser

    Anser Active Member Licensed User

    I have done the Donation.

    Regards
    Anser
     
    Informatix likes this.
  19. DonManfred

    DonManfred Expert Licensed User

    AFAIK it will not help here. CallsubExtended is made to run an long running sub into background. Calling the request with rdc is not a LONG RUNNING sub... Usually it is a really fast sub. The request is already send in background and raises the JobDone sub.
    You cannot change the behaviour of RDC with callsubxtended.

    Just my 2cent.. Dont give to much weight on my answer; better wait for the answer from @Informatix
     
  20. Informatix

    Informatix Expert Licensed User

    It's one of its possible use but you cannot limit the library to that. The second demo, for example, uses 2 cores to fill an array faster.
    In some cases, using a service is better. Without knowing exactly what people want to do with the library, it's difficult to give a good advice.
    I already answered in post #14.
     
    DonManfred likes this.
Loading...