英小文字の定数/変数判定

2006.06.09 (金) 12:16
ugnag


もしかしたら、判定できるかも。
もちろん、100%ではないが、高確率でいける気がする。



●暗号化されているコードの場合

 ●英字は全て大文字のみの場合(条件1)
  G-Zのみを小文字に変換

 ●英字は大文字と小文字が混在(条件2)
  そのまま
  (あえて区別してるのだから、信用する)

 ●英字は小文字のみでg-zを含む(条件3)
  a-fを大文字に変換
  (g-zを使っていながら、a-fの変数は使わないだろう。
   しかも全部小文字で)
 ●英字は小文字のみでg-zを含まない
  ●1〜2桁目にa-fがある場合(条件4)
   全て大文字へ変換
  (1桁目はコマンドであるため変数ということはあり得ない。
   2桁目も変数である可能性は非常に低い。
   それを小文字で書いているなら、英字は全て小文字というポリシーだと
   思われる)
  ●1〜2桁目にa-fがない場合
   ●2バイト目以降の1バイトの構成が異なる英字が存在する(条件5)
    (1cabcdefが該当、1caabbccや1c0a0b0cは非該当)
    全て大文字へ変換
    (暗号化コードで両桁が異なる変数というのはあり得ない)
   ●その他(条件6)
    判別不能


●暗号化されて無いコード

 ●英字は全て大文字のみの場合(条件7)
  G-Zのみを小文字に変換

 ●英字は大文字と小文字が混在(条件8)
  そのまま
  (あえて区別してるのだから、信用する)

 ●英字は小文字のみでg-zを含む(条件9)
  a-fを大文字に変換
  (g-zを使っていながら、a-fの変数は使わないだろう。しかも全部小文字で)
 ●英字は小文字のみでg-zを含まない
  ●1桁目にa-fがある場合(条件10)
   全て大文字へ変換
  (1桁目はコマンドであるため変数ということはあり得ない。
   それを小文字で書いているなら、英字は全て小文字というポリシーだと思われる)
  ●1桁目にa-fがない場合(条件11)
   判別不能


000000AF 000000XX → 000000AF 000000xx 条件7
00000axx 000000f0 → 00000Axx 000000F0 条件9
0000000a 0000000b → 0000000a 0000000b 条件11(判定不能)

[7] beginning... [9] >>
[1] comments (4)
-


[7] << お返事6
[9] ParCodeEditor Ver1.41リリース >>
[0] [top]


[sb 1.10R]