درورد
اینم قسمت سختش کدC#

using System.IO;
using System.Net;
using System.Text;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System.Runtime.CompilerServices;
public class pagerank
{
private const int GOOGLE_MAGIC = -432694688;
private byte C_PageRank;
public pagerank(string webSiteUrl)
{
PR(webSiteUrl);
}
public string PageRank {
get { return C_PageRank; }
}
private void PR(string webSiteUrl)
{
WebClient read = new WebClient();
string result;
UTF8Encoding enc = new UTF8Encoding();
try {
string reader = enc.GetString(read.DownloadData(GetRankUrl(webSite Url)));
if (reader != "") {
result = reader.Substring(reader.Length - 3, 2);
result = result.Replace(":", "");
}
else {
result = "0";
}
}
catch (Exception ex) {
result = "0";
}
C_PageRank = result;
}
private static string GetRankUrl(string webSiteUrl)
{
string str2 = ("info:" + webSiteUrl);
return ("http://www.google.com/search?client=navclient-auto&ch=" + CalculateChecksum(webSiteUrl) + "&features=Rank&q=" + str2);
}
private static object GoogleCH(object sURL)
{
object v_obj;
object v_obj1;
object v_obj2;
object v_obj4;
object v_obj6;
object v_obj7;
object v_obj8;
object[] v_arrobj;
object v_obj5 = Microsoft.VisualBasic.Strings.Len(sURL);
v_obj = -1640531527;
v_obj1 = -1640531527;
v_obj2 = GOOGLE_MAGIC;
v_obj6 = 0;
v_obj4 = v_obj5;
while (ObjectType.ObjTst(v_obj4, 12, false) >= 0) {
v_obj = uadd(v_obj, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 0)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24)))));
v_obj1 = uadd(v_obj1, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 4)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24)))));
v_obj2 = uadd(v_obj2, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 8)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 11)), 24)))));
v_obj7 = mix(v_obj, v_obj1, v_obj2);
v_arrobj = new object[] {0};
v_obj = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
v_arrobj = new object[] {1};
v_obj1 = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
v_arrobj = new object[] {2};
v_obj2 = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
v_obj6 = ObjectType.AddObj(v_obj6, 12);
v_obj4 = ObjectType.SubObj(v_obj4, 12);
}
v_obj2 = uadd(v_obj2, v_obj5);
v_obj8 = v_obj4;
if (ObjectType.ObjTst(v_obj8, 11, false) == 0) {
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 24));
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16));
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 10, false) == 0) {
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16));
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 9, false) == 0) {
v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 8, false) == 0) {
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 7, false) == 0) {
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 6, false) == 0) {
v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 5, false) == 0) {
v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 4, false) == 0) {
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 3, false) == 0) {
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 2, false) == 0) {
v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
else {
if (ObjectType.ObjTst(v_obj8, 1, false) == 0) {
v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
}
}
}
}
}
}
}
}
}
}
}
v_obj7 = mix(v_obj, v_obj1, v_obj2);
v_arrobj = new object[] {2};
return LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
}
private static object uadd(object L1, object L2)
{
object obj2 = ObjectType.BitAndObj(L1, 16777215);
object obj3 = ObjectType.IDivObj(ObjectType.BitAndObj(L1, 2130706432), 16777216);
if ((ObjectType.ObjTst(L1, 0, false) < 0)) {
obj3 = ObjectType.BitOrObj(obj3, 128);
}
object obj4 = ObjectType.BitAndObj(L2, 16777215);
object obj5 = ObjectType.IDivObj(ObjectType.BitAndObj(L2, 2130706432), 16777216);
if ((ObjectType.ObjTst(L2, 0, false) < 0)) {
obj5 = ObjectType.BitOrObj(obj5, 128);
}
object obj7 = ObjectType.AddObj(obj3, obj5);
object obj6 = ObjectType.AddObj(obj2, obj4);
if (BooleanType.FromObject(ObjectType.BitAndObj(obj6, 16777216))) {
obj7 = ObjectType.AddObj(obj7, 1);
}
object obj8 = ObjectType.AddObj(ObjectType.BitAndObj(obj6, 16777215), ObjectType.MulObj(ObjectType.BitAndObj(obj7, 127), 16777216));
if (BooleanType.FromObject(ObjectType.BitAndObj(obj7, 128))) {
obj8 = ObjectType.BitOrObj(obj8, -2147483648l);
}
return obj8;
}
private static string CalculateChecksum(string sURL)
{
return ("6" + StringType.FromObject(ReinterpretSignedAsUnsigned( RuntimeHelpers.GetObjectValue(GoogleCH(("info:" + sURL))))));
}
private static object gc(object s, object i)
{
return Strings.Asc(Strings.Mid(StringType.FromObject(s), IntegerType.FromObject(ObjectType.AddObj(i, 1)), 1));
}
private static object sl(object x, object n)
{
if ((ObjectType.ObjTst(n, 0, false) == 0)) {
return RuntimeHelpers.GetObjectValue(x);
}
object obj5 = LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(32, n), 1)));
object obj3 = ObjectType.MulObj(ObjectType.BitAndObj(x, ObjectType.SubObj(obj5, 1)), LongType.FromObject(ObjectType.PowObj(2, n)));
if (BooleanType.FromObject(ObjectType.BitAndObj(x, obj5))) {
obj3 = ObjectType.BitOrObj(obj3, -2147483648l);
}
return RuntimeHelpers.GetObjectValue(obj3);
}
private static object mix(object ia, object ib, object ic)
{
object v_obj = ia;
object v_obj1 = ib;
object v_obj2 = ic;
v_obj = usub(v_obj, v_obj1);
v_obj = usub(v_obj, v_obj2);
v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 13));
v_obj1 = usub(v_obj1, v_obj2);
v_obj1 = usub(v_obj1, v_obj);
v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 8));
v_obj2 = usub(v_obj2, v_obj);
v_obj2 = usub(v_obj2, v_obj1);
v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 13));
v_obj = usub(v_obj, v_obj1);
v_obj = usub(v_obj, v_obj2);
v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 12));
v_obj1 = usub(v_obj1, v_obj2);
v_obj1 = usub(v_obj1, v_obj);
v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 16));
v_obj2 = usub(v_obj2, v_obj);
v_obj2 = usub(v_obj2, v_obj1);
v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 5));
v_obj = usub(v_obj, v_obj1);
v_obj = usub(v_obj, v_obj2);
v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 3));
v_obj1 = usub(v_obj1, v_obj2);
v_obj1 = usub(v_obj1, v_obj);
v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 10));
v_obj2 = usub(v_obj2, v_obj);
v_obj2 = usub(v_obj2, v_obj1);
v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 15));
return new object[] {v_obj, v_obj1, v_obj2, null};
}
private static object ReinterpretSignedAsUnsigned(object x)
{
if ((ObjectType.ObjTst(x, 0, false) < 0)) {
x = ObjectType.AddObj(x, 4294967296l);
}
return RuntimeHelpers.GetObjectValue(x);
}
private static object usub(object L1, object L2)
{
object obj2 = ObjectType.BitAndObj(L1, 16777215);
object obj3 = ObjectType.IDivObj(ObjectType.BitAndObj(L1, 2130706432), 16777216);
if ((ObjectType.ObjTst(L1, 0, false) < 0)) {
obj3 = ObjectType.BitOrObj(obj3, 128);
}
object obj4 = ObjectType.BitAndObj(L2, 16777215);
object obj5 = ObjectType.IDivObj(ObjectType.BitAndObj(L2, 2130706432), 16777216);
if ((ObjectType.ObjTst(L2, 0, false) < 0)) {
obj5 = ObjectType.BitOrObj(obj5, 128);
}
object obj7 = ObjectType.SubObj(obj3, obj5);
object obj6 = ObjectType.SubObj(obj2, obj4);
if ((ObjectType.ObjTst(obj6, 0, false) < 0)) {
obj7 = ObjectType.SubObj(obj7, 1);
obj6 = ObjectType.AddObj(obj6, 16777216);
}
object obj8 = ObjectType.AddObj(obj6, ObjectType.MulObj(ObjectType.BitAndObj(obj7, 127), 16777216));
if (BooleanType.FromObject(ObjectType.BitAndObj(obj7, 128))) {
obj8 = ObjectType.BitOrObj(obj8, -2147483648l);
}
return obj8;
}
private static object zeroFill(object a, object b)
{
object objectValue;
if (BooleanType.FromObject(ObjectType.BitAndObj(-2147483648l, a))) {
objectValue = sr(ObjectType.BitOrObj(ObjectType.BitAndObj(sr(a, 1), 2147483647), 1073741824), ObjectType.SubObj(b, 1));
}
else {
objectValue = sr(a, RuntimeHelpers.GetObjectValue(b));
}
return objectValue;
}
private static object sr(object x, object n)
{
object obj4;
if ((ObjectType.ObjTst(n, 0, false) == 0)) {
return RuntimeHelpers.GetObjectValue(x);
}
object obj3 = ObjectType.BitAndObj(x, 2147483647);
if ((ObjectType.ObjTst(n, 31, false) == 0)) {
obj4 = 0;
}
else {
obj4 = ObjectType.IDivObj(obj3, LongType.FromObject(ObjectType.PowObj(2, n)));
}
if ((ObjectType.ObjTst(obj3, x, false) != 0)) {
obj4 = ObjectType.BitOrObj(obj4, LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(32, n), 1))));
}
return RuntimeHelpers.GetObjectValue(obj4);
}
}
پیروز و نیک باشید