Free Pascal-解决问题的查询不是语法-如何进入此循环的下一个阶段

问题描述

| 与语法相关的问题相比,我更多的是“问题解决”问题。 简而言之,我正在创建一个程序,该程序将读取一个充满单词的文本文件(可能是密码列表),每行一个单词-我将在循环中的该位使用ReadLn。对于它找到的每个单词,我希望它添加“一定数量”的混淆处理,以符合当今用户如何在其密码或“ 1”中使用“ 3”而不是“ E”而不是\'I \'。我在IT安全领域工作,密码破解通常是其中的一部分,而这正是该程序的目的。 到目前为止,我已经设法创建了该程序,以使其生成一个LEET表,该表充满了每个字母的许多不同值,并将它们堆叠在StringGrid中,我可以将其作为过程的一部分进行访问(并且还可视地输出到表)。
type
TLetters = \'A\'..\'Z\';
    TLeet = array[TLetters] of TStringList;

var
  SourceFileName,str : string;
  StartIndexFile : TextFile;

  i    : TLetters;
  leet : TLeet;
  s    : string;
  n,o,ColumnSize    : integer;           

begin

for i in TLetters do
  leet[ i ] := TStringList.Create;   

// The next sequence of loops populates the string grid by counting the number of     characters for each letter of the alphabet and then inserting them down,column by column and row by row...

//Letter A:

s := \'4 @ /-\\ /\\ ^ aye ∂ ci λ Z\';
ColumnSize := wordcount(s,[\' \']);
o := 0;
  for n := 0 to ColumnSize do
    leet[\'A\'].Add(ExtractWord(n,s,[\' \']));
      for o := 0 to ColumnSize do
        StringGrid1.Cells[1,o] := Leet[\'A\'][o];

// And so on for B - Z

// ... then an OpenDialog that opens the source text file to read. Got that sorted

//  A load of file opening stuff and then the obsfucation
        repeat
           Readln(StartIndexFile,Str);
           LblProgress.Caption := (\'Parsing Index File...please wait\');
             OBSFUCATE THE WORDS HERE TO SOME EXTENT
             // but now I have hit a barrier....
       until(EOF(StartIndexFile));       
我的问题是这样的:例如,给定单词“爱德华”,我该如何决定将其混淆到哪个级别?只是将第一个字母'E \'替换为\'3 \',仅此而已?或将前两个字母\'E \'和\'d \'替换为LEET表中字母E和d的所有值(这意味着将从\'Edward \'中生成许多新单词,依此类推),或\'E \'的所有值,但除此之外没有其他...列表继续。潜在地,对于每个单词,我都可以创建成千上万个附加单词!一个100Gb的源文件很快就会变成TB! 换句话说,我需要设置程序可以运行的“级别”,用户可以决定。但是我不确定如何构建该级别? 所以我不确定如何使它工作?在开始之前,我并没有真正想通。我最初的想法是:“拥有一个程序,该程序将从计算机中提取单词索引,然后生成每个单词的变体来说明混淆字符的人。”但是我开始编写代码, \已经意识到这是一项比我想象的还要大的工作,现在我被困在实际上“保留我的输入文件”的部分中!     

解决方法

        您可以使用级别(0-10)作为输入。 0:什么都不做 10:将所有字母替换为LEET字母。 根据单词的长度,您可以计算要替换的字母数,而只需替换单词中的随机字母,这样就不必总是替换第1级等的第一个字母。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...