Einzelnen Beitrag anzeigen

Marcu

Registriert seit: 20. Mai 2012
50 Beiträge
 
#175

AW: Verschlüsselungs-Trojaner, Hilfe benötigt

  Alt 11. Jun 2012, 06:25
.. "nur" 50^30 (denn es ist ja egal, ob das erste oder zweite Vorkommen des Buchstaben "gewürfelt" wird, der Buchstabe selber ist relevant)
Völlig richtig!
Zitat:
Da fällt mir ein: Hast Du irgendwo Code gefunden, der den RNG initialisiert der da benutzt wird?
Es gibt keine Initialisierung. Der RNG sieht so aus:

Code:
unsigned int GetCpuTimeCode()
{
  unsigned __int64 tick;

  tick = RDTSC(); // Assembler für GetTickCount;
  return (16807 * (HIDWORD(tick) ^ tick) % 0x1F31D
     - 2836 * (HIDWORD(tick) ^ tick) / 0x1F31D) % 0x186A0;
}
Schau mal bitte hier, OldGrumpy: Park-Miller-Carta Pseudo-Random Number Generator

Update:
Der RNG sieht in Delphi so aus: (Danke an Yvonne fürs schreiben und recherchieren )

Delphi-Quellcode:
function GetRandomNumber: DWORD;
// http://www.cems.uwe.ac.uk/~irjohnso/coursenotes/ufeen8-15-m/p1192-parkmiller.pdf
// Seite 1195 (function Random Integer Version 2)
  function RDTSC: DWORD;
  begin
    asm
     dw $310F // = rdtsc
    end;
  end;

const
  a = 16807;
  q = 127773;
  r = 2836;
var
  t, hi, lo, seed: DWORD;
begin
  t := RDTSC;
  seed:= t and $0000FFFF; //= (t and $FFFF0000) xor t;
  hi := seed div q;
  lo := seed mod q;

  Result := (a * lo - r * hi) mod 10000;
end;

Geändert von Marcu (11. Jun 2012 um 09:44 Uhr)
  Mit Zitat antworten Zitat