英小文字の定数/変数判定
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]