dAKuRioUSCHiLD [ PC_'99 ] Part 8. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Overview. Ok...lets think about what we've done and what we've learned...btw the learning isn't over yet! -Part 2- Here we learned how to change a simple jump...it worked when we tried to register, but not the way we wanted, but when we applied it in Part 3, it worked! When it comes to changing jumps we kinda did a poor job though! What we should do is have more control...see when we change a jne to a je or vice versa, the program still has an option. We reversed it's actions, but there still is the possibility it could jump to the bitch box. We need a way to control the program no matter what...so that it ALWAYS goes the way we want! To force a program to jump you would change the jump command to EB: 7538 to EB38 or 7423 to EB23 In both of those the program would HAVE to jump, but what if the jump is the bad registration...well then we wouldn't want it to jump EVER! In that case we would "Nop" out the jump...( nop means no operation ) to do this we would change all of the bytes to 90's: 7569 to 9090 or 7411 to 9090 Now some programs check for excessive nop's and it also looks sorta poor...another option is to fill the to be "nop"ed area with pointless instructions like 40 - inc eax ( add one to eax ) 48 - dec eax ( subtract one from eax ) Got it? You could use that instead of 9090, there are many other choices you could use...play! -Part 3- There is another way to kill nag screens ( this method does NOT apply to start clean! ). Read the nag screen and look at your options...let's say they are "OK" and "Register...". So now we would hex-edit it and look for the text "Register...". Search for normal text and unicode ( it's probably in unicode ). When you find it, look for the text "OK" near it...it should only be a couple of lines up. when you fine it, look into the code ( you know the mumbo jumbo in the middle there ). You should see "FFFF FFFF 82" somewhere. If you change it to "FFFF FFFF EB" it might kill the nag...sometimes you need to use a different type of jump though...again you have to play! -Part 4- Here we used smartcheck...an easy tool to use, you just need to learn how to find you way around...different programs access the good code differently...you need to learn api calls ( calls that programs make using generic dll commands ). Knowing them makes it easier to follow the program. When working on Visual Basic programs, it's usually REALLY easy to follow...just try it...they use commands like "registration validation". Easy shit...i always suggest you leave the error box open, because this pauses the program...it's waiting for you to click "OK". So you know that what your looking for will be near the bottom! Happy Hunting! -Part 5- Softice...so much i could say, you can do anything with it...you really can...i suggest you buy a book on ASM and begin to study it...but more so, PRACTICE MAKES PERFECT! The more Zen cracking ( this is a soft aproach to cracking, basicly you just trace through the program and watch what it does, line by line. ) you do, the more you'll understand. One thing i should add is you don't just have to release a serial number, you could release a .reg file. To do so, you would register, then look through the listing in windasm or you could run a registry monitor and see what keys the program accesses. By doing so you'd find a registry key that'll look somewhat like: Software\Start Clean\Configuration that is where it stores you registration info...you would then run regedit ( it comes with windows ) and you would find that key, or you could search for "Start Clean" and there you would find: "Name"="KuRioUS" "Code"="1422-13266-1827-361" Now all you would have to do is click on the main folder ( Configuration ), goto the Registry menu and select "Export Registry Key...". Mine is named "dKC_SC.reg". As warned before, you must run them from a directory that has no spaces in its' name or you will get all these errors!! Running a .reg file from you desktop works fine. -Part 6- This is always fun! I love doing this, plus it saves you the time of making a true keygen...i'd say do it when you can...unless your showing off...then you should make a true keygen. Personally i have nothing against being quick and dirty! :) -Part 7- True keygens are the "Perfect" job! You don't do better! It takes a while to learn, but HEY! who's born perfect ( other than myself :) ). Work on your serial and ASM skills...one day you'll have an epifiny ( i don't know how to spell that damn word...well it means "a momment of clarity", all of a sudden you'll just understand! ). -End- Damn there was stuff i wanted to add here...i don't remember. Well i'll wing it...there are alot of new techniques out to trip us up. There are time expirations ( the technique used in part 2 usually works against these )...dongle protection ( the program checks for a hunk of metal on you serial port... tricky shit, again you use softice )...um some programs crash or crc error if you patch them...others detect softice...there is also what they call encrypted programs, the code is mixed up and only straightens up in memory ( softice again works on these...tricky to patch though )...more are made everyday, so it may be hard for you to find targets...i remember when only a couple of program were difficult...most were beaten by a simple jump switch then. We make them better and in return they make us better...we being "re-programers" and them being programers. They need us and we need them... don't forget that. Even though i call them "they"...they aren't an enemy...more like our brother. They probably think of us as the enemy, but we mean the no true harm ( as least we shouldn't :) ). I enjoy helping companies discover their shortcomings. It makes them stronger in the end. Please ALWAYS think about what your doing...i started using these type of files because i didn't have the money and we all know how eXpensive some software can be. But I started doing my own in the pursuit of knowledge...then it became like a game...a chalenge! But please don't rob programers... this is how they live! Honestly...i plan to be a professional programer someday...how could i survive if no one paid for my software? If you can afford the software, or if you plan to use it to make $$$$, pay for it! Please...don't become a thief...become a teacher. Don't take...give... :) Cheezy Enough? dA KuRioUS CHiLD...