Bastian Molkenthin - Sunshine2k

arrow News Archive


Andreas Böhm found a bug in my polygon convexity source code which classified a concave polygon as convex. Below is a screenshot with the wrong behaviour and the fixed version:

Here should be a screenshot of the bug

I have corrected the pseudocode in my article about polygon convexity and also updated the applet source about polygon filling. Thanks for the hint and also for providing me with the bugfix!


So, finally I release now my first applet written in JavaFX ever. It allows to calculate resistor/electronic color codes to resistance values and the other way round. In fact it took me quite long to dive into JavaFX and to write the user interface - that's why the 'GUI' is written in JavaFX, but the calculation logic is coded as normal Java classes. I think the result is quite nice so check out the applet including source here in the Java section.


For personal needs and interest, I delved into the structure of bootsectors of hard and USB drives. As I was also motivated to code something in C again, the result is a simple tool providing the most important information of a FAT/FAT32/NTFS bootsector and also allowing the dump the bootsector to file for further investigation with a hexeditor. Maybe it's a good starting point for some disk-info utility. Check it out here.


I added a little commandline tool that allows you to change to display settings by giving commandline arguments. That allows you for example to change the display mode from a .bat file. It is kept quite simple as it was coded solely for my personal needs, but maybe someone else needs it - or wants to extend it. It can be found here.


I 'hacked' this tiny app very quickly for personal needs. I wanted my music files sorted after file creation / modification date and none of the media players I use provided this functionality. This tool just parses a directory (with/without subdirectories) for music files and writes them to a *.m3u file (ready to be loaded with e.g. Winamp) sorted after modification date (from oldest to newest). That's it - maybe you are searching for exactly this tool. If not, as the source is easy, feel free to take it as a starting point to generate your own playlists by implementing your own sorting criterias. <Look here>


Added a new part to my polygon algorithm serie - the implementation of Kong's Algorithm for polygon triangulation. Again, you find there a short explanation of this algorithm, the applet for playing around and of course the corresponding source code. Check it out here!

Thanks go to Mr.reCoder for correcting a bug in my Self-deleting Excecutable in MASM. Now it works also with long pathnames including spaces by using the GetShortPathName function which was unknown to me till now :-)


Finally I release the complete source of my Online Calculator as a little present... Merry Christmas to all of you! I hope you find the source interesting, especially the recursive parsing process and my autocomplete feature. If you like it, use it or parts of it, please give my some credits and link to my site!


Released my 'AviToYuv' tool which converts avi files to planar 4:2:0 YUV files using the Video for Windows API. I coded it during my diploma thesis for having more videos to test my modified H.264 encoder - the standard sequences were too boring...


I fixed two small parsing bugs in my Online Calculator - I hope it works now always correct smily
Moreover, I added additionally an autocomplete feature I coded some time ago just for fun.


As you can see, I changed my site layout a bit - I hope everything is now clearly arranged but I'm still not completely happy. More modifications to come, I have also coded already two useful tools concerning .yuv files which need just a some comments and bug-fixing before releasing - but time is valuable resource for the time being because my diploma thesis has of course priority. But stay tuned!


I finished coding my online calculator - finally :-) If you also have never a hand calculator at your fingertips when you need one and are tired using the standard Win/Linux calculators for evaluating mathematical expressions then be sure to check it out:

arrow Online Calculator


Finally, the study thesis paper about my HyperTransport-Monitoring-Core is available for download in the study section.


Long time I did not solve any crackme - no time & no interest. But while looking around on I found a special, 'different' crackme. No .exe but a .gadget file - a crackme in form of a Windows Vista Sidebar Gadget. Find out more about it <here>.


While looking around my site, I found a bug in my Cohen-Sutherland-Applet which resulted in an endless loop. Fixed it - there was just missing a simple 'else'.

I came across Welzl's algorithm for calculating a smallest enclosing disk in expected linear execution time while I learned for my oral exam and found it quite interesting. Although it's quite simple, I was fascinated why this really works and so I did my own implementation of it which was harder than expected. <here>


So a little site update...
* The coding section has now a table of contents.
* Updates on my study page concerning my study thesis.
* Removed dead links in the links section.


A few days ago I started learning for my last oral exam - this time about computer graphics. Again I have to deal with B?zier curves and so I came across the de Casteljau Algorithm again which uses the recursive relation of Bernstein polynomials which in fact bases on Pascal's rule. None of my books contains the proof of this formula so I did it myself and decided to publish it here on my site. It's really short and simple but perhaps somebody is interested in.
-> Articles -> Math & Theory or directly <here>
I did not code for month - damn I have no time! Too much to do for my studies and real life has priority in my spare time. But somewhen in future this hopefully will change and there'll be more updates :-)


