RyuzakiH / CloudflareSolverRe

Cloudflare Javascript & reCaptcha challenge (I'm Under Attack Mode or IUAM) solving / bypass .NET Standard library.
MIT License
179 stars 49 forks source link

Regex Pattern in /Types/Javascript/JsChallenge.cs Doesn't Work for Certain Site #3

Closed raymond-u closed 5 years ago

raymond-u commented 5 years ago

private static readonly Regex JsChallengeRegex = new Regex(@"<script.*?>(?<script>.*?var s,t,o,p,b,r,e,a,k,i,n,g,\w, (?<className>\w+?)={""(?<propName>\w+?)"":(?<propValue>.*?)};.*?(?<calculations>\s*?\w+?\.\w+?[+\-*\/]=(?:(?<normal>(?:\+|\(|\)|\!|\[|\]|\/)+?;)|(?<charCode>(?:\+|\(|\)|\!|\[|\]|\/)+?\(function.*?}\(.*?\)\)\);)|(?<cfdn>function\(.\)\{var.*?;\s.*?;)))+.*?a\.value\s=\s\(\+\w+\.\w+(\s\+\s(?<addHostLength>t\.length))*?\)\.toFixed\((?<round>\d+)\);.*?},\s*(?<delay>\d+)\);.*?)<\/script>.*?<form.+?action=""(?<action>\S+?)"".*?>.*?name=""s"" value=""(?<s>\S+)"".*?name=""jschl_vc"" value=""(?<jschl_vc>[a-z0-9]{32})"".*?name=""pass"" value=""(?<pass>\S+?)"".*?(id=""cf-dn-\S+"">(?<cf_dn>.*?)</div>){0,1}\s+</div>.*?<div class=""attribution"">", RegexOptions.Singleline);

Some site (for example, https://steamdb.info/) does not include the \

part. So remove it from the regex expression may be a good point.

RyuzakiH commented 5 years ago

Thanks for your report, it's very descriptive and it helped a lot. I updated the regex as you advised, i think it worked. Test it in version 1.0.5, it should be working now.