Essay 0: Intro to OS X Reversing

Run it. Dasm it. Crack it. Patch it. Now Upgrade it.
by KellogS, May 2007.

Creative Commons License

This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.

0.0 Intro

As already mentioned in earlier posts, the target for this essay is Apple's Dashcode. A Dashboard's widgets creation program. Now in beta, it'll expire on the 15th of July (as Apple probably don't want to have to support it when the final come out). It's free for registered apple developer (also free). As a free tool, you may wonder that patching this program is kinda useless... and you will be right! Read on.
What you'll get by the end of this essay is NOT a link to a ready made crack, NOR a 699$ app. No, what you may get is some tools and techniques used to reverse softwares (and that's the priceless part). If you want some pirated softwares or cracks, you may better stop reading this and leave now. As an old master once said: "you don't need to crack its protection scheme at all: you'll find it on most Warez sites, complete and already regged, farewell, don't come back."

Still here ? Good.

This article is targeted at newbies, if you have even basic experience in software reversing on other platforms, you'll not learn that much:

The protection is simple, the patch obvious and the reverser rusted.

However, this article will show you (some) OS X particularities and the tools needed to accomplish your task. If you have no experience at all, every steps will be explained (but you may need to read some docs if you want to have a better understanding of some parts (mainly assembly). I may also say semi-truths when we don't need to go deeper on a subject to move on. So please forgive me for that and for my English, which is still not my mother tongue....

0.1 Tools of the trade

As the tools needed were mentioned in previous posts, you should already have them but let's do a recap:

* XCode, for the invaluable Docs and the GCC compiler (needed for patcher.c).
* otx, disassembler.
* 0xED, or any other hexadecimal editor.
* TextWrangler, or your favorite text editor (shoulds handle big files).
* NASM, The Netwide Assembler installable through Darwinports.

See previous posts, tools and links sections if you miss anything.

0.2 Mac Applications (or what the hell is a ".app" ?)

First, let me tell you something about "Mac" Applications that you may already know. Macintosh (and in our case OS X) apps rarely need to be installed, instead you just drop the "" in your Applications folder and that's it. Now, Have a closer look at a ".app" file... it's a folder! There is several ways to find this out. One is to go in a Terminal window and cd to A second one is to right click (or command-click, whatever is your stuff) on a .app and select the "Show Package Contents" option, which open a new Finder window. So now that we've found out that a .app is just a folder, let's see what kind of files lies inside (taken from
| |__Frameworks/
| |__...
| |__Dashcode

As you have guessed, I didn't list every freaking files, only the interesting ones. I'll be quick on the Framework folder, let's say for now that it contains libraries. .plist files are just XML files that may contain various informations (versions, application's default settings and such). You'll not need to alter them in most case. Then the Resources folder which contains a shit load of (drum roll),
resources; application's scripts, icons, images, etc. Inside the Resources folder is an English.lproj folder, which holds a lot of ".nib" files.

NIB stands for (let's take a guess): NeXT Interface Builder. If you don't know what NeXT stands for, you may want to check the wikipedia article referenced in the appendix. NIBs are resources files, Defining items such as Menu, Windows, Buttons, Text Fields, and whatnot. Using the resources could come handy for some target - but that'll be for another essay. If you try to open any of this NIBs files it should launch XCode's Interface Builder. And last but not least, the MacOS folder which contains a single file named "Dashcode". That's the one we're interested in, that's the "binary". That's the part we'll disassemble, we may get clues about a protection from other files (e.g. NIBs) that's still in this file that we well analyze and patch thee program logical flow to alter its behavior.

As you may have heard, the so called Universal Binaries contains code for both architectures, PowerPC and x86. As the otx disassembler will take care of giving us an aligned assembly listing for the Intel part of the code. We don't need to bother with the file header. We should have everything, let's start looking at our target.

0.3 Dashcode

Download Dashcode and run it, play with it, quit it. Set your system's clock to some date later than 15th July 2007. Run it again, It shoulds pop up a box telling you than this beta software has expired.
Set your date back, and run it again... Now that we know how the software behave we'll disassemble it. Fire
otx, open, be sure to select x86 and save the disassembly listing somewhere. Open the listing in your favorite text editor. Now let's talk a bit about assembly.

0.4 A few things about x86 assembly language

This section is by no way an extensive introduction to x86 assembly. This is just the basis. For a complete introduction to x86 asm, check the appendix section at the end. So let's have look at a line of disassembly. Go to your text editor and look a the beginning of the file, you should see this first line of assembly:

+0 00008ae4 6a00 pushl $0x00

* L is line number from the beginning of the function.
* O is the offset, the address the instruction.
* M is machine code, the hexadecimal representation of the instruction.
* I is the actual assembly instruction.
* S the source parameter of the instruction.
* D the destination parameter not the instruction (none in this example).

The important part on this line is obviously pushl $0x00, the assembly instruction. This instruction, puts $0x00 on top of the stack (it's a LIFO, last in, first out, stack). Instruction have two parts, the opcode (pushl) and the operand(s) (0x00). Now look at the machine code for this instruction, that's this 6a00 you see in the M column. The 6a part is the actual instruction and 00 its operand. In this example we've seen the pushl instruction but it's only one in many (thanks Intel). Most of the time you'll encounter the same few ones. Let's have a look at the the most common opcodes (or family of instructions):

* Working with the stack, pushing/pulling data.
* Copying data between registers and memory (e.g. mov, movl, lea)
* Comparing data, between registers, memory (cmp, test)
* Branching, jumping to some offset under certain conditions (jmp, jne, jel)
* Calling functions (call,calll,lea)
* Arithmetic and Boolean functions (xor, inc, mul, sub)
* No Operation (nop), which does exactly what it mean.

Some instructions take two parameters (mov) some one (push) some none (nop). The instruction's first parameter is the source, the second one the destination. Example in:

mov ecx,eax

The content of eax is copied to the eax register. Registers are just memory slots inside the CPU. They holds value/data that the processor will need to... well, process. Certain registers have special purposes (like holding the program counter) and other have purpose by compiler convention (e.g. the same register will always get the return value of a function). I'll not elaborate more on assembly here, I'll explain the few instructions and patterns that we'll encounter but again, refer to the Appendix for documentations links.

0.5 Locating code in the dead listing

First, let me tell you a little secret about software reversing. The most difficult part is not altering the code (shamelessly easy in Dashcode). Sometimes, not even understanding the protection (obvious here). No. Sometimes, the most difficult part is finding where to start, where to look in thousands of lines.
As you'll see in future essays you don't look for the protection routine you look at the symptoms it may express, hook on them and trace back. This will be even more true when we'll debug - as opposed to disassemble - a target). In our particular example (expiration date check) this is not really an issue since we have other ways to find the relevant part of the code. We know, that somewhere, the program get the current date, checks it against July 15 2007 and if it's later, show an alert box and quit. At this point we may fire up the XCode documentation's browser and start looking for *date* methods (functions). But wait! There is an easier way to find the relevant section in the assembly listing. 2007 is probably not a number that the program use a lot. So let's look for it. Convert 2007 to its hexadecimal equivalent, 7d7. Call your text editor's find function and look for 000007d7. You should get only one result at offset 0001ed51. Let's look closer a this offset and some above:

0001ed41 c74424100f000000 movl $0x0000000f,0x10(%esp,1)
0001ed49 c744240c07000000 movl $0x00000007,0x0c(%esp,1)
0001ed51 c7442408d7070000 movl $0x000007d7,0x08(%esp,1)

So we already know that 7d7 is 2007. The two others, 07 = 7 and 0F = 15. Together they looks a lot like 15.7.2007. So this code section may not be far from the actual check routine we're looking for. But first let's explain what this movl instruction does. movl copy $source to $destination. Here a value ($0x000007d7) to a register
(esp). So basically here's the expiration date loaded in an array (different position of the same register - that's these 0x08, 0x0c, 0x10). Let's have a look at some lines below (omitting the machine code):

0001ed73 movl 0x001eafb4,%eax compare
0001ed7f calll 0x001e6469 _msgSend
0001ed84 addl $0x01,%eax
0001ed87 jel 0x0001efd1
0001ed96 movl 0x001eec60,%eax NSAlert

At offset 001ed96 we find an interesting comment (put here by our dsassembler), NSAlert. If you check the NSAlert function in the XCode documentation, you'll find what you may already have guessed: it display an alert box. So not too far from the date loading code, we found an alert box call. And just above a conditionnal jump (that's this jel instruction). Looks promising, let's review this snippet code in a whole.

0001ed09 movl 0x001eafbc,%eax calendarDate
0001ed0e movl %eax,0x04(%esp,1)
0001ed12 movl 0x001eec64,%eax NSCalendarDate
0001ed17 movl %eax,(%esp,1)
0001ed1a calll 0x001e6469 _objc_msgSend
0001ed1f movl %eax,%ebx
0001ed21 movl $0x00000000,0x20(%esp,1)
0001ed29 movl $0x00000000,0x1c(%esp,1)
0001ed31 movl $0x00000000,0x18(%esp,1)
0001ed39 movl $0x00000000,0x14(%esp,1)
0001ed41 movl $0x0000000f,0x10(%esp,1)
0001ed49 movl $0x00000007,0x0c(%esp,1)
0001ed51 movl $0x000007d7,0x08(%esp,1)
0001ed59 movl 0x001eafb8,%eax dateWithYear:month:...
0001ed5e movl %eax,0x04(%esp,1)
0001ed62 movl 0x001eec64,%eax NSCalendarDate
0001ed67 movl %eax,(%esp,1)
0001ed6a calll 0x001e6469 _objc_msgSend
0001ed6f movl %eax,0x08(%esp,1)
0001ed73 movl 0x001eafb4,%eax compare
0001ed78 movl %eax,0x04(%esp,1)
0001ed7c movl %ebx,(%esp,1)
0001ed7f calll 0x001e6469 _msgSend
0001ed84 addl $0x01,%eax
0001ed87 jel 0x0001efd1
0001ed8d movl 0x001eaf48,%eax
0001ed92 movl %eax,0x04(%esp,1)
0001ed96 movl 0x001eec60,%eax NSAlert
0001ed9b movl %eax,(%esp,1)
0001ed9e calll 0x001e6469 _msgSend

At offset 0001ed59 we find a nice comment again: dateWithYear:..., a structure, with structure's members name (Year, month, and so on) and the ordering. We may start to comment our code:

0001ed09 movl 0x001eafbc,%eax calendarDate
0001ed0e movl %eax,0x04(%esp,1)
0001ed12 movl 0x001eec64,%eax NSCalendarDate
0001ed17 movl %eax,(%esp,1)
0001ed1a calll 0x001e6469 _objc_msgSend
0001ed1f movl %eax,%ebx ;today's date in ebx
0001ed21 movl $0x00000000,0x20(%esp,1) ;timeZone
0001ed29 movl $0x00000000,0x1c(%esp,1) ;seconds
0001ed31 movl $0x00000000,0x18(%esp,1) ;minutes
0001ed39 movl $0x00000000,0x14(%esp,1) ;hours
0001ed41 movl $0x0000000f,0x10(%esp,1) ;day = 15
0001ed49 movl $0x00000007,0x0c(%esp,1) ;month = 7
0001ed51 movl $0x000007d7,0x08(%esp,1) ;Year = 2007
0001ed59 movl 0x001eafb8,%eax ;eax = *15.07.2007*
0001ed5e movl %eax,0x04(%esp,1) ;mov $expiredate in 04(esp)
0001ed62 movl 0x001eec64,%eax ;load NSCalendarDate method
0001ed67 movl %eax,(%esp,1) ;load method in the calling
0001ed6a calll 0x001e6469 ;call *NSCalendarDate*
;method via _objc_msgSend
0001ed6f movl %eax,0x08(%esp,1) ;push $expiredate as second
;parameter of the
0001ed73 movl 0x001eafb4,%eax ;compare method
0001ed78 movl %eax,0x04(%esp,1) ;load method in register
0001ed7c movl %ebx,(%esp,1) ;push $curentdate as first
0001ed7f calll 0x001e6469 ;call method via _msgSend
0001ed84 addl $0x01,%eax ;another way to do
;test $0x01,eax
0001ed87 jel 0x0001efd1 ;if hasn't expired continue
;program flow at 00001efd1
0001ed8d movl 0x001eaf48,%eax alloc
0001ed92 movl %eax,0x04(%esp,1)
0001ed96 movl 0x001eec60,%eax ;load NSAlert method to tell
0001ed9b movl %eax,(%esp,1)
0001ed9e calll 0x001e6469 ;call NSAlert via _msgSend

After commenting, the expiration check becomes obvious. jel means jump if equal or less, so if current_date is equal or less than expiration_date the program will continue execution at offset 0x0001efd1. As I'm really a nice guy, I'll even write this snippet in pseudo code:

$current_date = NSCalendarDate(Today)
$expiration_date = NSCalendarDate(2007,7,15,0,0,0,0)

if ($current_date <= $expiration_date) then
Continue_at_ 0x0001efd1
end if

So now that we've a good understanding of what our program is doing, let's alter
the program flow to make it acts like we want it to act.

0.6 Altering the program flow

As you'll find out there is more than one way to change the program behavior, like there was more than one way to find the check routine (we could have looked for the NSAlert function or NSCalendarDate one instead of the 2007 value). What we want to achieve is that whatever today's date is, we want to go to at offset x0001efd1 (normal flow). For this, all we have to do is to be sure that the program jumps on this jel instruction. For example we could change the 0x000007d7 at offset 0001ed51 to 0x000000bbf. Instead of expiring on the 15th of July 2007, it'll expire on the 5th July of 3007. But let's go for a more common way. We'll simply force this jel jump conditional) to an unconditional one (jmp). But how do we find out wich machine code stands for a conditional jmp ? And for the instruction's operand ? That's why there is the next section my dear reader.

0.7 Assembling new opcode

We need to change this jel 0x0001efd1 to a jmp 0x00001efd1. Looking at the machine code for the instruction, we see nothing looking like 1efd1. That's because the jump don't really point to the offset 0x00001efd1, it's a relative jump taking as operands the delta to the destination offset. So the distance between the jump's address and the destination is 0x1efd1 + 2 - 0x1ed87 = 0x248.

The + 2 is for the Two's complement, a way to distinguish positive from negative number in binary (and in our case a forward jump, positive). Check the wikipedia article in the appendix to learn more about the Two's complement.
We need to know the machine code for jmp 0x284. We may calculate it by hand but since we are big lazzy arse we'll gently ask NASM to assemble it for us.

Create a new opcode.asm file and write jmp 0x248 in it, save it. Assemble the file with:

nasm opcode.asm -o opcode.bin

Open opcode.bin in any hexeditor to see the corresponding machine code. You may
want to write a small assemble script like this one:

echo $1 >> temp.asm && nasm temp.asm -o temp.bin
&& rm temp.asm
od -N 16 -t x1 temp.bin && rm temp.bin

Save it as assemble somewhere in your $PATH, chmod it executable:

chmod +x assmble

Now you can assemble instruction and have the machine code in one step, issuing this command:

assemble "jmp 0x248"

And getting this in return:

0000000 e9 45 02

Having the new instruction's machine code we can now patch our binary.

0.8 modifying our target in a hexadecimal editor

Now that we know the new machine code, we're ready to modify our target code in an hex editor. Open the binary in 0xED and go to the offset 1ed87. The bytes doesn't look our old sequence, so search for the bytes sequence instead (the offset doesn't match since there is the PPC part - Mach-O header and offset computation for a next essay).
Now write our new instruction's bytes and put three nop (90 in hex) after to match the old instruction's length. Save it.

Put your clock to 2008, run Dashcode. 15th of July 2007, Here we come!

0.9 Writing a small patcher in C

First, let me say that I'm by no mean a C expert so be gentle. If you've never done any programming don't worry the code should be simple enough to follow, just check the C functions documentation, and you may well learn something in the process. What this patcher does is exactly the same thing we've done in the previous section, opening our target binary blob, seeking to the right offset, and changing the old machine code to the new one. The source.

/* Kellogs' Dashcode beat patchcode.c */

#include <stdio.h>
#include <string.h>

long Offset = 0x1ED87;
const OldBytes = 0x0244840f;
const NewBytes = 0x000245e9;

int main(int argc, char *argv[])

FILE * fBinary;
int ByteBuffer;

printf("KellogS' Dashcode Beta Trial Crack");
printf("\n -> Opening %s",strcat(argv[1],"/Contents/MacOS/Dashcode"));

fBinary=fopen(argv[1], "r+");
fread(&ByteBuffer, 4,1, fBinary);

if (OldBytes == ByteBuffer) {
printf("\n -> Sequence found.");
printf("\n -> Patching Dashcode.");
fwrite(&NewBytes, 4,1, fBinary);
printf("\n -> Patching Done. Enjoy!\n");
else {
printf("\n -> Sequence not found! Quitting.\n");

return 0;

Let's do a quick review. We've our variables at the top, namely offset, old sequence and new sequence. Some printings then the opening of the code file. Seeking to the offset, checking if offset's bytes are the same as old sequence. Writing the new bytes, informing the user. Some if to glue them all.

Compile it with:

gcc patchcode.c -o patchcode

then run it on Dashcode wtih:


0.A Conclusion

Well, that's it. We've covered OS X applications structure, tools needed, enough assembly to understand and patch the target and even written a patcher! We'll not go in such great details in the next essays.

Hope you've enjoyed this article. If you've found any errors don't hesitate to leave a message.

0.B Greetings

This essay couldn't have been possible if I didn't have learn from these peoples.

ORC+ - He had teached the masters, enough said.
Fravia - bloatware reverser, reality cracker, search lord. Best school ever.
Frog's Print - zen master cracker and great teacher.
Spath - You're one of the best!
CyberbobJr - great cracker and a cool guy (la voila l'URL).

Btw, If any of you guys are still alive, drop me a line.

Thanks All!

That's all folks!

May 2007

0.C Appendix

Next article
Two's complement
Assembly language
Intel Assembly Doc
Apple Developer Connection
Fravia's old reversing site
Fravia's Searchlores

Google, Wikipedia and the Apple documentation are your friends.


Anonymous said...

very nice, i wish i had an intel OSX, thinking of doing the same on the PPC maybe to add here ... ?

anywas, C001 !

spect, 0xf001

KellogS said...

Sure 0xf001!

if you write the asm part I'll be more than happy to put in the essay.

Amadeusz said...

Great article! Adding your site to bookmarks and waiting for more.

There are few misprints (dictionary told me to write so...)

"mov ecx,eax

The content of eax is copied to the edx register."
Actually it should be "to the ecx register."

And "We need to know the machine code for jmp 0x28." I think there should be "jmp 0x248"

KellogS said...


More essays on the way to be published soon, a bit busy with IRL stuff at the moement.

Thanks for the feedback

sb1 said...


sb1 said...

...nice patch, BUT i have a little probblem:
My otx Dashcode.txt starts -

(__TEXT,__text) section
+0 00008c60 7c3a0b78 or r26,r1,r1
+4 00008c64 3821fffc addi r1,r1,0xfffc
+8 00008c68 54210034 rlwinm r1,r1,0,0,26.......

look at the first line:
+0 00008c60 7c3a0b78...

it's starting with ....o8c60...
and i can't save the otx file in x86, just PPC !

So from the beginning the hole Patch not Match !!!

I use XCode, otx, Resorcerer 2.4.1 (OSX) for Hex and i neeeeed that Patch soooooon ! 10 days to go and my Dashcode(0.9) makes "Pling"

can anybody advice me, a newbieee need some help !


KellogS said...
This comment has been removed by the author.
KellogS said...

Don't want to hurt your but
I don't know why you're still here, I was quite clear at the beginning of this essay that this is not a ready made patch - it seems that you care more about the 15 of July than trying to learn something.

for your problem:

It seems that you've disassembled the target with the ppc architecture selected, even a newbie reverser should try to know how to use a basic application (otx)...

Try to think a bit by yourself, hope you'll find you're way.

see you

Anonymous said...

nice article. Looking forward reading essai number 2.

x!mekon said...

I am quite new to Macs.

But I made some first steps investigating my targets via the dead listing approach using (a licensed! copy of) Guilfanov's IDA. Since I know this tool from MS Windows times quite well.

Finally your tutorial is a good introduction for a live approach on Mac.

It now allows me to use a method mix between both approaches, depending on complexity of the target.

Thanks for your tutorial and keep up that good work.

Mah... said...

Yeah.. The idea is really really nice and quite simple.
But there is a problem: now the year is 2008, so 7d8 in hexadecimal.
I decompile my program (Miana), follow all your istructions, but when I look for 000007d8 in my text, I' find "no results"...
Really strange, no?

KellogS said...


Strange? No, not really...

I know nothing about the software you are talking about but maybe this one is not coded to expires at a given that (like Dashcode was) but expires 30 days after the installation.

So what you should looking for is not "your" expiration date, but the 30 Days "limit check" that will make it expires on let say 22 of July.

Hope this helps.

Cesaro said...

Excellent article. I was looking for something like this since I come from a Windows cracking background. Very useful indeed specially the tools section.

What I would like to see is working with some debugger, like OllyDBG but for OSX.

Anonymous said...

Fantastic, masterly...

As your article is so good, it would be very nice if you explained us another ways to crack programs..

For instance I've read somewhere that in the programms requiring a registration, a string ask another stirng: "is the program registered?" If returns the value 1 is registered, otherwise (0) it isn't. (More or less..)
You colud teach us how to set always the value 1..

Naturally I know this requires a lot of time, but as you're so good and very clear teacher, it would be fantastic if you colud give us other lessons...

Compliment and thank you! =)

PS: I ask you for other lessons, 'cause I think you're the best in this field!! =)

Anonymous said...

Lame crack by a n00b.

This was lame kids stuff


Real cracks on real sites posted long time ago

No 64-bit talk, no PPC talk, only a loser would talk about Intel code only.

Anonymous said...

I've discovered this blog yesterday and I must say:
Nice article!

I was looking for a way to learn something about this topic, first because it's interesting from the academic side, and second because as a developer it's interesting to reverse your applications.

I assume you are working on the next essay, just keep the good work.

PS: Would you answer some questions about those topics if I email you?

Anonymous said...

Isn't 0x1efd1 + 2 - 0x1ed87 = 0x24C instead of 0x248?

Anonymous said...

"Isn't 0x1efd1 + 2 - 0x1ed87 = 0x24C instead of 0x248?"

Indeed. ;-)

Anonymous said...

Hello !.
You re, I guess , probably very interested to know how one can reach 2000 per day of income .
There is no initial capital needed You may start to receive yields with as small sum of money as 20-100 dollars.

AimTrust is what you haven`t ever dreamt of such a chance to become rich
The company represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.

It is based in Panama with structures everywhere: In USA, Canada, Cyprus.
Do you want to become an affluent person?
That`s your chance That`s what you desire!

I`m happy and lucky, I began to get real money with the help of this company,
and I invite you to do the same. If it gets down to select a proper companion utilizes your savings in a right way - that`s the AimTrust!.
I earn US$2,000 per day, and my first deposit was 1 grand only!
It`s easy to join , just click this link
and go! Let`s take this option together to get rid of nastiness of the life

Anonymous said...

You may probably be very curious to know how one can make real money on investments.
There is no need to invest much at first.
You may begin to get income with a money that usually goes
on daily food, that's 20-100 dollars.
I have been participating in one company's work for several years,
and I'm ready to let you know my secrets at my blog.

Please visit blog and send me private message to get the info.

P.S. I earn 1000-2000 per day now.

[url=] Online investment blog[/url]

Anonymous said...

Low price zyban Free pills tofranil Cheap phentermine 25mg calcium carbonate Drug imdur Without prescription lasix

Anonymous said...

Companies House Webcheck
Webcheck Companies House
Company House Webcheck
Companies House Webcheck Service

[url=]company house webcheck[/url]

Anonymous said...

cam dating [url=]bengali dating customs[/url] jacksonville fl singles catholic pat dating

Anonymous said...

Glad to materialize here. Good day or night everybody!

For sure you didn’t here about me yet,
friends call me James F. Collins.
Generally I’m a venturesome gambler. all my life I’m carried away by online-casino and poker.
Not long time ago I started my own blog, where I describe my virtual adventures.
Probably, it will be interesting for you to find out how to win not loose.
Please visit my web site. I’ll be glad would you find time to leave your comments.

Anonymous said...


When ever I surf on web I never forget to visit this website[url=].[/url]Plenty of useful information on Do you pay attention towards your health?. Let me show you one truth. Research indicates that about 60% of all USA grownups are either fat or overweight[url=].[/url] So if you're one of these individuals, you're not alone. Infact many among us need to lose 10 to 20 lbs once in a while to get sexy and perfect six pack abs. Now next question is how you can achive quick weight loss? Quick weight loss can be achived with little effort. Some improvement in of daily activity can help us in losing weight quickly.

About me: I am author of [url=]Quick weight loss tips[/url]. I am also mentor who can help you lose weight quickly. If you do not want to go under difficult training program than you may also try [url=]Acai Berry[/url] or [url=]Colon Cleansing[/url] for effortless weight loss.

Anonymous said...

health food stores in columbus georgia [url=]anti herpes[/url] a report about the fda family medical plans adult children
generic security policy statement [url=]Order Cheap Generic Drugs[/url] nexium cost at pharmacy [url=]pure weight loss reviews bellydance[/url]

Anonymous said...

chapter summaries for born in blood and fire by chasteen [url=]miglioramento femminile[/url] ecf and experimental drug and tanzania fragile x syndrome famous people
fraud internet pharmacy scams store [url=]levitra professional[/url] diflucan liver metastatic patient [url=]hairy pussy double vaginal[/url]

Anonymous said...
[url=]antigua drugs[/url] drug common name phenylbutazone [url=]yohimbe[/url]
armada specialty pharmacy
[url=]levitra pack sample[/url] usa cialis [url=]famciclovir[/url]
legitimate pharmacy that sell generic cialis
[url=]cilantin drug[/url] renewal certified pharmacy technician license [url=]weight gain associated with zelnorm[/url] clitoris enlargment drugs [url=]reglan prilosec zantac[/url]

Anonymous said...
[url=]generic cialis soft tabs[/url] what is the drug dope [url=]met forman glucophage info[/url]
right source pharmacy
[url=]drugs that cause hallucination[/url] passing random drug tests [url=]alcohol fluoxetine[/url]
compare cialis levitra viagra
[url=]where to get drugs[/url] debate universal health care [url=]antabuse dosage[/url] drug administration notes [url=]toxicities level of diphenhydramine in child[/url]

Anonymous said...

pharmasutical blood supply [url=]zerit[/url] providence ri neighborhood health center vision screening institute for mental health
guernsey health service [url=]tulasi[/url] how to smoke a lightbulb [url=]younger boys penis[/url]

Anonymous said...
[url=]uti test at drugstores[/url] how to prevent drug abuse [url=]benfotiamine dosage[/url]
canada pharmacy technician
[url=]valium addictive drug[/url] medicine for round worms [url=]atrovent effects side[/url]
penis enlargement oxnard ca drug store
[url=]online pharmacy cc[/url] cough attacks natural medicine [url=]anafranil and sleeping meds[/url] belly fat enlarged long term use of psychotropic drugs [url=]beclomethasone 17 propionate synthesis[/url]

essay writing said...

Many institutions limit access to their online information. Making this information available will be an asset to all.

Anonymous said...

daimler chrysler mercedes relationship baton rougelouisiana dodge dealer
[url=]volkswagen canada customer loyalty program[/url] reese hitch for volkswagen rabbit [url=]pimp out scion xb[/url]
automobile title search by name
[url=]speaks auto repair[/url] trinity auto bonner springs [url=]oldsmobile 425 pistons[/url]
zshare mercedes ashley sohh
[url=]playstation 2 cheats for grand theft auto[/url] off road racing pit crew [url=]saab 95 replacement siren service theft alram[/url]

Anonymous said...

free waldorfdoll clothes patterns custom made basketball shoes [url=]designers[/url] track shoes best designer sunkissed bronze cream [url=]designerhandbags[/url]

Anonymous said...

calvin klein bedding collection separation techniques used to clean clothes [url=]chanel jacket resale[/url] certified kitchen designers orthotic shoes insert [url=]fashion florida photographer[/url]

Term Papers said...

I have been visiting various blogs for my Thesis Writing Plan research. I have found your blog to be quite useful. Keep updating your blog with valuable information... Regards

Term Papers said...

I have been visiting various blogs for my term papers writing research. I have found your blog to be quite useful. Keep updating your blog with valuable information... Regards

Anonymous said...

auto paint quotes woodland auto body
[url=]mercedes moto[/url] dodge a500 transmission [url=]dodge charger maryland[/url]
automobile body parts of texas
[url=]auto salon car[/url] free download of grand theft auto san andreas [url=]mountain bikes sales[/url]
car racing quebec september 1
[url=]barrel racing rider training[/url] mercedes 240 [url=]aprilia svx for sale[/url]

Anonymous said...

virgin mother diana ephesus
[url=]pokemon free porn[/url] marfun adult symptoms [url=]mature group sex pic[/url]
dupont multipurpose tpfe lubricant uk
[url=]dildo knickser[/url] hentai glasses [url=]moldova gay boys[/url]
porn soundboards
[url=]blow up dildo[/url] make your own dildo vibrating kit cheap [url=]lesbian vedio[/url]
video z adult
[url=]sexy can i[/url] guy domiating girl sexy clips [url=]naked gay japanese free pics[/url]

Anonymous said...

se7en movie review [url=]Assyriska Ett Lag Utan Land E02[/url] adult movie collection 202 [url=]Licence To Wed[/url]
filmstream movie not found [url=]En Busca De La Tumba De Cristo[/url] movie adolescents being swingers [url=]Normal Adolescent Behavior[/url]
bu neng shuo de mi mi movie clips download [url=]Northanger Abbey[/url] katherine hepburn movie quotes [url=]Resident Evil (Extinction)[/url]
star city movie pittsburgh [url=]The Wicker Man[/url] searchers movie [url=]Reves Et Cauchemars 04 Le Grand Bazar Final[/url]

Anonymous said...

wholesale designer handbags calvin klein leather handbags [url=]lauren davis poland spring[/url] baby girl clothes womens shoes [url=]bongo shoes[/url]

Anonymous said...

best offer best offer weight loss diet [url=]requip[/url] ana boot camp diet
medical implications for eating disorder not other specified [url=]endep[/url] theres a bill called the breast cancer patient protection act [url= ]itemize pre tax health insurance [/url] juvenile diabetes wristbands
luetin dosage [url=]coumadin[/url] preferred health caresuncoast medical center
medications for separation anxiety disorder [url=]anti hongos[/url] diabetes and skipped heart beats [url= ]medical examination for communicalbe diseases [/url] east city medical center

Anonymous said...

hush puppies shoes flattering clothes for plus size women [url=]puma shoes home page[/url] chanel sunglasses glaxo smith klein [url=]toddler girls clothes[/url]

Anonymous said...

yoga shoes simple fashion guidance [url=]hampton ny interior designers[/url] designer evans gilda de laurentis what size bra does she wear [url=]resume for graphic designer[/url]

Anonymous said...

permanent damage to body formgenital herpes [url=]medications without a prescription[/url] drug sentences england
drug survey results for grade c drugs [url=]Online Drugstore[/url] measuring vitamin d levels [url= ]avid medical inc [/url] church blood pressure
health track sports and wellness [url=]rave energy and mind stimulator[/url] aid in loss that vitamin weight
a mighty heart 2007 [url=]bactrim[/url] blood alkaline levels [url= ]testosterone blood levels [/url] consistent carbohydrate diabetic menus

Anonymous said...

belly dance clothes how to remove mildew stains from clothes [url=]guccie mann[/url] preppy clothes maliziosachanel [url=]plus size ladies shoes link[/url]

Anonymous said...

most expensive volley ball shoes ralph lauren jeans womens [url=]clothes wholeseller[/url] scotland fashion all star shoes [url=]z coil shoes discount[/url]

Anonymous said...

lottery paradise online bingo cash prize
[url=]atlantic city nj casinos[/url] casino game [url=]create a bingo game[/url]
jugar casinos
[url=]illinois winning mega millions lottery numbers[/url] winning blackjack online [url=]bingo free game money real win[/url]
blackjack game sign up bonus gipsy jokers vs hells angels gang fights [url=]blackjack powersports[/url]

Anonymous said...

compare yves saint laurent mascara volume no eff faux cils wholesale dress clothes [url=]giada de laurentiis naked[/url] yahama brake shoes basketball shoes closeout [url=]fashion wars india[/url]

Anonymous said...

Thanks for the writing this! I’m new at this game so am trying to catch up.

Anonymous said...

Thanks for the writing this! I’m new at this game so am trying to catch up.

Anonymous said...

I think this is what I need

Anonymous said...

An useful review

Anonymous said...

Just really love you guys… what fantastic and well researched information. Thank you bunches.

Anonymous said...

I want to make some contribute to

Anonymous said...

movie the italian [url=]the batman superman movie world s finest[/url] psp movie writer plugged in movie reviews focus family
home movie [url=]new jack city[/url] ratatouille movie info transsex movie
naruto shippuuden movie [url=]breakfast at tiffany s[/url] spiderman 3 the movie screenshots
harry potter 5 movie [url=]city of ember[/url] one full movie movie1 i need a site in india to download free movie
song blue moon movie brendan fraser [url=]3 2 1 penguins [/url] watch free the house of the spirits movie online the flintstones movie

Anonymous said...

bestial movie [url=]hittin it [/url] bringing out the dead movie soundtrack how much space does a feature film movie take on an ipod
instructions for cannon movie dital camera [url=]big brother[/url] brain storm movie movie airplane lines
the new movie dragonwards [url=]command decision[/url] rave glory hole movie
movie theater gardner [url=]long weekend[/url] the mission movie transformer movie characters
movie gallery bankruptcy [url=]closing the ring[/url] sunny delight movie ice storm movie

Anonymous said...

watch the movie a good year online for free [url=]sixty six[/url] free movie naruto movie 4 century movie theatre denver
free cartoon sex movie clips [url=]poor boy s game[/url] movie download of rocky bal boy 2006 watch simpsons movie online free
charlotte web movie [url=]islander[/url] jsrf the movie
movie mississippi burning [url=]we were soldiers[/url] miami vice movie credits matt wagners grendel the movie
monster make up movie creature [url=]abbott and costello in the foreign legion[/url] weird sex movie watch raghu romeo full movie

Anonymous said...

bubba character children movie [url=]fly me to the moon[/url] excalibur movie movie producer requirements
chuckie scary movie [url=]moon 44[/url] casper the movie panties movie clips
haley wilde movie [url=]big love[/url] send up of rock band movie
movie ringtones [url=]winter passing[/url] movie night gift baskets how to get more than 1 movie onto dvd
movie showings amc 20 brandon fl [url=]the wonder pets[/url] nikki fritz movie clips quotes from movie if only

Anonymous said...

twilight the movie trailers [url=]dude where s my car[/url] jeepers creepers the movie 3 gay spanish movie in south america
unbox movie converter [url=]b t k[/url] kenny movie australia cameras used in the film making and movie industry
best movie wallpapers [url=]scarecrow[/url] the rosetta stone movie
the goofy movie soundboard [url=]7 10 split[/url] movie release when harry met sally movie social networking
lesbian granny movie galleries [url=]wendy and lucy[/url] andie valentino movie dinosaur movie

Anonymous said...

watch bleach movie [url=]cowboy killer[/url] star wars movie fighters tie pictures of in too deep movie preview
gray eagle movie [url=]nitrate kisses[/url] sawgrass mills mall movie times truman movie
movie maker finish movie takes long time [url=]fillmore[/url] celebrity movie sex scenes
divx full movie download [url=]a few good men[/url] dragonlance movie trailer strictly ballroom the movie
transformers 2007 movie vehicles pics [url=]the breakfast club[/url] strip poker home movie free thornbirds movie

Anonymous said...

I have removed this idea :)

Anonymous said...

I confirm. So happens.

Anonymous said...

As the expert, I can assist.

Anonymous said...

Certainly. All above told the truth.

Anonymous said...

"pseudo code"
How can i have this code in reversing?
or it written by yourself?

Sorry, i'm newbie (i'm not programmer)

Anonymous said...

adona software xingtone ringtone maker software [url=]six sigma software quality[/url] windows 95 reboot software download
[url=]Fracture 1.5 MAC - Cheap Legal OEM Software, Software Sale, Download OEM[/url] best free video editor software

Anonymous said...

best topo map software website registration software [url=]bmw mini cooper service equipment software[/url] sibelius software scorch
[url=]PicturesToExe Deluxe 5.5 - Software Store[/url] xbox games backup software

Anonymous said...

oZzy moved away ever before, I miss his cock, for always hungry for sexual intercourse.


Feel free to surf to my webpage; hcg injections

Anonymous said...

Today, I went to the beach with my kids. I found a
sea shell and gave it to my 4 year old daughter
and said "You can hear the ocean if you put this to your ear." She placed the shell to her ear
and screamed. There was a hermit crab inside and it pinched
her ear. She never wants to go back! LoL I know this is completely off
topic but I had to tell someone!

my weblog; datting

Anonymous said...

This design is spectacular! You most certainly know how to keep a reader
entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost.

..HaHa!) Fantastic job. I really enjoyed
what you had to say, and more than that, how you presented it.
Too cool!

My web site -

Anonymous said...

. There are continually fresh troubles and possibilities to
which the sector must once again adapt and respond.

Look into my weblog:

Anonymous said...

ew plan, the foreclosed process can pick up where it left off.

Here is my site date sites

Anonymous said...

It�s truly a great and helpful piece of information. I am satisfied that you just shared
this useful info with us. Please stay us up to date like this.
Thanks for sharing.

My page ... free to browse dating
Also see my website: dating love online

Anonymous said...

My brother recommended I might like this web site.
He was totally right. This post truly made my day.
You can not imagine simply how much time I had spent for this information!

Here is my homepage; online date sites free

Anonymous said...

An fascinating dialogue is price comment.
I believe that it's best to write extra on this matter, it might not be a taboo topic but typically persons are not sufficient to speak on such topics. To the next. Cheers

Feel free to surf to my blog 100 free dating web sites

Anonymous said...

Just want to say your article is as amazing. The clarity in your post
is simply excellent and i can assume you are an expert on this subject.
Well with your permission let me to grab your feed to keep up to date with forthcoming post.
Thanks a million and please keep up the enjoyable work.

Also visit my page - facebook for sex

Anonymous said...

Hi there, I discovered your web site by the use of Google at the same time as looking for
a similar matter, your website came up, it looks great. I have bookmarked
it in my google bookmarks.

Here is my page :: facebook of sex

Anonymous said...

Thanks for helping me to get new ideas about pcs.
I also possess the belief that certain of the best ways to maintain your notebook in perfect condition is by using a hard plastic-type material case, or perhaps shell, that matches over
the top of the computer. A lot of these protective gear will be model precise since they are made to perfectly over the natural outer shell.

You can buy these directly from the owner,
or from third party sources if they are available for your mobile computer,
however not every laptop will have a covering on the market.
All over again, thanks for your recommendations.

my blog;

Anonymous said...

mission statement pharmacy pharmacy huntington beach california [url=]association canadian internet pharmacy[/url]
canadian pharmacy angola brooks pharmacy burlington vermont [url=]tofranil[/url]
buy adderall online pharmacy foreign canadian napac pharmacy [url=]success florida pharmacy[/url]
hospital pharmacy salary us pharmacy prilosec rxpricebusterscom [url=]maxalt[/url]

Anonymous said...

great points altogether, you just gained a new reader.
What would you recommend in regards to your post that you made a few days ago?

Any positive?

Look at my site:

Anonymous said...

Hey, you used to write excellent, but the last few posts
have been kinda boring� I miss your tremendous writings.

Past few posts are just a little bit out of track!
come on!

Feel free to surf to my website -

Anonymous said...

Hello. splendid job. I did not imagine this. This is a fantastic
story. Thanks!

Take a look at my page ...

Anonymous said...

Thanks for the helpful post. It is also my belief that mesothelioma has
an incredibly long latency time period, which means that signs of the disease may not emerge right up
until 30 to 50 years after the first exposure to asbestos fiber.
Pleural mesothelioma, that's the most common variety and is affecting the area round the lungs, could cause shortness of breath, chest pains, plus a persistent coughing, which may result in coughing up body.

Also visit my blog -

Anonymous said...

Great blog post. Some tips i would like to contribute is that pc memory must be purchased when your computer still can't cope with that which you do by using it. One can deploy two random access memory boards with 1GB each, as an example, but not one of 1GB and one having 2GB. One should make sure the manufacturer's documentation for the PC to be sure what type of storage is essential.

Feel free to visit my web site: hot dating

Anonymous said...

. There are usually fresh complications and the opportunity to which
the field must just as before adapt and reply.

My blog post :: datings sites free

Anonymous said...

Here is my web page - free dating websights

Anonymous said...

One other issue is when you are in a circumstances where you will not have a cosigner then you may genuinely wish to try to make use of all of your federal funding options.
You will discover many grants or loans and other scholarship grants that will present you with
funding to aid with university expenses. Thanks for the post.

Stop by my web-site :: click dating

Anonymous said...

I like what you guys are up also. Such clever work and reporting!
Keep up the excellent works guys I have incorporated you guys
to my blogroll. I think it will improve the value of my web site :)

Feel free to visit my web page - facebook sex

Anonymous said...

Well I truly liked reading it. This information procured by you is very
effective for accurate planning.

Feel free to visit my web-site :: fuck book

Anonymous said...

Thanks for the marvelous posting! I seriously enjoyed reading it, you may be a great author.
I will be sure to bookmark your blog and will come back someday.
I want to encourage you continue your great writing, have a nice morning!

Feel free to visit my page - casual encounters

Anonymous said...

We would also like to state that most individuals that find themselves devoid of health insurance
usually are students, self-employed and people who are
laid-off. More than half of those uninsured are under the age of Thirty-five.
They do not think they are looking for health insurance since they are young in addition to healthy.
Its incom

My weblog; facebook for sex

Anonymous said...

Thank you for the auspicious writeup. It in fact was a amusement account it.
Look advanced to far added agreeable from you! However, how could we

My webpage :: facebook sex

Anonymous said...

I really appreciate this post. I�ve been looking all over for this!
Thank goodness I found it on Bing. You have made my day!
Thanks again

Have a look at my webpage: facebook for sex

Anonymous said...

Thanks for your posting. What I want to say is that when you are evaluating a good
online electronics store, look for a web-site with total information on important factors
such as the level of privacy statement, safety details, any payment procedures, and various terms plus policies.
Continually take time to look at help as well as FAQ segments to get a greater idea of how a shop works, what they are
able to do for you, and just how you can make use of the features.

Feel free to visit my website facebook sex

Anonymous said...

Thanks for the strategies you have discussed here. Additionally,
I believe there are many factors which keep your motor insurance premium all the
way down. One is, to consider buying motors that are inside good
report on car insurance firms. Cars that are expensive tend to be
at risk of being stolen. Aside from that insurance is also
good value of your vehicle, so the more expensive it is, then the higher this premium you pay.

my blog fuckbook

Anonymous said...

Having read this I thοught it was very enlightening.
I appreсiate yоu spenԁіng some time and effort to ρut this content togetheг.
І once again find myself pеrsonally spеnding a ѕignificant amount of time
both rеаding and commentіng. But sο what, it was still worth it!
rippln app - rippln mobile - rippln reviews

Mу web-sitе :: rippln app

Anonymous said...

Very good information. Lucky me I ran across your site by accident (stumbleupon).
I've saved it for later!

My page :: website

Anonymous said...

Have you ever considered about including a little bit more than
just your articles? I mean, what you say is fundamental and everything.
Nevertheless imagine if you added some great graphics or videos to give your posts more,
"pop"! Your content is excellent but with images
and videos, this website could certainly be one of the very best in its field.
Awesome blog!

Also visit my blog post ...

Anonymous said...

Link exchange is nothing else but it is just placing the other person's weblog link on your page at appropriate place and other person will also do similar for you.

my page life insurance net cash value

Anonymous said...

Everything is νeгу open with a clеar clаrification of the chаllengeѕ.
It waѕ truly informative. Υour ѕіtе
is very useful. Thanks for sharing!

Mу pagе - home Based business reviews

Anonymous said...

Please let me know if you're looking for a article author for your blog. You have some really good articles and I feel I would be a good asset. If you ever want to take some of the load off, I'd
absolutely love to write some articles for your blog in exchange for a link back
to mine. Please blast me an email if interested.

my web-site magic of making up review **