// Detect It Easy: detection rule file format
// Author: hypn0 <hypn0@mail.ru>

init("patcher", "Patcher");

function detect(bShowType, bShowVersion, bShowOptions) {
    if (Binary.compare("bc....8cc88ec08ed8fcbe....b9....8ae180e4..ac32c48844..e2")) {
        sName = "Patch engine";
        sOptions = "by SoNiC //UTG";
        bDetected = true;
    } else if (Binary.compare("e9$$$$b80300cd10b409ba....cd21e8$$$$1eb8....8ed833c98a0e....fec95133d2fec68916....b4..b2..cd21")) {
        sName = "ByteHunter patch engine";
        sOptions = "by nOP & THE_q //Phrozen Crew";
        bDetected = true;
    } else if (Binary.compare("e9$$$$0e588ec08ed88d16....68....9d9c582d....72..33dbb9")) {
        sName = "GPatch";
        sVersion = "1.2b"
        sOptions = "by JES //C.O.R.E. team";
        bDetected = true;
    } else if (Binary.compare("e9$$$$0e588ec08ed8e8$$$$68....9d9c582d....73..8d3e....fbc3")) {
        sName = "GPatch";
        sVersion = "1.0c"
        sOptions = "by JES //C.O.R.E. team";
        bDetected = true;
    } else if (Binary.compare("e9$$$$e8$$$$50558becc746......5d0733ffb9....fcb8....f3abc3")) {
        sName = "Cracker";
        sOptions = "by NightIce //ByTe Enf0rcerZ";
        bDetected = true;
    } else if (Binary.compare("eb$$c8......e8$$$$6a..07bf....268a1d263a1d74..268a1db8....99e8....f7d0f7d2b9")) {
        sName = "AutoCRK";
        sVersion = "1.2x (uncrypted)";
        sOptions = "1995 by MACHiNE GUNgsTeR //BANG!";
        bDetected = true;
    } else if (Binary.compare("eb$$8bfc83ef..83ec..be....b9....57f3a45fffe7")) {
        sName = "AutoCRK";
        sVersion = "1.2x (crypted)";
        sOptions = "1995 by MACHiNE GUNgsTeR //BANG!";
        bDetected = true;
    } else if (Binary.compare("c8......e8$$$$6a..07bf....268a1d263a1d74..268a1db8....99")) {
        sName = "AutoCRK";
        sVersion = "1.15";
        sOptions = "1995 by MACHiNE GUNgsTeR //BANG!";
        bDetected = true;
    } else if (Binary.compare("e9$$$$ba....8bda438a2780fc..75..e8....3c..74..2e8b1e....83fb..75..e9")) {
        sName = "CRK2COM";
        sVersion = "1.10b";
        sOptions = "1993";
        bDetected = true;
    } else if (Binary.compare("'/MG/'eb$$c8......e8$$$$6a..07bf....268a1d263a1d74..268a1db8....99")) {
        sName = "AutoCRK";
        sVersion = "1.20";
        sOptions = "by MACHiNE GUNgsTeR //BANG!";
        bDetected = true;
    } else if (Binary.compare("e9$$$$e8$$$$bb....b9....8a0734..880743e2..c3")) {
        sName = "Crack Engine";
        sVersion = "0.2";
        sOptions = "by Prizna //PSP";
        bDetected = true;
    } else if (Binary.compare("'SNT'1af8b409ba....cd2133f6bd....b8....ba....cd21a3....72..33c933d28bd8")) {
        sName = "SNT patch";
        sOptions = "//SNT";
        bDetected = true;
    } else if (Binary.compare("eb$$0e1fb409ba....cd21be....e8....803e......74..b4..ba....cd21eb..b4..ba....cd21b8....cd21")) {
        sOptions = "by WOLVERiNE";
        bDetected = true;
    } else if (Binary.compare("bc....5406b8....cd21891e....8c06....b8....ba....cd21b8....ba....cd21071eb9....ba....b7..b8....cd10")) {
        sOptions = "by Randall Flagg of Razor 1911";
        bDetected = true;
    } else if (Binary.compare("e9$$$$b8....cd10ba....e8....ba....b8....cd2173..ba....e8....ba....e8....b44ccd2193ba....e8")) {
        sOptions = "by Nostromo";
        bDetected = true;
    } else if (Binary.compare("e9$$$$ba....b409cd21c706........c706........c706........c706........be....33c98a0e....80f9..74..5651")) {
        sName += " #1";
        sOptions = "by Drink Or Die (Dark Knight)";
        bDetected = true;
    } else if (Binary.compare("e9$$$$ba....b409cd2133c0cd16b4..33dbcd10feccb2..cd10c706........c706........c706........c706")) {
        sName += " #2";
        sOptions = "by Dark Knight";
        bDetected = true;
    } else if (Binary.compare("b409ba....eb$$cd21b409ba....eb$$cd21b409ba....eb$$cd21b409ba....eb")) {
        sOptions = "by Mr. KIM";
        bDetected = true;
    } else if (Binary.compare("9090ba....8bfab409cd21c606......ba....b8....cd2172..93b8....33c933d2cd2172")) {
        sOptions = "by SkorpyoN Team";
        bDetected = true;
    } else if (Binary.compare("9090ba....b409cd21b401cd1674..33c0cd1633c0cd163c..0f84")) {
        sOptions = "by +DzA kRAker";
        bDetected = true;
    } else if (Binary.compare("9090ba....8bfab409cd21b401cd1674..33c0cd1633c0cd163c..75")) {
        sOptions = "by +DzA kRAker";
        bDetected = true;
    } else if (Binary.compare("ba....b409cd21ba....b409cd21ba....b8....cd21ba....0f82....a3....ba....b409cd218b1e")) {
        sName = "MkPatch";
        sVersion = "1.0";
        sOptions = "by eGIS!";
        bDetected = true;
    }

    return result(bShowType, bShowVersion, bShowOptions);
}