Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- http://www.forum-invaders.com.br/vb/showthread.php/40343-Codigo-Fonte-Md5-Cracker -->
- Fiz este programa seguindo a ideia do que foi postado neste <a href="http://www.forum-invaders.com.br/vb/showthread.php/40300-Md5-Cracker-1.0-(PERL)?p=287470&viewfull=1#post287470" target="_blank"><b>topico</b></a>.<br>
- <br>
- <div style="text-align: center;"><img src="http://dl.dropbox.com/u/1227623/Imagens/Outros/Invaders/Md5%20Cracker.jpg" alt="" border="0"></div><br>
- <hr><br>
- Bom esse programa recebe um hash de entrada e faz a busca em uma lista de sites contidos em um xml com o seguinte formato.<br>
- <br>
- <ul><li style="">Nó <b><Website></b> = url completa do site em que a checagem deve ser feita.<br>
- <ul><li style="">Atributo <b>Method</b> = Metodo utilizado para enviar os dados Get ou Post.</li><li style="">Atributo <b>Field</b>= Campo onde o hash deve ser inserido.</li><li style="">Atributo <b>RegEx</b> = Expressão Regular usada para pegar o retorno da requisição(Deve conter uma Named Capture com o nome Result (?'Result'.*) por exemplo).</li></ul></li></ul><br>
- <br>
- <div class="bbcode_container">
- <div class="bbcode_description">Código PHP:</div>
- <div class="bbcode_code" style="height:168px;"><code><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700"><</span><span style="color: #0000BB">Websites</span><span style="color: #007700">>
- <br> <</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Post" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"term" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"md5\(\x22(?'Result'.*)\x22\)"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//md5crack.com/crackmd5.php</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Post" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"search_field" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"\x3cb\x3e(?'Result'.*)\x3c/b\x3e used charlist"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.hashchecker.com/index.php?_sls=search_hash</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"\x3c/td\x3e\x3ctd class=\x22border\x22\x3e(?!Sorry.+database\.)(?'Result'.*)\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.netmd5crack.com/cgi-bin/Crack.py?InputHash</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"x" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"(?'Result'.*)"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.decrypt-md5.com/decrypt_api.php?</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"h" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"plaintext=\x22(?'Result'.*)\x22 type="</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//cracker.fox21.at/api.php?a=check&amp;</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Post" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"text" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"md5 hash .* = (?!Sorry.*found\.)(?'Result'.*) \x3c/p"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//isc.sans.edu/tools/reversehash.html</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"s" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"textarea_md5_decrypter\x22\x3e(?'Result'.*)\x3c"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.stringfunction.com/md5-decrypter.html?</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"hash" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"string\x3e\x3c!\[CDATA\[(?'Result'.*).*\]\]"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//md5.noisette.ch/md5.php?</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Get" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"md5" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"Cleartext of .* is (?'Result'.*)"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//md5.hashcracking.com/search.php?</Website>
- <br> </span><span style="color: #007700"><</span><span style="color: #0000BB">Website Method</span><span style="color: #007700">=</span><span style="color: #DD0000">"Post" </span><span style="color: #0000BB">Field</span><span style="color: #007700">=</span><span style="color: #DD0000">"hash" </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">=</span><span style="color: #DD0000">"hash\x22 size=\x2232\x22 value=\x22(?!Entry.*found.)(?'Result'.*)\x22/\x3e"</span><span style="color: #007700">></span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.md5.net/cracker.php</Website>
- <br></span><span style="color: #007700"></</span><span style="color: #0000BB">Websites</span><span style="color: #007700">>
- <br></span><span style="color: #0000BB"></span>
- </span>
- </code></code></div>
- </div><hr><br>
- O programa pode utilizado com os seguintes argumentos.<br>
- <br>
- <b>-?</b> Mostra a ajuda.<br>
- <b>-d #</b> decrypt hash.<br>
- <b>-e #</b> encrypt string.<br>
- <b>-b</b> soar um beep quando uma requisição terminar.<br>
- <b>-m #</b> numero maximo de threads simultaneas (Padrão 5).<br>
- <b>-t #</b> tempo maximo para aguardar uma requisição em segundos(Padrão 10).<br>
- <b>-x#</b> caminho do xml(Padrão Websites.xml).<br>
- <b>-a</b> mostrar todos os resultados(Por padrão só são mostrados os que ocorrem com sucesso).<br>
- <b>-s</b> mostra os erros caso ocorram invez da mensagem de não encontrado(Implica em -a).<br>
- <b>-o</b> mostra toda a saida da Regex.<br>
- <b>-r</b> mostra todo o codigo de resposta.<br>
- <br>
- <hr><br>
- <div style="text-align: center;"><a href="http://dl.dropbox.com/u/1227623/Downloads/Invaders/Md5%20cracker.zip" target="_blank" rel="nofollow"><img src="http://dl.dropbox.com/u/1227623/Imagens/download-icone.jpg" alt="" border="0"></a><br>
- <a href="http://dl.dropbox.com/u/1227623/Downloads/Invaders/Md5%20cracker.zip" target="_blank" rel="nofollow"><b>Download</b></a></div><br>
- <hr><br>
- Utilizei o <b>Delphi 7</b> com <b>PCRE</b> do <b>Jedi Vcl</b>.<br>
- <br>
- <div class="bbcode_container">
- <div class="bbcode_description">Código PHP:</div>
- <div class="bbcode_code" style="height:372px;"><code><code><span style="color: #000000">
- <span style="color: #0000BB">program Md5_Cracker</span><span style="color: #007700">;
- <br>
- <br>{</span><span style="color: #0000BB">$APPTYPE CONSOLE</span><span style="color: #007700">}
- <br>
- <br></span><span style="color: #0000BB">uses
- <br> SysUtils</span><span style="color: #007700">, </span><span style="color: #0000BB">StrUtils</span><span style="color: #007700">, </span><span style="color: #0000BB">Classes</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">IdHTTP</span><span style="color: #007700">, </span><span style="color: #0000BB">IdException</span><span style="color: #007700">, </span><span style="color: #0000BB">IdHashMessageDigest</span><span style="color: #007700">, </span><span style="color: #0000BB">IdHash</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">XMLDoc</span><span style="color: #007700">, </span><span style="color: #0000BB">XMLIntf</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">ComObj</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">JclPCRE</span><span style="color: #007700">;
- <br>
- <br></span><span style="color: #0000BB">type
- <br> TMethods </span><span style="color: #007700">= (</span><span style="color: #0000BB">mGet</span><span style="color: #007700">, </span><span style="color: #0000BB">mPost</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">TOptions </span><span style="color: #007700">= (</span><span style="color: #0000BB">oRegEx</span><span style="color: #007700">, </span><span style="color: #0000BB">oShowAll</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">oShowError</span><span style="color: #007700">, </span><span style="color: #0000BB">oShowHtml</span><span style="color: #007700">, </span><span style="color: #0000BB">oBeep</span><span style="color: #007700">,
- <br> </span><span style="color: #0000BB">oDecrypt</span><span style="color: #007700">, </span><span style="color: #0000BB">oEncrypt</span><span style="color: #007700">);
- <br>
- <br> </span><span style="color: #0000BB">TOptionSet </span><span style="color: #007700">= </span><span style="color: #0000BB">set of TOptions</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">TMd5Website </span><span style="color: #007700">= </span><span style="color: #0000BB">record
- <br> Url</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Field</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Method</span><span style="color: #007700">: </span><span style="color: #0000BB">TMethods</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">TMd5WebsiteArray </span><span style="color: #007700">= array </span><span style="color: #0000BB">of TMd5Website</span><span style="color: #007700">;
- <br>
- <br>var
- <br> </span><span style="color: #0000BB">Timeout</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte </span><span style="color: #007700">= </span><span style="color: #0000BB">10</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">MaxThread</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">XmlPath</span><span style="color: #007700">: </span><span style="color: #0000BB">string </span><span style="color: #007700">= </span><span style="color: #DD0000">'Websites.xml'</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Options</span><span style="color: #007700">: </span><span style="color: #0000BB">TOptionSet</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Hash</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">ToHash</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Current</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte</span><span style="color: #007700">;
- <br>
- <br>function </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">Str</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">; </span><span style="color: #0000BB">Size</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte </span><span style="color: #007700">= </span><span style="color: #0000BB">80</span><span style="color: #007700">): </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br> Writeln</span><span style="color: #007700">(</span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">' '</span><span style="color: #007700">, ((</span><span style="color: #0000BB">Size </span><span style="color: #007700">- </span><span style="color: #0000BB">Length</span><span style="color: #007700">(</span><span style="color: #0000BB">Str</span><span style="color: #007700">)) </span><span style="color: #0000BB">div 2</span><span style="color: #007700">)) + </span><span style="color: #0000BB">Str</span><span style="color: #007700">);
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br>function </span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #0000BB">Str</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">; </span><span style="color: #0000BB">Size</span><span style="color: #007700">: </span><span style="color: #0000BB">Smallint</span><span style="color: #007700">): </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Str </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">' '</span><span style="color: #007700">, </span><span style="color: #0000BB">Size </span><span style="color: #007700">- </span><span style="color: #0000BB">Length</span><span style="color: #007700">(</span><span style="color: #0000BB">Str</span><span style="color: #007700">));
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br></span><span style="color: #0000BB">procedure LoadXml</span><span style="color: #007700">(var </span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">: </span><span style="color: #0000BB">TMd5WebsiteArray</span><span style="color: #007700">);
- <br>var
- <br> </span><span style="color: #0000BB">Xml</span><span style="color: #007700">: </span><span style="color: #0000BB">IXMLDocument</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Node</span><span style="color: #007700">: </span><span style="color: #0000BB">IXMLNode</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">I</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br> CoInitializeEx</span><span style="color: #007700">(</span><span style="color: #0000BB">nil</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);
- <br>
- <br> </span><span style="color: #0000BB">Xml</span><span style="color: #007700">:= </span><span style="color: #0000BB">LoadXMLDocument</span><span style="color: #007700">(</span><span style="color: #0000BB">XmlPath</span><span style="color: #007700">);
- <br>
- <br> if(</span><span style="color: #0000BB">Xml</span><span style="color: #007700">.</span><span style="color: #0000BB">DocumentElement</span><span style="color: #007700">.</span><span style="color: #0000BB">NodeName </span><span style="color: #007700">= </span><span style="color: #DD0000">'Websites'</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> SetLength</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">, </span><span style="color: #0000BB">Xml</span><span style="color: #007700">.</span><span style="color: #0000BB">DocumentElement</span><span style="color: #007700">.</span><span style="color: #0000BB">ChildNodes</span><span style="color: #007700">.</span><span style="color: #0000BB">Count</span><span style="color: #007700">);
- <br>
- <br> for </span><span style="color: #0000BB">I</span><span style="color: #007700">:= </span><span style="color: #0000BB">0 to Xml</span><span style="color: #007700">.</span><span style="color: #0000BB">DocumentElement</span><span style="color: #007700">.</span><span style="color: #0000BB">ChildNodes</span><span style="color: #007700">.</span><span style="color: #0000BB">Count </span><span style="color: #007700">-</span><span style="color: #0000BB">1 </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> Node</span><span style="color: #007700">:= </span><span style="color: #0000BB">Xml</span><span style="color: #007700">.</span><span style="color: #0000BB">DocumentElement</span><span style="color: #007700">.</span><span style="color: #0000BB">ChildNodes</span><span style="color: #007700">[</span><span style="color: #0000BB">I</span><span style="color: #007700">];
- <br>
- <br> </span><span style="color: #0000BB">with Md5WebList</span><span style="color: #007700">[</span><span style="color: #0000BB">I</span><span style="color: #007700">] do
- <br> </span><span style="color: #0000BB">begin
- <br> Url</span><span style="color: #007700">:= </span><span style="color: #0000BB">AnsiReplaceText</span><span style="color: #007700">(</span><span style="color: #0000BB">Node</span><span style="color: #007700">.</span><span style="color: #0000BB">Text</span><span style="color: #007700">, </span><span style="color: #DD0000">'Http://'</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Field</span><span style="color: #007700">:= </span><span style="color: #0000BB">Node</span><span style="color: #007700">.</span><span style="color: #0000BB">Attributes</span><span style="color: #007700">[</span><span style="color: #DD0000">'Field'</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">RegEx</span><span style="color: #007700">:= </span><span style="color: #0000BB">Node</span><span style="color: #007700">.</span><span style="color: #0000BB">Attributes</span><span style="color: #007700">[</span><span style="color: #DD0000">'RegEx'</span><span style="color: #007700">];
- <br>
- <br> if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Node</span><span style="color: #007700">.</span><span style="color: #0000BB">Attributes</span><span style="color: #007700">[</span><span style="color: #DD0000">'Method'</span><span style="color: #007700">], </span><span style="color: #DD0000">'Get'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Method</span><span style="color: #007700">:= </span><span style="color: #0000BB">mGet</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else
- <br> </span><span style="color: #0000BB">begin
- <br> Method</span><span style="color: #007700">:= </span><span style="color: #0000BB">mPost</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Xml</span><span style="color: #007700">:= </span><span style="color: #0000BB">nil</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br>function </span><span style="color: #0000BB">CheckOnWebSite</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5Website</span><span style="color: #007700">: </span><span style="color: #0000BB">Pointer</span><span style="color: #007700">): </span><span style="color: #0000BB">Integer</span><span style="color: #007700">;
- <br>var
- <br> </span><span style="color: #0000BB">Http</span><span style="color: #007700">: </span><span style="color: #0000BB">TIdHTTP</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Response</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Reg</span><span style="color: #007700">: </span><span style="color: #0000BB">TJclRegEx</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Args</span><span style="color: #007700">: </span><span style="color: #0000BB">TStringList</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">HashResult</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">UrlSplit</span><span style="color: #007700">: </span><span style="color: #0000BB">TStringList</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br>
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">0</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Http</span><span style="color: #007700">:= </span><span style="color: #0000BB">TIdHTTP</span><span style="color: #007700">.</span><span style="color: #0000BB">Create</span><span style="color: #007700">(</span><span style="color: #0000BB">nil</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Reg</span><span style="color: #007700">:= </span><span style="color: #0000BB">TJclRegEx</span><span style="color: #007700">.</span><span style="color: #0000BB">Create</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">UrlSplit</span><span style="color: #007700">:= </span><span style="color: #0000BB">TStringList</span><span style="color: #007700">.</span><span style="color: #0000BB">Create</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Http</span><span style="color: #007700">.</span><span style="color: #0000BB">ReadTimeout</span><span style="color: #007700">:= </span><span style="color: #0000BB">Timeout </span><span style="color: #007700">* </span><span style="color: #0000BB">1000</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">with TMd5Website</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5Website</span><span style="color: #007700">^) do
- <br> </span><span style="color: #0000BB">begin
- <br> </span><span style="color: #007700">try
- <br> if(</span><span style="color: #0000BB">Method </span><span style="color: #007700">= </span><span style="color: #0000BB">mGet</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Response</span><span style="color: #007700">:= </span><span style="color: #0000BB">Http</span><span style="color: #007700">.</span><span style="color: #0000BB">Get</span><span style="color: #007700">(</span><span style="color: #DD0000">'Http://' </span><span style="color: #007700">+ </span><span style="color: #0000BB">Url </span><span style="color: #007700">+ </span><span style="color: #0000BB">Field </span><span style="color: #007700">+ </span><span style="color: #DD0000">'=' </span><span style="color: #007700">+ </span><span style="color: #0000BB">Hash</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else
- <br> </span><span style="color: #0000BB">begin
- <br> Args</span><span style="color: #007700">:= </span><span style="color: #0000BB">TStringList</span><span style="color: #007700">.</span><span style="color: #0000BB">Create</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Args</span><span style="color: #007700">.</span><span style="color: #0000BB">Add</span><span style="color: #007700">(</span><span style="color: #0000BB">Field </span><span style="color: #007700">+ </span><span style="color: #DD0000">'=' </span><span style="color: #007700">+ </span><span style="color: #0000BB">Hash</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Response</span><span style="color: #007700">:= </span><span style="color: #0000BB">Http</span><span style="color: #007700">.</span><span style="color: #0000BB">Post</span><span style="color: #007700">(</span><span style="color: #DD0000">'Http://' </span><span style="color: #007700">+ </span><span style="color: #0000BB">Url</span><span style="color: #007700">, </span><span style="color: #0000BB">Args</span><span style="color: #007700">);
- <br>
- <br> </span><span style="color: #0000BB">Args</span><span style="color: #007700">.</span><span style="color: #0000BB">Free</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Reg</span><span style="color: #007700">.</span><span style="color: #0000BB">Options</span><span style="color: #007700">:= [</span><span style="color: #0000BB">roIgnoreCase</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">Reg</span><span style="color: #007700">.</span><span style="color: #0000BB">Compile</span><span style="color: #007700">(</span><span style="color: #0000BB">RegEx</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">, </span><span style="color: #0000BB">false</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Reg</span><span style="color: #007700">.</span><span style="color: #0000BB">Match</span><span style="color: #007700">(</span><span style="color: #0000BB">Response</span><span style="color: #007700">);
- <br>
- <br> if(</span><span style="color: #0000BB">Reg</span><span style="color: #007700">.</span><span style="color: #0000BB">CaptureNameCount </span><span style="color: #007700">> </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> HashResult</span><span style="color: #007700">:= </span><span style="color: #0000BB">Reg</span><span style="color: #007700">.</span><span style="color: #0000BB">NamedCaptures</span><span style="color: #007700">[</span><span style="color: #DD0000">'Result'</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">except
- <br> on E</span><span style="color: #007700">: </span><span style="color: #0000BB">EIdConnectTimeOut </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> HashResult</span><span style="color: #007700">:= </span><span style="color: #DD0000">'Time out'</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">on E</span><span style="color: #007700">:</span><span style="color: #0000BB">EPCREError </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> </span><span style="color: #007700">if(</span><span style="color: #0000BB">E</span><span style="color: #007700">.</span><span style="color: #0000BB">ErrorCode </span><span style="color: #007700">= -</span><span style="color: #0000BB">1</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> HashResult</span><span style="color: #007700">:= </span><span style="color: #DD0000">'Not Found'</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">on E</span><span style="color: #007700">: </span><span style="color: #0000BB">Exception </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> HashResult</span><span style="color: #007700">:= </span><span style="color: #0000BB">Trim</span><span style="color: #007700">(</span><span style="color: #0000BB">E</span><span style="color: #007700">.</span><span style="color: #0000BB">Message</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> if(</span><span style="color: #0000BB">HashResult </span><span style="color: #007700">= </span><span style="color: #DD0000">''</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> HashResult</span><span style="color: #007700">:= </span><span style="color: #DD0000">'Not Found'</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> if(</span><span style="color: #0000BB">not</span><span style="color: #007700">((</span><span style="color: #0000BB">HashResult </span><span style="color: #007700">= </span><span style="color: #DD0000">'Not Found'</span><span style="color: #007700">) and </span><span style="color: #0000BB">not</span><span style="color: #007700">(</span><span style="color: #0000BB">oShowAll in Options</span><span style="color: #007700">)))</span><span style="color: #0000BB">then
- <br> begin
- <br> ExtractStrings</span><span style="color: #007700">( [</span><span style="color: #DD0000">'/'</span><span style="color: #007700">, </span><span style="color: #DD0000">'\'], [], PChar(Url), UrlSplit);
- <br> WriteCenterln('</span><span style="color: #0000BB">³ </span><span style="color: #DD0000">' + FillTo(UrlSplit[0], 24) + '</span><span style="color: #0000BB">³ </span><span style="color: #DD0000">' + FillTo(HashResult, 49) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br>
- <br> if(oBeep in Options)then
- <br> begin
- <br> Beep;
- <br> end;
- <br>
- <br> if(oRegEx in Options)then
- <br> begin
- <br> WriteCenterln('</span><span style="color: #0000BB">Ã</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 25) + '</span><span style="color: #0000BB">Á</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 50) + '</span><span style="color: #0000BB">´</span><span style="color: #DD0000">');
- <br> try
- <br> WriteCenterln('</span><span style="color: #0000BB">³ </span><span style="color: #DD0000">' + FillTo(Reg.Captures[0], 75) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> except
- <br> on E: Exception do
- <br> begin
- <br> WriteCenterln('</span><span style="color: #0000BB">³ </span><span style="color: #DD0000">' + FillTo('</span><span style="color: #0000BB">Error </span><span style="color: #DD0000">' + E.message, 75) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> end;
- <br> end;
- <br> WriteCenterln('</span><span style="color: #0000BB">Ã</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 25) + '</span><span style="color: #0000BB">Â</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 50) + '</span><span style="color: #0000BB">´</span><span style="color: #DD0000">');
- <br> end;
- <br>
- <br> if(oShowHtml in Options)then
- <br> begin
- <br> WriteCenterln('</span><span style="color: #0000BB">Ã</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 25) + '</span><span style="color: #0000BB">Á</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 50) + '</span><span style="color: #0000BB">´</span><span style="color: #DD0000">');
- <br> Writeln(Response);
- <br> WriteCenterln('</span><span style="color: #0000BB">Ã</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 25) + '</span><span style="color: #0000BB">Â</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 50) + '</span><span style="color: #0000BB">´</span><span style="color: #DD0000">');
- <br> end;
- <br> end;
- <br>
- <br> Current:= Current +1;
- <br> end;
- <br>
- <br> Http.Free;
- <br> Reg.Free;
- <br> UrlSplit.Free;
- <br>end;
- <br>
- <br>function GetMd5Hash(Hash: string): string;
- <br>var
- <br> Md5Digest: TIdHashMessageDigest5;
- <br> Hash4x4: T4x4LongWordRecord;
- <br>begin
- <br> Md5Digest:= TIdHashMessageDigest5.Create;
- <br> Hash4x4:= Md5Digest.HashValue(Hash);
- <br> Md5Digest.Free;
- <br> Result:= Md5Digest.AsHex(Hash4x4);
- <br>end;
- <br>
- <br>procedure ShowHelp;
- <br>begin
- <br> WriteCenterln('</span><span style="color: #0000BB">Ú</span><span style="color: #DD0000">' + DupeString('</span><span style="color: #0000BB">Ä</span><span style="color: #DD0000">', 76) + '</span><span style="color: #0000BB">¿</span><span style="color: #DD0000">');
- <br> WriteCenterln(FillTo('</span><span style="color: #0000BB">³ </span><span style="color: #007700">-? </span><span style="color: #0000BB">display this help</span><span style="color: #DD0000">', 77) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> WriteCenterln(FillTo('</span><span style="color: #0000BB">³ </span><span style="color: #007700">-</span><span style="color: #0000BB">d decrypt string</span><span style="color: #DD0000">', 77) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> WriteCenterln(FillTo('</span><span style="color: #0000BB">³ </span><span style="color: #007700">-</span><span style="color: #0000BB">e encrypt string</span><span style="color: #DD0000">', 77) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> WriteCenterln(FillTo('</span><span style="color: #0000BB">³ </span><span style="color: #007700">-</span><span style="color: #0000BB">b beep</span><span style="color: #DD0000">', 77) + '</span><span style="color: #0000BB">³</span><span style="color: #DD0000">');
- <br> WriteCenterln(FillTo('</span><span style="color: #0000BB">³ </span><span style="color: #007700">-</span><span style="color: #0000BB">m </span><span style="color: #FF8000"># number of threads', 77) + '³');
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -t # response timeout'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -x # xml path'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -a show all results'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -s show errors instead "Not Found" message'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -o show complete Regex output'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ -r show complete Response output'</span><span style="color: #007700">, </span><span style="color: #0000BB">77</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'À' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">76</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Ù'</span><span style="color: #007700">);
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br>function </span><span style="color: #0000BB">ParseArgs</span><span style="color: #007700">: </span><span style="color: #0000BB">TOptionSet</span><span style="color: #007700">;
- <br>var
- <br> </span><span style="color: #0000BB">I</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Param</span><span style="color: #007700">: </span><span style="color: #0000BB">string</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br> Result</span><span style="color: #007700">:= [];
- <br> </span><span style="color: #0000BB">I</span><span style="color: #007700">:= </span><span style="color: #0000BB">1</span><span style="color: #007700">;
- <br>
- <br> while(</span><span style="color: #0000BB">not</span><span style="color: #007700">(</span><span style="color: #0000BB">I </span><span style="color: #007700">= </span><span style="color: #0000BB">ParamCount</span><span style="color: #007700">)) do
- <br> </span><span style="color: #0000BB">begin
- <br> </span><span style="color: #007700">try
- <br> </span><span style="color: #0000BB">Param</span><span style="color: #007700">:= </span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">I</span><span style="color: #007700">:= </span><span style="color: #0000BB">I </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">;
- <br>
- <br> if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-m'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> MaxThread</span><span style="color: #007700">:= </span><span style="color: #0000BB">StrToInt</span><span style="color: #007700">(</span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">));
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-t'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Timeout</span><span style="color: #007700">:= </span><span style="color: #0000BB">StrToInt</span><span style="color: #007700">(</span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">));
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-x'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> XmlPath</span><span style="color: #007700">:= </span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-d'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oDecrypt</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">Hash</span><span style="color: #007700">:= </span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-e'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oEncrypt</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">ToHash</span><span style="color: #007700">:= </span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-b'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oBeep</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-a'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oShowAll</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-s'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oShowError</span><span style="color: #007700">, </span><span style="color: #0000BB">oShowAll</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-o'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oRegEx</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-r'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> Result</span><span style="color: #007700">:= </span><span style="color: #0000BB">Result </span><span style="color: #007700">+ [</span><span style="color: #0000BB">oShowHtml</span><span style="color: #007700">];
- <br> </span><span style="color: #0000BB">end
- <br> </span><span style="color: #007700">else if(</span><span style="color: #0000BB">CompareText</span><span style="color: #007700">(</span><span style="color: #0000BB">Param</span><span style="color: #007700">, </span><span style="color: #DD0000">'-?'</span><span style="color: #007700">) = </span><span style="color: #0000BB">0</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> ShowHelp</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">except
- <br> Result</span><span style="color: #007700">:= [];
- <br> </span><span style="color: #0000BB">Writeln</span><span style="color: #007700">(</span><span style="color: #DD0000">'Argument parse error ignored ' </span><span style="color: #007700">+ </span><span style="color: #0000BB">ParamStr</span><span style="color: #007700">(</span><span style="color: #0000BB">I</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">) + </span><span style="color: #DD0000">'.'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Writeln</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br>var
- <br> </span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">: </span><span style="color: #0000BB">TMd5WebsiteArray</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">I</span><span style="color: #007700">: </span><span style="color: #0000BB">Byte</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">Tid</span><span style="color: #007700">: </span><span style="color: #0000BB">Cardinal</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">begin
- <br> WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'º Md5 Hash Cracker º'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'º º'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'º By Hacker_wap º'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'º Http://Forum-Invaders.com.br º'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">Writeln</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Options</span><span style="color: #007700">:= </span><span style="color: #0000BB">ParseArgs</span><span style="color: #007700">;
- <br>
- <br> try
- <br> if(</span><span style="color: #0000BB">oDecrypt in Options</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> LoadXml</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">);
- <br>
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ú' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">25</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Â' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">) + </span><span style="color: #DD0000">'¿'</span><span style="color: #007700">);
- <br>
- <br> for </span><span style="color: #0000BB">I</span><span style="color: #007700">:= </span><span style="color: #0000BB">0 to Length</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">) -</span><span style="color: #0000BB">1 </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> </span><span style="color: #007700">while((</span><span style="color: #0000BB">I </span><span style="color: #007700">- </span><span style="color: #0000BB">Current</span><span style="color: #007700">) > </span><span style="color: #0000BB">MaxThread</span><span style="color: #007700">) do
- <br> </span><span style="color: #0000BB">begin
- <br> Sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">BeginThread</span><span style="color: #007700">(</span><span style="color: #0000BB">nil</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, @</span><span style="color: #0000BB">CheckOnWebSite</span><span style="color: #007700">, @</span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">[</span><span style="color: #0000BB">I</span><span style="color: #007700">], </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">Tid</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">repeat
- <br> Sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">100</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">until</span><span style="color: #007700">(</span><span style="color: #0000BB">Current </span><span style="color: #007700">= </span><span style="color: #0000BB">Length</span><span style="color: #007700">(</span><span style="color: #0000BB">Md5WebList</span><span style="color: #007700">));
- <br>
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'À' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">25</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Á' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Ù'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> if(</span><span style="color: #0000BB">oEncrypt in Options</span><span style="color: #007700">)</span><span style="color: #0000BB">then
- <br> begin
- <br> WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ú' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">42</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Â' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">33</span><span style="color: #007700">) + </span><span style="color: #DD0000">'¿'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'³ ' </span><span style="color: #007700">+ </span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #DD0000">'Hash of "' </span><span style="color: #007700">+ </span><span style="color: #0000BB">ToHash </span><span style="color: #007700">+ </span><span style="color: #DD0000">'"'</span><span style="color: #007700">, </span><span style="color: #0000BB">41</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³ ' </span><span style="color: #007700">+ </span><span style="color: #0000BB">FillTo</span><span style="color: #007700">(</span><span style="color: #0000BB">GetMd5Hash</span><span style="color: #007700">(</span><span style="color: #0000BB">ToHash</span><span style="color: #007700">), </span><span style="color: #0000BB">32</span><span style="color: #007700">) + </span><span style="color: #DD0000">'³'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">WriteCenterln</span><span style="color: #007700">(</span><span style="color: #DD0000">'À' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">42</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Á' </span><span style="color: #007700">+ </span><span style="color: #0000BB">DupeString</span><span style="color: #007700">(</span><span style="color: #DD0000">'Ä'</span><span style="color: #007700">, </span><span style="color: #0000BB">33</span><span style="color: #007700">) + </span><span style="color: #DD0000">'Ù'</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">except
- <br> on E</span><span style="color: #007700">: </span><span style="color: #0000BB">Exception </span><span style="color: #007700">do
- <br> </span><span style="color: #0000BB">begin
- <br> Writeln</span><span style="color: #007700">(</span><span style="color: #DD0000">'Error: ' </span><span style="color: #007700">+ </span><span style="color: #0000BB">E</span><span style="color: #007700">.</span><span style="color: #0000BB">Message</span><span style="color: #007700">);
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br> </span><span style="color: #0000BB">end</span><span style="color: #007700">;
- <br>
- <br> </span><span style="color: #0000BB">Readln</span><span style="color: #007700">;
- <br></span><span style="color: #0000BB">end</span><span style="color: #007700">.
- <br></span><span style="color: #0000BB"></span>
- </span>
- </code></code></div>
- </div>O codigo não ficou bom porque tive alguns problemas porem mesmo assim quiz terminar, talvez seja util á alguem <img src="images/smilies/smile.gif" alt="" title="Sorrindo" class="inlineimg" border="0">.<br>
- Estou morrendo de sono então não sei se ficou algum bug.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement