このスレッドはロックされています。記事の閲覧のみとなります。
トップページ > 記事閲覧
FFFTPのパスワードデコード
日時: 2005/04/27 23:16
名前: WoodyBells管理人

私はFFFTPには長らくお世話になっているのですが、恥ずかしながら設定したパスワードがなん
だったか解らなくなってしまったサイトがいくつかありました
FFFTPはソースコードまで公開されており、パスワードデコードの関数をDelphiに置き換えてみ
ました。

本来ならば、何かしらのツールでも公開すればよいのでしょうが、公序良俗的に問題かもしれな
いと考え、ここでの掲載にとどめます。。。

関数の引数に、FFFTPのレジストリ・iniファイルに記録されているpasswordの値を渡せば、デ
コードされたパスワードが戻り値となります。

function FFFTP_DecodePw(s: string): string;
var
  ii, Ch, Rnd: Integer;
  Put: TByteArray;
  PGet: PByte;
begin
  ii   := 0;
  PGet := @s[1];
  while PGet^ <> $00 do
  begin
    Rnd := (PGet^ shr 4) and $03;
    Ch  := (PGet^ and $0F) or ((PByte(Integer(PGet) + 1)^ and $0F) shl 4);
    Ch  := Ch shl 8;
    if (PGet^ and $01) <> 0 then
      Inc(PGet);
    Inc(PGet, 2);
    Ch :=  Ch shr Rnd;
    Ch := (Ch and $FF) or ((Ch shr 8) and $FF);
    Put[ii] := Ch;
    Inc(ii);
  end;
  Put[ii] := $00;
  Result := PChar(@Put);
end;
メンテ

Page: 1 |