远程通讯法:
第一,确定攻击目标,需要账号密码输入的地方(常见的远程桌面.ssh.mysql.mssql等);
第二,建立socket通信(多线程);
第三,输入账号(一般为默认账号);
第四,通过字典或规则生成待测试的密码;
第五,发送密码,取得验证反馈;
第六,拒绝密码,重复第四步起,如果密码通过,程序停止,显示密码。
本地破解法:
第一,将密码档中的账号和密码密文用程序中的变量保存;
第二,通过字典档或规则生成待测试的密码明文;
第三,将待测试的密码明文用系统密码加密的同样的算法进行加密;
第四,比较加密后密文与程序变量保存的密文是否相同;
第五,如不同,重复第二步起,如相同,程序停止,显示密码。