Archive

Archive for November, 2012

Cracking .NET Software

November 30, 2012 1 comment

Are you familiar with this picture ?

image

If you are not then you have to visit this cool website regulary. If you have already, congrats. then you are a cool person to. 😀

This is what exactly we will do in this blog post. I always thought that to crack software is really hard at university. A couple a days ago i found that actually that’s pretty simple and i believe that you can do it also. Of course i’m not want you to be pirate. Let’s just do it for fun. 🙂

Don’t worry we don’t have to deep dive into assembly or machine language thing in this stuff. I will.. maybe next time, if i have a chance to do it. But today it’s only a simple start for you to get your hands dirty.

I know all this stuff because previously i want to crack my friends software because it can be run in Windows 8. I try to find out why the license mechanism is not working on my Machine.

My first try is to get a the coolest software decompiler  in .NET world. Reflector. If you don’t have one, please go get it and use the trial version to get the feel how great it is. I see the license routine and found out where i can leverage the weakness of this software. Just drag the assembly to reflector and open the related method. Very simple to use. Turns out that this assembly hasn’t been obsfucated first.

You definitely have to obfuscate your assembly if it’s not open source project.

 

image

Here’s another assembly that has been obfuscated. You can still see the code, but i bet it will hurt your eyes, just give up and buy the license.

image 

I include the assembly in my project, create a simple main program in my software. I try to do reflection because some of the assembly is internal. So another best practice again is…

image

For a really critical and high privacy class, you should keep the access at least as possible. don’t create all class public by default. that’s just plain stupid !!! If you don’t want everyone get access to it try to make it internal.

There is a very good book that will support my statement. You can check this cool book.

image

 

After a couple of headaches i finally found a very nice reflector add ins that help me to crack that software. Have you ever heard about reflexil ? That cool tools can modify an IL (intermediate language) and save the result. That’s exactly what we’re looking for. Just go download the latest version.

image

Extract the file and then add to reflector.
image

image

And now you can find the interesting method and see the IL 

image

If you are not into IL, don’t worry. You can just modify the method directly and insert the relevant code. Very simple. Just right click in instruction window and choose this one

image

And all you have to do is replace the whole class with yours. You have to make it compile-able. Compile and click ok. Your evil IL will be inserted.

image

Now you can save the modified assembly by right clicking the assembly, choose reflxil and save as…

image

And then replace the original assembly with this one. And you are done. Right next door to hell because of cracking other people software. 🙂

 

Use this information to protect your software only. Of course that’s depend on your heart right ?

 

http://sourceforge.net/projects/reflexil/?source=dlp
http://geekswithblogs.net/MarkPearl/archive/2010/09/01/crack-.net-applications-101-ndash-part-2.aspx
http://geekswithblogs.net/MarkPearl/archive/2010/08/31/crack-.net-applications-101-ndash-part-1.aspx
http://stackoverflow.com/questions/451453/how-to-get-a-static-property-with-reflection

Cheers

Advertisements
Categories: Uncategorized

TypeScript for Realtime Demo

November 29, 2012 1 comment

Today i’ve just using TypeScript for our html 5 realtime streaming experiment.

My boss told me to create a HTML 5 client to demonstrate the result of our messaging infrastructure research. At first i don’t think this will be fun because i have to touch HTML and Javascript. I’m very lack in that area. I’m a backend engineer… what should i do here.

But i think why not make this fun ? So i use TypeScript for this task. And voila. Very simple code for not so simple experiment. 🙂

 

image

I couldn’t imagine how i can code javascript for this kind of task.

Have you install TypeScript for Your Visual Studio ??

You SHOULD

 

Cheers

Categories: Uncategorized

Waiting for HTML 5 Websocket Books….

November 28, 2012 Leave a comment

Lately I’ve been involved intensively with WebSocket. I found there’s an incoming book for this stuff. Currently my guide is RFC which is boring and confusing sometimes. Open-mouthed smile

 

Please … release this book soon. I’m dying to read it !

 

image

Categories: Uncategorized

Team Leadership Books to read

November 25, 2012 Leave a comment

No one work in isolation. Team is a very precious thing that will made your software dream comes true. Need to read those book to create and maintain a great team. Here is my bucket list reading .. when i have a free time…

image image image

image image image

image image image

 

Definitely need some very good time to read it !

Categories: Uncategorized

TypeScript : Large Scale Javascript Development made easy

November 24, 2012 1 comment

Beberapa tahun belakangan ini javascript sudah menjadi first class language yang tidak hanya digunakan untuk aplikasi web saja tetapi juga di sisi server. Anda dapat melihat framework sepertiNode.js, framework for single page apps, bahkan video streaming and conference jg memanfaatkan kekuatan dari javascript dan HTML 5. Jangan lupa juga bahwa microsoft menggunakan javascript sebagai salah satu language yg dapat membuat aplikasi windows store apps (windows 8). Perkembangan library javascript dengan kehadiran HTML 5 juga sangat mengesankan. Sepertinya hampir tidak ada hal yang tidak bisa dilakukan dengan javascript .

Tetapi sudah bukan rahasia lagi bahwa pembangunan aplikasi dengan memanfaatkan javascript apalagi hal tersebut memiliki skala besar sangat painful. Hal ini disebabkan lemahnya dukungan dari tools dan javascript merupakan scripting language yang memiliki nature dynamic typing. Anda dapat melihat banyak buku yang akan membahas lengkap bagaimana kita bisa membuat code base kita lebih maintanable dan hal tersebut dapat dilakukan tetapi tidak mudah. Anda dapat melihat sebagian kecil dari buku yang membahas hal tersebut.

 

image image image

imageimageimage

 

Jika anda membaca buku diatas terutama buku yang terakhir (membahas tdd, refactoring dan pattern), anda akan merasakan bahwa sulit untuk melakukan hal tersebut dengan benar. 

Anda mungkin pernah mendengar mengenai CoffeScript yang menawarkan kemudahan dan ada beberapa project serupa. Dan akhirnya microsoft pun membuat bahasanya sendiri yaitu TypeScript. Seperti beberapa project yang lain typescript akan menghasilkan javascript code. Dan creatornya adalah Anders Hejlsberg yang merupakan Architect dari c#. Wow. Sintaks yang digunakan pada TypeScript juga mirip c# dan java. You will love this one. Anda juga dapat memanfaatkan VIsual Studio sebagai IDE , melakukan debugging dsb. Static typing jadi anda akan mendapat bantuan dari compiler mengenai sintaks error dsb. Awesome right ?? Ok enough marketing speech. let’s write some code.

First Cup with TypeScript

  1. Anda dapat menginstall typescript plugin untuk visual studio dari sini.

    image

  2. Setelah anda melakukan instalasi anda dapat menemukan template baru pada visual studio. Berikan nama dan create project.

    image

  3. Anda akan mendapati file .ts (typescript) dan .js (javascript). Secara otomatis file typescript akan dicompile menjadi javascript.

    image

  4. Jika anda membuka file .ts dan jika background programming anda adalah java atau c# maka hal ini sangat familar sekali bagi anda. clean and beautiful.

    image
    apakah anda bisa bayangkan bagaimana membuat code tersebut dengan javascript. Silahkan anda buka sendiri file javascriptnya. very messy and hurt your eyes. guaranteed!!

    image

  5. Sekarang mari kita jalankan. Pastikan dulu bahwa browser yg terpilih untuk menjalankan aplikasi ini adlah Internet Explorer, karena sebelumnya saya tidak dapat melakukan debugging dengan Chrome.

    image 

  6. Jika anda ingin mengetes fitur debugging pada bagian ini anda dapat menset breakpoint. Saya membuatnya pada constructor.

    image

  7. Tekan F5  untuk menjalankannya. Anda akan mendapat pesan seperti berikut ini karena dia akan dijalakan di IIS. Tekan saja OK.

    image

    Internet explorer akan terbuka untuk menampilkan hasilnya. Voila aplikasi kita dijalankan dan aplikasi berhenti pada breakpoint. Anda juga akan mendapatkan fitur debugging yang diberikan oleh visual studio.

     image

  8. Tekan F5 untuk melanjutkan aplikasi lagi. Akan ditampilkan page seperti berikut ini.

    image 

