Stone's Search & Destroy Patch 1.0 ***BETA*** Send me bug reports *********** DISCLAMER ************ Warning - this program is a disaster waiting to happen I take no responsibility for any damage caused by the program or sourcecodes supplied in here. That goes for both direct and consequensial damage - use it at your own risk! Further this sourcecode is copyrighted by Stone (c) 1997. It may be distrubuted free of charge unchanged, and you may use the source code at your discretion given that: 1) you strip the UCF-header, 2) you greet me and give me proper credit for my work - include my email. And last: This source code is NOT a UCF release and should not be treated as such - all errors, flaws, bugs etc. lies on my shoulders *ONLY* - Stone/UCF 1997 *********** DISCLAMER ************ **************** 1.0 List of Contents **************** 1.1 Introduction 2.0 How to use Stone's Search & Destroy patch 2.1 The search string 2.2 The patch string 2.3 The negative displacement 2.4 Limitations 3.0 How Stone's Search & Destroy patch work 3.1 The search routine 3.2 The patch routine 4.0 Greetings & Stuff 4.1 Greetings 4.2 Contacting the author (ME ME ME :) ) **************** 1.1 Introduction **************** Well - it's been a while since anybody released a Search & Destroy patch for anything - and I believe now more than ever is the time to make search and destroy patches instead of normal offset patchers. These days updates for games and utils is often released to the public thru websites and these updates is often new exefiles so upon installing the update the copyprotection is reinstalled. These new exe-files is often modified so that the copyprotection routine is located on a different offset in the file so that the old offset patch no longer is able to find it. A simple solution is the Search & Destroy patch that instead of relying on the fileoffset searches the entire file for a string within the copyprotection routine and patches in reference to this instead. Anyways I was bored and need some material for my webpage anyways ... so I wrote this fucker. **************** 2.0 Usage **************** It's real simple. Load up the asm-file in your favorite editor, replace my bogus information with the info relevant for your crack, exit the editor and COMPILE with: tasm /m stnsdp.asm tlink /3 stnsdp 2.1 The search string You'll need to enter your search-string as you find in the program you need patched. As always on search strings it should be UNIQUE! In order for you to make very good search strings I coded a "advanced" search interface. It allows to include unknown values in search string (such as relocations) and it allows string length up to 40h bytes (64d). What you do is that you write your search string as this: findme db 023h,04fh,02dh,02eh db 02h,090h etc. If there is a byte in the string you do not want to be checked you enter a '0'. My patcher will ignore it in it's string compare routine. Theoretically you can enter strings longer than 40h bytes and in most cases they will be found as well - however my program searches in blocks and I cannot garantiue that strings longer than 40h bytes will be positively identified. When you have entered your search string count how many bytes it is. Enter this on the next line that says: length db 6 ; where 6 is the lenght of your search string THIS IS IMPORTANT! 2.2 The patch string Similarly with the string of bytes you want written in the file. You enter the bytes on the line that says patchme db 90h,90h,ebh and below that the number of bytes you need patched on the line that says nobytes db 3 ; where 3 is the number of bytes you want patched 2.3 The Negative displacement blah blah blah 2.4 Blah Filesize max: 268,435,455 bytes Only one patch string only one search string **************** 3.0 Tech Stuff **************** searches in blocks, re-searches half the block to make sure that the search string wasn't "cut-in-half" **************** 4.0 Greetings etc. **************** 4.1 I may be reached thru email at: stone@one.se - I love hate mails - I love bugreports - I love suggestions - and.. I love getting positive feedback - that is the only reason I release this stuff.. if I didn't I'd keep it to myself! - and.. http://www.one.se/~stone/index.htm 4.1.3 Greets to: UCF, Patriarch, Mr. Mox, Gdd, yrreb & #Cracking on EFFNET ^2nd! ARGH.. no bitching.. I'm no freaking coder - and do gimme bug reports