Friday, December 2, 2016

Self-Proclaimed Cracker Lol

My fascination with computers doesn't end with just using, playing, developing, etc with it but also how it literally works, the hardware and software. I mean, how the hardware translate/execute the software and the process behind it to the lowest level.

When I was in college one of my professor introduced us to software cracking although he didn't teach us (just showed us how to make an app registered for free lol). It opened my mind into the brand new world called, cracking. I was really into it I even bought a bunch of tutorial CDs. I learned the history, the basics and the tools. Unfortunately, for whatever reasons it didn't sink into my brain whatever I do haha. Assembly language is just a bit too much for me I think.

But today! I made a milestone LOL. I just cracked my very first software. I'm not bragging, seriously, I just feel alive because for a very long time.. at last! I cracked a software lol. Ok, before you criticize my cracking skillzzz it's not really a super secured software neither a widely used one. But hey it's my first and it's all that matter (well, at least to me :D)

I'm only doing this for personal and educational purposes only. I'm a software a developer and I think it's normal if I can make one, I can break or reverse one too.



Ok, here's how I did it. The app has a 30-day trial period and requires the user to purchase a license key. The checking of license is very simple. It was done by a routine inside a timer. Basically if I turn off the timer the problem is solve since it only relies on the timer and doesn't even check on startup. But just to make it a little bit more "complicated" I made some more changes haha. When calling the license checker, it calls a function requires two parameters the registration id and the key. It calls another function to check if it is valid and return the no. of days it will be valid. But again the succeeding routine is not very hard it will only check if the no. of days is greater than 0 and it will continue as normal. So what I did is fixed the no. of days to 9999 so it will never expire plus it will also be displayed on the about which is what I want lol. And that's it! My simple mind enjoyed it so forgive me haha.

DISCLAIMER: The app was actually can be registered legally since we purchased their hardware but we don't have enough time to wait for the supplier to send us the key since we really need to install it to the client.

NOTE: I can't post the tools I use.. uhm you know.. :D but there's a lot of "FREE" tools out there like Ollydbg, .NET Reflectors, Ildasm to name a few.

Tuesday, November 15, 2016

Beacon and Egg For Breakfast

It's been a while since I wrote something (uhm like anyone cares bro :D)

Someone recently introduce me to Beacons which really got my attention. I think I haven't heard it here in the Philippines that's why I'm trying to learn about this technology and how it works (and possibly implement it in the future).

So what actually is a (Bluetooth) Beacon?
Bluetooth beacons are hardware transmitters - a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby portable electronic devices. The technology enables smartphones, tablets and other devices to perform actions when in close proximity to a beacon. - Wikipedia
As far as my understanding goes.. Basically it uses BLE or Blueooth low energy technology to advertise signal which can be received or detected by other devices like smartphones. Although mostly you can see it as a hardware transmitter it can also be emulated or spoofed using a smartphones or other devices like arduino. Since I'm more on software development (duh you're a programmer bro) I'm more interested on developing Beacon emulation on a smartphone. I tested a few libraries to try some features and functionalities and found out that there's a few known formats available and possibly just them.

1. iBeacon (Apple) - Apple defined iBeacon prefix, followed by a variable UUID, and a major, minor pair.
2. Eddystone-UID (Google) - A unique, static ID with a 10-byte Namespace component and a 6-byte Instance component.
3. Eddystone-URL (Google) - A compressed URL that, once parsed and decompressed, is directly usable by the client.
4. Eddystone-TLM (Google) - Beacon status data that is useful for beacon fleet maintenance, and powers Google Proximity Beacon API's diagnostics endpoint. -TLM should be interleaved with an identifying frame such as Eddystone-UID or Eddystone-EID (for which the encrypted eTLM version preserves security).
5. Eddystone-EID (Google) - A time-varying beacon frame that can be resolved to a stable identifier by a linked resolver, such as Proximity Beacon API.
6. AltBeacon (Radius Networks) - is made up of a 1-byte length field, 1-byte type field and two-byte company identifier, as prescribed by the Manufacturer Specific Advertising Data structure format, followed by 24 additional bytes containing the beacon advertisement data.

Most of them are almost the same in a way that they all broadcast a unique id iBeacon, Eddystone-UID and AltBeacon. I haven't tried all of them but I personally like Eddystone-URL which advertises a Web URL. I think there's a lot of application for this one since it pushes a URL and you can do plenty of things with it. iBeacon is trademark of Apple and Eddystone is a trademark of Google. AltBeacon on the other hand is an initiative by Radius Network for an open and interoperable specification for proximity beacons.

I have tried building a sample app using Cordova and this library by petermetz from github since Cordova was my first choice. Unfortunately I'm an android user and currently it doesn't support advertisement (yet) although the developer mentioned that it will be included in the future. I chose Cordova because I can't code in Java that means I have a higher chance on making an app using it lol. Anyway, I found a much more complete library using AltBeacon library which is open source by the way. It's probably complete it can parse and emulate any format mentioned above which is nice since you can switch anytime depends on your preference. Currently I'm testing their sample for Xamarin. Xamarin uses C# as language for their mobile development platform and it is the closest language I can understand lol.

Also, while browsing for resources I also came across with the word "The Physical Web" which sparks my curiosity, again :D Currently I'm planning on playing with Eddystone URL format and The Physical Web which works well together and probably make a useful app with it.

My first app in PlayStore I hope! ;)

Tuesday, May 24, 2016

MU Origin Text Fader (Gradient)

Haha! Just for fun.

I've been playing this game recently called MU Origin SEA. Since I'm still new to the game I became curious when I saw a player chatting with a different text color. I was puzzled on how he did it because there's no option for text color. Then I found out how. MU uses hex code for coloring the text similar to HTML/CSS. The only difference is, it is enclosed in brackets. Before, I use an online text fader to generate HTML color codes then replaced the tags with brackets but I got tired so I decided to make my own :)


Check the screenshot for example.

Unfortunately you can only use this with Android emulators since this is only for PC.

How to use.
1. Type the text you want to have a fade effect.
2. Click Generate button. (NOTE: Generate automatically copies the text to the clipboard so you can easily paste it to the emulator window.)
3. Optionally you can click the Copy button just to make sure it is in the clipboard.

Download
Virus Scan

 

Copyright 2017 Code Monkey