Websocket dengan TypeScript

  1. Sekarang mari kita membuat code sederhana. Saya penasaran bagaimana dengan dukungan HTML 5 pada typescript. Dan fitur yang saya cari adalah ??? the most powerful one from HTML 5. WEBSOCKET !!. Let’s do it. Saya akan menggunakan server websocket yang dapat diakes disni http://www.websocket.org/echo.html.

    image

    Anda dapat melihat alamat websocketnya adalah ws://echo.websocket.org. Hanya merupakan simple reply dari server. Anda dapat mencoba terlebih dahulu demo nya untuk memastikan dukungan websocket pada browser anda dan juga tidak ada masalah dengan firewall dan NAT.

  2. Tambahkan code yang telah di highlight berikut ini.

    image

    Perhatikan pendeklarasian variable dengan static type, intellisense pada websocket dan penggunaan lambda expression untuk callback. Sangat indah sekali.

  3. Langsung saja kita jalankan dengan menekan F5. Anda akan mendapat pesan bahwa koneksi websocket telah dibuat ke server.

    image

    Tekan OK dan message anda akan dibalas oleh server.

    image 

  4. Anda dapat melihat presentasi mengenai javascript langsung dari pembuatnya dari dua video berikut ini.

image image

    Have fun with TypeScript !!!

    Cheers

    Categories: Uncategorized

    Future C++

    November 8, 2012 Leave a comment

    Event terbesar buat windows developer sudah berakhir. Herb sutter membawakan satu sesi presentasi yang sangat menarik bagi c++ developer. Anda dapat menyaksikannya pada channel 9 di link berikut ini

    futurecpp

    Menurut saya presentasi ini layak menjadi key note pada hari terakhir. Herb Sutter in the podium. What else, right ?

    Ada banyak hal yang sangat menarik disampaikan pada presentasi tersebut. Saya akan memberikan point2nya dan referensi yang bisa anda rujuk.

    image

    Banyak sekali fitur-fitur baru khusus untuk c++ pada visual c++ 2012. Anda wajib mencobanya sendiri. Dari segi bahasa, tools, dan juga performance. Sekarang anda juga sudah dapat membuat aplikasi games di Windows Phone 8 dengan C++. Sehingga banyak code yang bisa anda share dari aplikasi desktop, windows store dan phone. Developer Productivity !!

    image

    Banyak request yang dilayangkan ke MIcrosoft untuk Visual C++ dan beberapa priority sudah dipenuhi oleh Microsoft. Anda bisa merujuk di link berikut ini.

    XP Targeting

    Visual Studio 2012 Desktop Express

    Dan yang paling penting adalah C++ 11 feature. Pada GoingNative 2012 yang lalu Microsoft berjanji akan merelease fitur-fitur yang belum ada secara berkelanjutan. Hal ini dipenuhi !! We can trust MS right ? 🙂

    More C++ and more to come…

    Banyak fitur-fitur penting yang telah dimasukkan ke dalam compiler seperti variadic template, initializer list, delegating constructor, etc etc. Install and play with it!

    image

    STL (the man) juga membawakan satu video khusus yang menjelaskan mengenai fitur-fitur tersebut. Watch it and learn a lot from him

    image

    Pada GoingNative 2012 juga disinggung bahwa library standard c++ kalah telak dengan library standard java dan .net. Hal ini menyebabkan c++ developer harus hunting library yang dibutuhkan. Akan lebih baik jika kita memiliki library yang sekelas dengan .NET framework ato Java SDK ? Hal ini akan segera terealisasi di c++. ISO c++ sedang berjuang untuk hal tersebut. Kita tinggal menunggu waktu saja.

    image

    Anda mungkin merasakan bahwa perkembangan c++ terasa berjalan sangat lambat bahkan tidak terasa. Hal ini adalah masa lalu. Masa depan sama sekali sudah berubah. Anda akan merasakan perubahan yang sangat cepat dari c++ mulai dari sekarang !  Berikut rencana kerja dari ISO C++.

    image

    Jika anda dulu merasakan bahwa resource untuk c++ tersebar dan tidak tersentralisasi. Hal tersebut sudah berakhir. ISO C++ telah memiliki website sendiri. Anda dapat segera berkunjung ke sana. Artike-artikel dan informasi yang terdapat disana sangat berharga sekali dan berasal dari veteran c++ yang ada di bumi ini. Anda bahkan bisa mengakses dari mobile dengan tampilan yang bagus. Memang ditujukan untuk semua device. Read from anywhere !

    image

    C++ sekarng juga sudah memilki foundation untuk mempromosikan dan penggunaan Standard c++ pada semua compiler dan semua platform. Vendor Independent !

    image

    Mari kita bersama-sama di Indonesia menyebarkan berita gembira ini.

    C++ is still evolve and Never Die !

     

    Cheers

    Categories: Uncategorized

    The Next C++ Books you have to read !

    November 8, 2012 1 comment

    C++ dalam tahun terakhir ini mengalami perkembangan yang sangat pesat. Banyak buku-buku atau artikel yang sudah tidak valid lagi. Kita sebaiknya membaca buku-buku yang terbaru mengenai c++ sehingga tidak menggunakan ilmu yang sudah lawas dan ketinggalan jaman. Berikut adalah beberapa buku yang sebaiknya dibaca untuk memperbaharui kemampuan c++ anda atau mungkin anda baru mulai belajar c++. Find this book and read it

     

    1. C++ Primer Plus

      01 - CPPRimerPlus 

      Buku ini merupakan pengantar yang sangat bagus untuk c++ untuk level pemula. Mudah untuk diikuti dan lengkap. Buku ini sudah mencaai edisi ke enam sehingga sudah dapat dipastikan banyak peminatnya. Buku ini sudah mencakup c++ 11.

    2. C++ in One Hour a Day

      02 - OneHourADay 

      Pembagian waktu belajar dari buku ini cukup baik. Banyak hal-hal praktis yang disampaikan dari buku tersebut. Buku ini ditulis oleh MVP c++ sehingga anda dapat melihat penjelasan practical dan good programming practices di dalamnya

    3. C++ Primer

      image

      Telah di update untuk c++11. Membantu anda untuk mempelajari bahasa dengan cepat, menggunakannya secara modern dan cara yang efektif. Buku ini juga dipenuhi dengan best practices dan cara menggunakan core language dan standard library.

    4. C++ Succinctly – C++ for C# Developers

      image

      Buku ini ditulis untuk membantu developer c# mempelajari modern c++. Sehingga developer c# tidak perlu belajar dari ground zero, tetapi memanfaatkan pengetahuannya sebelumnya sehingga dapat menguasai bahasa ini dengan cepat.

    5. The C++ Programming Language

      image

      Buku ini ditulis oleh pencipta c++ dan berfungsi sebagai buku referensi lengkap dan bukan tutorial mengenai fitur bahasa. Buku ini akan segera terbit dan terupdate dengan fitur c++ 11.

    6. The C++ Standard Library

      image

      Buku ini memberikan pemahaman yang dalam tentang setiap komponen library dan penjelasan tentang design dari library. Dilengkapi juga dengan praktik programming yang effective dan kesalahan yang sering juga best practice. Banyak sample code yang dapat anda lihat pada buku ini.

    7. C++ AMP

      image

      Buku ini sangat practical buat c++ developer dalam mempelajari dasar parallel programming dengan c++ AMP. Kita dapat memanfaatkakn kekuatan GPU dengan C++ AMP sehingga aplikasi kita dapat memiliki performance yang lebih. Buku ini memiliki contoh yang detail dan case study.

    8. Beginning Visual C++ 2012

      image
      Buku ini mencakup pembahasan detail menggunakan c++ pada Visual Studio yang terbaru yaitu 2012. Anda dapat menemukan penjelasan dari c++ 11, c++/CLI, c++/CX dan penggunaan debugger dan tools lain nya pada visual studio.

    9. Programming Windows 8 Apps with Microsoft Visual C++

      image

      Anda dapat menggunakan skill visual c++ anda untuk membangun aplikasi modern dengan Windows 8. Buku ini akan menjelaskan secara rinci Windows Runtime dan c++/cx. Bagaimana anda dapat menggunakan native c++ pada windows store dan juga xaml untuk membuat modern ui. Buku ini akan segera terbit.

    10. Building Windows 8 Apps with Microsoft Visual C++

      image

      Buku ini seperti biasa akan memberikan detail step by step yang dapat anda ikuti. Secara lambat tapi pasti menjelaskan konsep disertai dengan praktek yang detail. Learn by doing exercises. Buku ini akan segera terbit.

    Masih ada buku baru yg belum di daftarkan ? Let me know and i will update the list. Send me email at if05041 [at] gmail [dot] com

    Categories: Uncategorized