home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / E_bliss / cm4_fireworx.txt < prev    next >
Text File  |  2000-05-25  |  2KB  |  53 lines

  1. FireWorx Crackme4
  2. -----------------
  3. Start the Crackme, choose REGISTER, enter your name, and a bogus serial, go
  4. into softice and set a breakpoint on Hmemcpy, got back to the crackme and
  5. press the OK button, press F5 and then press F11 to get out of the call,
  6. and then F10 until you come here:
  7.  
  8. :00447B16  7C2F                JL      00447B47
  9. :00447B18  47                  INC     EDI
  10. :00447B19  C745F800000000      MOV     DWORD PTR [EBP-08],00000000
  11. :00447B20  8D55F4              LEA     EDX,[EBP-0C]
  12. :00447B23  8B83D4020000        MOV     EAX,[EBX+000002D4]
  13. :00447B29  E82ABDFDFF          CALL    00423858
  14. :00447B2E  8B45F4              MOV     EAX,[EBP-0C]
  15. :00447B31  8B55F8              MOV     EDX,[EBP-08]
  16. :00447B34  0FB64410FF          MOVZX   EAX,BYTE PTR [EDX+EAX-01]    ; pushes [i-1] to eax
  17. :00447B39  03F0                ADD     ESI,EAX                      ; esi=esi+eax
  18. :00447B3B  03B314030000        ADD     ESI,[EBX+00000314]           ; esi=esi+0x2b67
  19. :00447B41  FF45F8              INC     DWORD PTR [EBP-08]
  20. :00447B44  4F                  DEC     EDI
  21. :00447B45  75D9                JNZ     00447C20
  22. :00447B47  8D55FC              LEA     EDX,[EBP-04]
  23.  
  24. not a hard routine, here is a sample keygen source i C:
  25.  
  26.  
  27. //Keygen source by Klefz
  28. int main(){
  29. unsigned char name[500]={0};
  30. int length=0,i;
  31. long int sum=0;
  32.  
  33. tryagain:
  34. length=0;
  35. clrscr();
  36. printf("FireWorx Crackme3 Keygen by Klefz\n");
  37. printf("Enter your name: ");
  38. gets(name);
  39.  
  40. /* work out length (tnx prophecy ;) */
  41. while (name[length] != '\0'){      length++;  }    if(length==0){
  42.     printf("\nYou must enter a name!");      getch();
  43. goto tryagain;  }
  44.  
  45. for(i=0;i<length;i++) sum+=name[i];
  46.  
  47. for(i=-1;i<length;i++) sum+=0x2b67;
  48.  
  49. printf("\nYour reigistration code is: %li",sum);
  50. return 0;  }
  51.  
  52. ---
  53. /Klefz - http://klefz.cjb.net