home *** CD-ROM | disk | FTP | other *** search
- ; Crackme's are Lame
- ; So why did I write on? Because I'm a lamer!
- ; POINT IS: it's easy to make good protection even with small means.
- ; BTW: the possibility for possible complexity expands geometrically with
- ; the number of chars you use... Write an algorithm in the spirit of this one
- ; with 10 chars and you might aswell forget about finding a key
- ;
- ; > (Unless you reverse the algorithm :-) -acpizer.
- ;
- ;
- ; (BTW the rules are: No patching.. only Keys!)
- ; While this algorithm because of only one letter used is fully reversible
- ; algorithms of this type with multiple letters are not!
- ; Btw.. it takes some 120 binary calculations to reverse engeneer this :)
- ;
- ;
- ;
- ; answer for the older crackme is 'K' cracked by acpizza :)
- ;
- ;
- ; now i modded this crack me just a LITTLE bit, and the lamer who cracks it
- ; will be forced to REVERSE the routine, not just BRUTE one letter :)
- ; and this version is only *1* byte longer than the old one, <g>.
-
-
-
-
- model tiny
- .Code ; Code starts
- Org 100h ; COM!
-
- Start:
- .386
- mov dx, offset intro
- call write
- mov dx, offset input
- mov ax,0a00h
- int 21h
- mov dx, offset string1
-
- mov eax, 'STEN' ; Keycheck
- mov ecx, dword ptr [offset input+2]
- loopme:
- rol eax,6
- xor ah,al
- add al, cl
- dec ecx
- jnz loopme ; looooooong loop :)
-
- cmp eax, 0A4C536E8h
- je done
-
- mov dx, offset string2
- done:
- call write
-
- ret ; Terminat0r
-
- write PROC
- mov ah,9h
- int 21h
- ret
- write ENDP
-
- intro db 'Type yer attempt: $'
- string1 db 10,13,'kewl!$'
- string2 db 10,13,'lame!$'
- input db 5,0,0,0,0,0
-
- End Start