Ok, so after my Cohen-Sutherland-Algorithm applet, it was not that big step to come across the Sutherland-Hodgman-Algorithm for clipping a polygon against a rectange. So here now some notes, my implementation as an applet and its source. If it should be useful for you, take it as a Christmas present :-). Check it out here!

So Merry Christmas and a happy new year 2008!
C u next year again!


Accidentally I found a little bug in my 'convexity helper applet' belonging to my article about polygon convexity - in some cases the paiting did not match the calculation. Nevertheless it's fixed and updated.
Furthermore after having much to do and less time, I felt like coding again something... The result is my own implementation of the Cohen-Sutherland-Algorithm for clipping lines against a rectangle - of course with some notes, the applet and its source. Have fun and check it our here.
Also I just realized that many urls on my link-site are down (again) so that's definitely something I have to fix soon...


My own try of coding a messagebox api hook - crashes or doesn't work in most cases :-( But perhaps you find it interesting nervertheless - it's completely written in C. Check it here.


Just some very little changes on Links, Personal and Study pages. Nothing really worth to mention.


While rummaging in my harddisks and old CDs, I found a backup directory with lots of my old sites. Just for fun I made some screenshots and put them in my misc-section :-) Perhaps some of you visited my site in those days and they possibly recognize some layout... anyway, have fun and have a look.


Released my fancy Skyscraper quest solver - a quite slow but fine working backtracking approach to automatically solve the quests. You find it on the same page as the applet, that means here :-)


Coded a nice little applet about a game I called Skyscrapers. It's similar to sudoku just with other rules. It's really worth to check it out. Of course Java sources are available as always. Have fun, stay cool & check it out!


Added two articles in the java section with a nice applet: the first one on how to check if a polygon is convex, the other one on how to fill a polygon with a scanline algorithm. Check it out!


Added my own proof that a Bernstein Polynomial has just one maximum, at t = i/n. You find it here in my new section 'Math & Theory Articles'.

Due to some requests I publish the old dirty C source of this little library. Some functions can still be useful for people who code PE tools in C.
But note that this source is from the beginning of 2003 and really badly coded. I found this source after long searching on an old CD and I'm not sure if this is not outdated - the source is almost uncommented and looks like garbage. Get it from the PEStuff Library Page.


Updated my notes on B?zier Curves: added applets about the Bernstein Form of a B?zier Curve, the De Casteljau Algorithm and about Degree Elevation of a curve. Go here to check it out!


The first two applets in my 'Understanding Bezier curves' - Approach published. Find them in the Java section.


A stupid bug in the 'Hexen hexen' applet fixed which caused sometimes that cards could not be moved to the grid and so you were not be able to solve the game. Should work now....


I found a small card game from my childhood called 'Hexen hexen' and made an applet out of it. Because it's not that easy to solve and I wanted all possible solutions I also coded a nice solver using backtracking. So check it out! Now!
< Go here >


Made a slightly improvement in my huffman compression, so sometimes the compressed file is now a few bytes smaller. Available as Version 1.1 in the C section.
I also coded a lame gui wrapper in C# cause a commandline tool is not that user-friendly ;-) Therefore a put the whole huffman algorithm in a dll file which the gui simply calls. You find it in the .Net section.


I coded a micro tool for myself but perhaps somebody else will find it useful too. It adds an item to the popup menu in windows explorer (when you rightclick a folder for example) to allow a you to open a console (dosbox) in the current directory. That's pretty useful for me! In fact this feature just needs 3 registry keys to be enabled, but cause I forget these keys always when I need them after formatting my harddrive, here is the little lame tool... Look in the C section.
Also made some minor changes in the link section, especially a lot of the RCE links were corrupted and added some new ones.


Finally my implementation of the huffman compression algorithm works and can be found in the C section :-). That the console version... I don't know if I'll code a GUI version for it. Let' see...


Solution for bOne's KeyMe#1 added. See Articles section.


Made two minor changes in Brainfuck Studio. But I noticed that I don't feel like improving it no longer so this little project is frozen for some time. Therefor I decided to release the source of the new version as it is. Perhaps someone finds it useful.
Also found out that my bigfm tool has more bugs than I thought; actually it doesn't work for me anymore. So don't regard it as a real tool but more than a code example how to download a website and parse it in C.
Don't know what I'll do next, but something will come into my mind for sure....


Released the first version of Sunshine's Brainfuck Studio; a simple development environment for Brainfuck written in C#. Check it out here!


Solution for Devoney's Crackme 2.0 added. See Articles section.


Just some minor site changes in several sections and added the .NET section.


So Merry Christmas and a happy new year 2007!
C u next year again!


Solution for geeko's nagoya crackme added. See Articles section.


Ok here is my other sudoku solver which uses a backtracking algorithm. It's a bit slower than the dancing links approach but easier to understand. Again, it can just solve sudokus and does not generate new puzzles, but it should be easy to change the solver to a generator... but I'm too lazy to do it! => go to Java section


Finally I got it working ######### ..... My sudoku solver! I really spent some time, but I finally suceeded to code it. It uses Algorithm X with Dancing Links by Knuth. ######### Don't understand anything? In the Java section where you find the solver are also some links to information. This algorithm is really not easy to understand nor easy to implement but once you get running, it works like hell! Knuth must be one of the most intelligent computer scientists in the whole world. So have fun with the source.


Hm, seems the summer has left Germany... so there was some time for coding: I made a small utility which changes the text color and the text background color of the symbols on the desktop. Cause in WinXP there is soemthing shit: either you choose a background color for the symbols or make the background transparent but then there is an ugly shadow under the smbol text. My so-called "Desktop Symbol Utility" can make a nice normal transparent background. Btw, you find on its site also some notes I made while coding it... > go here < .... Cya


Well, I pimped my personal site a bit. First the is more information about my study... unfortunately only in German till now cause I'm too lazy to translate all the subjects into English.
There is also another new site in the personal section, the so-called events site. This is more for my friends, cause the are some pics from holidays and stuff like this... Not so much stuff till now, but more too come.
Also I started to code a little app which shows informations about your harddisks. Again with plain Windows API... and the gui stuff is killing me. So it will take some time till I can release it....


Due to some boredom I coded a little applet which estimates you blood alcohol concentration. Quite funny :-) Well I also wanted to deal with with java a bit more, so this applet uses swing and xml. Source as always free for download.


Added a little article about simple 1D/2D collision of two balls. Also coded two little applets to simulate colliding balls. You can find it in the Java section. Have fun!


Just a few updates in the link section and I got my own blog now :-)


So, finally some news :-)
One night I was so bored that I played Minesweeper (yes you read right... this little simple that comes with Windows...) But just playing it was even more boring so I took a look at it and wrote a little tool showing me the positions of all mines. You can find this loader with source including a tutorial explaining some stuff in the Articles section. Have fun!


This is awesome! The company Nadeo released a special version of their game Trackmania for free. I love it, so if you like racing games too, check Trackmania Nations out now! Download it here!

Well as you can see my site is still not often updated. At the time I'm coding a screensaver and I hope I can finish it after my exams in March... Stay tuned.


Version 1.1 of my RegionCreator is online. Well not much really new, mainly bugfixing, more error handling and some changes in layout.
Well I must admit that I don't like this lil tool as much as it should be... I was thinking of much faster and more powerful tool when I was coding it. It makes using regions in applications easier but it still sucks a bit. That's why I am going to stop improving it. Feel free to do with it what you want.

So my good intention for next year (beside others of course :-) is to plan my little software projects better before coding, to comment the source cleaner and in more detail and to finish them to 100%. I hope I will achieve these goals cause my coding style sucks damn to often!

Perhaps I will dive into Java3D. My first look woke up my interest; it really different from Opengl and DirectX. But I have to read much more to understand it... Well let's see....

I wish all my visitors Merry Christmas and a Happy New Year 2006!


Yes, finally a little update! ######### As always I'm busy with my studies and I don't code that much in my spare time. So I really have not so many new things to put on my site, but better less and nothing. But overall I feel fine and life is good!

Added an applet demonstrating the eight queens problem. You can play around the find a solution yourself or let calculate all possible solutions. Unfortunately it's quite slow and the source is overbloated due to the gui und thread stuff, but I hope you like it nevertheless!

I've coded a tiny tool for my personal use, cause after formatting my harddrive I always forget how to do it... And why not share it with you?
It's very handy to be able to open a dosbox window (console) from windows explorer by right-clicking a folder. Perhaps others find this feature also useful and are too lazy to manually edit the registry, so I have putted the executable with source online. You can download it ::here::!


I have written a new tool called Region Creator which scans an image for a chosen transparent color and save this region to file. So you can easily give your applications nice forms. Check out my example code to see how to use region files in your own projects.
Furthermore, I put a download section on my site. Now it's easier to separate between real applications I coded and code-snippets/examples/and so on.


Got a new little guestbook. ######### So drop some lines if you like my site...


- There is a little puzzle called 'Who owns the fish?' I like really much. So I thought why not writing a little programm in C which solves it? I haven't seen a programm in a higher language solving a logical quest, so I tried my best to do it myself... In fact the result is a little bruteforce, but it works... ######### Check it out here!
- Finally, I've managed to put online the first source for a mobile game written by me: a little tetris clone called 'SunTris'. It's coded for MIDP 1.0; you should be able to run it in an emulator, e.g. J2ME Wireless Toolkit or Netbeans + mobile plugins. Go here!


- There is now a private intern section: if you are a friend of me, contact me to get access!!!
- Site layout of my articles improved. Now they look all the same.
- Leave a message on the contact page if you wanna...


Yes! I'M ONLINE AGAIN #########

Well, again I have been offline for nearly half a year, but now everything is better: I have my own webspace and now I'm the owner of the domain sunshine2k. So it seems there won't be problems any more :-)
I'm feeling fine, study and job don't make too many problems and the summer arrives....
I've made some little changes in site design, and some pages like the personal section are new. During the next 2 weeks there will be some updates, so stay tuned!


Sorry, have been offline for months now. Got this server from a friend, so hopefully my site will stay online :-) I'm sorry that there are no new updates, but have really no time for coding and haven't "reversed" since last year. But hey, as soon as I have some spare time, I will start some new projects... Thanks for still visiting this out-of-date site.


Hey, no this site is not dead :-) But university & real-life are more important and both need a lot of time as you know... Ok here some new stuff:
- FindFiles added (a little file searcher tool in C)
- outstanding PEStuff Example for MASM released
- released source for SecMakerV2 (no comments sorry, but clean written). Btw I fixed this micro-bug :-)


Tut "Inserting a splash screen into an exe through a dll" added


Tut "Manually adding imports" added
- Api constant listing added... (RE -> Tools/Misc)


PEStuff library released (Coding -> C)
- Some new pics and wallpapers
I just want to say thank you to all the people who wrote me e-mails/into my guestbook. You motivate me to keep this little lousy site alive! Thanx!!!
Btw I hope there will be some new nice essays in near future. I just have not enough time to make my ideas real. And on Monday my university study starts...


SecMaker V2 released
- some little changes in site design


ProcessView 1.0 released
- Simple Hex/Dec/Bin Calculator released, written in C
- Tut "Reversing dihux's ReverseMe #1" added


Well, after having been on Gran Canaria for one week, I decided to upgrade my Win98 to WinXP... just to find out that many of my self-coded progs don't work anymore. Bah! So some of them I fixed, the others will follow. Really new if just ProcessView, the name says it all...
- ProcessView 0.9 released
- SectionMaker 1.01 released - fixed a mini-bug
- "Sunshine's Umrechner" removed - was old and badly coded and doesn't run under Win NT/XP
- Micro update in WallpaperInvert to make it XP compatible


Asm corner added
- Tut for ParaBytes Nag Crackme addede


Iczelion's PE Tut 7 (Export Table) for Delphi


Well, another new design... and the last one! The old one wasn't really good.
Please bookmark my new URL : and don't work anymore.
- Iczelion's PE Tut 6 (Import Table) for Delphi
- New version of Iczelion's PE Tut 5 (Section Table) for Delphi (now nonvcl)


Complete new site design... well hope everyone out there like it
- Sizer 1.0 (Coding->Other Stuff)
- XEyes "Southpark" (Coding->Other Stuff)
- New tut (crackme 2.0 by ozzman)


Passwordflag Remover Tool added; removes the asteriks in a password box and shows the password (Coding-> System related)
- My 7 favorite wallpapers added


Tut "Code Injection for beginner: Inserting a MessageBox at program start" added
- 1 Tool (needed for my new tut) added : Opgen
- Why does nobody write in my guestbook???


After a long time, site relaunched on new server with a new design. Hope you like it! It's now only in English available, German site removed. Sorry for you guys, too much work to translate everything. Intro removed, it was not really good...


-site CLOSED due to server problem


RVA Calculator 1.0


- Tuts "PE File Format Offset" and "Manually adding a section" added
- Section Maker 1.0 + Source


Tut "Writing a loadee


Matrix Screen Saver 0.8 added


Very Simple Patch Generator 1.0 added


Flash & Mp3 Example added
- Link Section updated


Sunshine's Umrechner, Dll Example and Infest added
- Intro added
- "About" section added
- now my site is also in Englisch available!


- Site started

This site is part of Sunshine's Homepage