Results 1 to 3 of 3

Thread: Reprogramming a passcode generator

  1. #1
    Lost in Lala Land peterg70's Avatar
    Join Date
    Oct 2001
    Down Under

    Reprogramming a passcode generator


    I have located a generate password code function but i want to be able to enter from AAAAA to ZZZZZ as the input (this normally comes from a dialog input) and collect the keys generated. I have managed to locate the routine that is called and where the input and output go but what sort of routine do i need to generate all the combinations

    As example the following code illustrates

    Mov EDI,004029283 (This moves the dialog string into memory)

    Some tests to ensure string is not blank etc.

    call 004003000

    when it return from this i want to save out to file the first code and another memory address as well. Then increase the memory address to the next possible code and continue to do this until all codes done. Then close the output file.

    I know this is possible but what is needed is the question

  2. #2
    Lost in Lala Land peterg70's Avatar
    Join Date
    Oct 2001
    Down Under

    A solution but not elegant

    Okay i have made this solution into blank area of code and called the routine

    Can someone make it more elegant without using registers or stack

    00408520 INC BYTE PTR DS:[40A57A]
    00408526 CMP BYTE PTR DS:[40A57A],5A
    0040852D JLE MASTER-K.004036F1
    00408533 INC BYTE PTR DS:[40A579]
    00408539 MOV BYTE PTR DS:[40A57A],41
    00408540 CMP BYTE PTR DS:[40A579],5A
    00408547 JLE MASTER-K.004036F1
    0040854D INC BYTE PTR DS:[40A578]
    00408553 MOV BYTE PTR DS:[40A579],41
    0040855A CMP BYTE PTR DS:[40A578],5A
    00408561 JLE MASTER-K.004036F1
    00408567 INC BYTE PTR DS:[40A577]
    0040856D MOV BYTE PTR DS:[40A578],41
    00408574 CMP BYTE PTR DS:[40A577],5A
    0040857B JLE MASTER-K.004036F1
    00408581 INC BYTE PTR DS:[40A576]
    00408587 MOV BYTE PTR DS:[40A577],41
    0040858E CMP BYTE PTR DS:[40A576],5A
    00408595 JLE MASTER-K.004036F1
    0040859B INC BYTE PTR DS:[40A575]
    004085A1 MOV BYTE PTR DS:[40A576],41
    004085A8 CMP BYTE PTR DS:[40A577],5A
    004085AF JLE MASTER-K.004036F1
    004085B5 INC BYTE PTR DS:[40A574]
    004085BB MOV BYTE PTR DS:[40A575],41
    004085C2 CMP BYTE PTR DS:[40A574],5A
    004085C9 JLE MASTER-K.004036F1
    Last edited by peterg70; December 9th, 2001 at 03:56.

  3. #3
    Hello peterg70 !

    In ASM you can do nearly nothing without registers and stack. Your code is the only possible without registers. But I would suggest to invent an own number system having 26 values for each digit. So you increment the counter number by one, divide it by 26, take the remainder and add 41h (= 'A') to it and store it. Repeat this until the initial number is 0 (same as converting a number to decimal, only divide by 26 and not by 10). This method makes all strings like A..Z, AA..ZZ, AAA..ZZZ, AAAA..ZZZZ, ... If you don't like this, you must set the start value for the counter to 26+26^2+26^3+... until you've reached the desired value.
    I promise that I have read the FAQ and tried to use the Search to answer my question.

Similar Threads

  1. PHPScriptExec & CloneDll script & TASM exports generator script
    By roxaz in forum Tools of Our Trade (TOT) Messageboard
    Replies: 1
    Last Post: July 18th, 2008, 17:36
  2. The error of different vendor ID generator same code
    By hanzi in forum Advanced Reversing and Programming
    Replies: 12
    Last Post: November 26th, 2005, 10:53
  3. opcode generator
    By dunno in forum Tools of Our Trade (TOT) Messageboard
    Replies: 2
    Last Post: December 10th, 2001, 12:22
  4. jump generator
    By amois in forum Malware Analysis and Unpacking Forum
    Replies: 12
    Last Post: October 18th, 2001, 09:42


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts