Kamis, 21 November 2013

How to Crack WingIDE Professional 5.0.0

Hari ini saya akan membicarakan bagaimana meng-crack WingIDE Professional 5.0.0, versi terbaru WingIDE yang dirilis pada tanggal 14-11-2013 lalu.

Perhatian :

TIDAK UNTUK PENGGUNAAN KOMERSIAL.
Jika anda berkeyakinan sesuatu pada tulisan ini telah melanggar hak kekayaan intelektual anda, silahkan hubungi kami.


Apa WingIDE?


Wingware IDE Python merupakan sebuah lingkungan pengembangan yang terintegrasi (IDE -- Integrated Development Environment) yang dirancang khusus untuk bahasa pemrograman Python. Sejak tahun 1999, Wingware telah berfokuskan pada Python.


Cara mendapatkan WingIDE?


Anda dapat mengunduh WingIDE dari http://wingide.com/downloads. Ini adalah perangkat lunak cross-platform dan versi terbaru saat ini adalah 5.0.0. Aplikasi ini memiliki tiga versi yang berbeda: WingIDE 101, WingIDE Pribadi dan WingIDE Profesional.


Bagaimana Cara Meng-crack WingIDE Professional 5.0.0?

Sebelumnya saya telah mencoba mengikuti cara-cara yang telah ada di internet pada link ini namun saya gagal untuk WingIDE v5, lalu saya mencoba dengan cara baru ini pada sistem operasi debian gnu/linux 7.

Kebutuhan-kebutuhan:

- OS : Debian gnu/linux 7
- Aplikasi : wingide5_5.0.0-1_amd64.deb
- Aplikasi Alat : uncompyle2 dan xarchiver
- Aplikasi-aplikasi dependensi lainnya

Langkah-langkah:

Setelah menginstal WingIDE pada komputer anda, JANGAN menjalankan WingIDE untuk pertama kali. Anda harus mengubah sistem waktu komputer anda ke satu bulan yang lalu. Untuk merubah waktu jalankan perintah ini:

#date -s 2013-10-20

Kemudian mulailah menjalankan WingIDE untuk pertama kali dan anda bisa mendapatkan nomor seri untuk percobaan 10-hari untuk penggunaan sementara dari server resminya. Setelah itu keluar dari WingIDE.

Buka folder instalasi WingIDE dan buka /bin/2.7/src.zip, lalu ekstrak file abstract.pyo yang ada didalam folder process. File inilah yang digunakan untuk memvalidasi aplikasinya.

File abstract.pyo adalah file bytecode Python sehingga sebelum anda mengeditnya, anda harus mendekompilasinya terlebih dahulu. Sekarang anda memerlukan aplikasi alat yang disebut uncompyle2 yang anda bisa mendapatkan dari https://github.com/wibiti/uncompyle2, kemudian instal ke dalam sistem anda.

Harap perhatikan bahwa aplikasi uncompyle2 ini khusus untuk python 2.7, maka jika anda menggunakan versi python lainnya pasti anda tidak bisa menjalankannya dengan baik. Jadi, silakan gunakan versi python 2.7.

Untuk mengdekompilasinya, silahkan mengeksekusi perintah berikut di jendela shell anda:

$uncompyle2 -o ./ --py abstract.pyo

Anda akan mendapatkan file abstract.py baru, file ini yang akan anda edit dan anda kompilasi lagi ke file abstract.pyo.

Untuk mengeditnya anda akan fokus pada fungsi _GetTermDaysLeft dalam file abstract.py, ini sekitar line ke-555. Selanjutnya editlah seperti berikut:

- kode fungsi _GetTermDaysLeft awal (sebelum diedit):

def _GetTermDaysLeft(self, lic = None):
        """ Get number of days left on license.  Returns the days, or 0 if expired,
        -1 if unlimited, or -2 on error """
        if lic is None:
            lic = self.fLicenseData
        if lic is None:
            return 0
        elif lic['termdays'] != '*':
            try:
                fields = string.split(lic['date'], '/')
                if len(fields) != 3:
                    raise ValueError
                m, d, y = map(string.atoi, fields)
                if m < 1 or m > 12 or d < 1 or d > 31 or y < 0:
                    raise ValueError
                if y < 100:
                    y = 2000 + y
                lic_date = time.mktime((y,
                 m,
                 d,
                 0,
                 0,
                 0,
                 0,
                 0,
                 -1))
            except (ValueError, TypeError, OverflowError):
                return -2

            cur_date = time.time()
            try:
                lic_secs = int(lic['termdays']) * 24 * 60 * 60
            except ValueError:
                return -2

            if cur_date > lic_date + lic_secs:
                return 0
            if lic_date > cur_date + 86400:
                return 0
            return int((lic_secs - (cur_date - lic_date)) / 86400)
        else:
            return -1

-karena nilai 0 untuk kadarluarsa dan nilai -1 untuk unlimited maka rubah nilai 0 menjadi -1 pada line 591 dan 593. Sehingga setelah diedit file ini akan menjadi seperti berikut:

def _GetTermDaysLeft(self, lic = None):
        """ Get number of days left on license.  Returns the days, or 0 if expired,
        -1 if unlimited, or -2 on error """
        if lic is None:
            lic = self.fLicenseData
        if lic is None:
            return 0
        elif lic['termdays'] != '*':
            try:
                fields = string.split(lic['date'], '/')
                if len(fields) != 3:
                    raise ValueError
                m, d, y = map(string.atoi, fields)
                if m < 1 or m > 12 or d < 1 or d > 31 or y < 0:
                    raise ValueError
                if y < 100:
                    y = 2000 + y
                lic_date = time.mktime((y,
                 m,
                 d,
                 0,
                 0,
                 0,
                 0,
                 0,
                 -1))
            except (ValueError, TypeError, OverflowError):
                return -2

            cur_date = time.time()
            try:
                lic_secs = int(lic['termdays']) * 24 * 60 * 60
            except ValueError:
                return -2

            if cur_date > lic_date + lic_secs:
                return -1
            if lic_date > cur_date + 86400:
                return -1
            return int((lic_secs - (cur_date - lic_date)) / 86400)
        else:
            return -1 


Lalu anda kompilasi file abstract.py ini dengan menggunakan aplikasi alat yang sudah tersedia dalam distribusi python 2.7 hingga dihasilkan file abstract.pyo yang baru. Lakukan dengan cara menjalankan perintah sebagai berikut:

$python -O -m compileall folder_dimana_file_berada/

Setelah memodifikasi dan mengkompilasi ulang file abstract.pyo, gantikan file abtract.pyo di dalam /bin/2.5/src.zip/process/ dengan yang baru ini.

Terakhir sebelum memulai WingIDE, silakan mengubah sistem waktu komputer anda ke sekarang dengan menjalankan perintah sebagai berikut:

#ntpdate 0.debian.pool.ntp.org

Dan anda akan melihat WingIDE telah di-crack.

1 komentar:

  1. SlottyR - Casino, Restaurants & Restaurants in - Mapyro
    The casino 인천광역 출장마사지 in Lhasa, New York. Casino. Lhasa is 남원 출장샵 a 여주 출장안마 hotel and casino in Lhasa. The 제주도 출장마사지 casino in Lhasa, New York is 안산 출장안마 located in 4

    BalasHapus