新云软件园:请安心下载,绿色无病毒!

软件提交最近更新热门排行
您现在的位置:首页››编程教学››.NET编程››.NET基础

google pagerank checksum算法

2005-06-16 01:53作者:佚名来源:本站整理浏览:774 评论:0
原来网上早就有了checksum的相关破解,下面试checksum的汇编代码和vb版的破解。

目前我所用的就是vb版的checksum代码。



checksum的汇编代码:

GOOGLECHECK proc near

var_8 = dword ptr -8
var_4 = dword ptr -4
url_offset = dword ptr  8
url_length = dword ptr  0Ch
magic_dword = dword ptr  10h

push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+url_length]
cmp eax, 0Ch
push ebx
push esi
mov esi, [ebp+magic_dword] ; = 0xE6359A60
push edi
mov edi, 9E3779B9h ; derived from the golden number, hi TEA ;)
mov ebx, edi
mov [ebp+var_4], eax
jb jump_1
push 0Ch
pop ecx
xor edx, edx
div ecx
mov ecx, [ebp+url_offset]
mov [ebp+var_8], eax

loop_1:
movzx eax, byte ptr [ecx+7]
movzx edx, byte ptr [ecx+6]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+5]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+4]
add edx, edi
shl eax, 8
lea edi, [edx+eax]
movzx eax, byte ptr [ecx+0Bh]
movzx edx, byte ptr [ecx+0Ah]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+9]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+8]
add edx, esi
shl eax, 8
lea esi, [edx+eax]
movzx edx, byte ptr [ecx+3]
movzx eax, byte ptr [ecx+2]
shl edx, 8
add edx, eax
movzx eax, byte ptr [ecx+1]
shl edx, 8
add edx, eax
movzx eax, byte ptr [ecx]
shl edx, 8
add edx, eax
sub edx, edi
sub edx, esi
mov eax, esi
shr eax, 0Dh
add edx, ebx
xor edx, eax
sub edi, edx
sub edi, esi
mov eax, edx
shl eax, 8
xor edi, eax
sub esi, edi
sub esi, edx
mov eax, edi
shr eax, 0Dh
xor esi, eax
sub edx, edi
sub edx, esi
mov eax, esi
shr eax, 0Ch
xor edx, eax
sub edi, edx
sub edi, esi
mov eax, edx
shl eax, 10h
xor edi, eax
sub esi, edi
sub [ebp+var_4], 0Ch
sub esi, edx
mov eax, edi
shr eax, 5
xor esi, eax
sub edx, edi
mov eax, esi
shr eax, 3
sub edx, esi
xor edx, eax
mov ebx, edx
sub edi, ebx
sub edi, esi
mov eax, ebx
shl eax, 0Ah
xor edi, eax
sub esi, edi
mov eax, edi
sub esi, ebx
shr eax, 0Fh
xor esi, eax
add ecx, 0Ch
dec [ebp+var_8]
jnz loop_1
jmp short jump_2

jump_1:
mov ecx, [ebp+url_offset]

jump_2:
add esi, [ebp+url_length]
mov eax, [ebp+var_4]
dec eax
cmp eax, 0Ah ; switch 11 cases
ja defaultswitch ; default
jmp ds:off_100307EA[eax*4] ; switch jump

switch_10:
movzx eax, byte ptr [ecx+0Ah] ; case 0xA
shl eax, 18h
add esi, eax

switch_9:
movzx eax, byte ptr [ecx+9] ; case 0x9
shl eax, 10h
add esi, eax

switch_8:
movzx eax, byte ptr [ecx+8] ; case 0x8
shl eax, 8
add esi, eax

switch_7:
movzx eax, byte ptr [ecx+7] ; case 0x7
movzx edx, byte ptr [ecx+6]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+5]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+4]
shl eax, 8
add edx, edi
lea edi, [edx+eax]
jmp short switch_3 ; case 0x3

switch_6:
movzx eax, byte ptr [ecx+6] ; case 0x6
shl eax, 10h
add edi, eax

switch_5:
movzx eax, byte ptr [ecx+5] ; case 0x5
shl eax, 8
add edi, eax

switch_4:
movzx eax, byte ptr [ecx+4] ; case 0x4
add edi, eax

switch_3:
movzx eax, byte ptr [ecx+3] ; case 0x3
movzx edx, byte ptr [ecx+2]
shl eax, 8
add eax, edx
movzx edx, byte ptr [ecx+1]
movzx ecx, byte ptr [ecx]
shl eax, 8
add eax, edx
shl eax, 8
add ecx, ebx
lea ebx, [ecx+eax]
jmp short defaultswitch ; default

switch_2:
movzx eax, byte ptr [ecx+2] ; case 0x2
shl eax, 10h
add ebx, eax

switch_1:
movzx eax, byte ptr [ecx+1] ; case 0x1
shl eax, 8
add ebx, eax

switch_0:
movzx eax, byte ptr [ecx] ; case 0x0
add ebx, eax

defaultswitch:
sub ebx, edi ; default
sub ebx, esi
mov eax, esi
shr eax, 0Dh
xor ebx, eax
sub edi, ebx
sub edi, esi
mov eax, ebx
shl eax, 8
xor edi, eax
sub esi, edi
sub esi, ebx
mov eax, edi
shr eax, 0Dh
xor esi, eax
sub ebx, edi
sub ebx, esi
mov eax, esi
shr eax, 0Ch
xor ebx, eax
sub edi, ebx
sub edi, esi
mov eax, ebx
shl eax, 10h
xor edi, eax
sub esi, edi
mov eax, edi
sub esi, ebx
shr eax, 5
xor esi, eax
sub ebx, edi
mov eax, esi
mov ecx, eax
sub ebx, eax
shr ecx, 3
xor ebx, ecx
sub edi, ebx
sub edi, eax
mov ecx, ebx
shl ecx, 0Ah
xor edi, ecx
sub eax, edi
sub eax, ebx
shr edi, 0Fh
xor eax, edi
pop edi
pop esi
pop ebx
leave
retn
GOOGLECHECK endp

; Switch table
off_100307EA
dd offset switch_0
dd offset switch_1
dd offset switch_2
dd offset switch_3
dd offset switch_4
dd offset switch_5
dd offset switch_6
dd offset switch_7
dd offset switch_8
dd offset switch_9
dd offset switch_10
checksum的vb代码:

'=========================================================
' functions for the checksum:
'
' Function sl(ByVal x, ByVal n)
' Function sr(ByVal x, ByVal n)
' Function zeroFill(ByVal a, ByVal b)
' Private Function uadd(ByVal L1, ByVal L2)
' Private Function usub(ByVal L1, ByVal L2)
' Function mix(ByVal ia, ByVal ib, ByVal ic)
' Function gc(ByVal s, ByVal i)
' function GoogleCH(ByVal sURL)
' Function CalculateChecksum(sURL)
'=========================================================
Function sl(ByVal x, ByVal n)
   If n = 0 Then
       sl = x
   Else
       Dim k
       k = CLng(2 ^ (32 - n - 1))
       Dim d
       d = x And (k - 1)
       Dim c
       c = d * CLng(2 ^ n)
       If x And k Then
           c = c Or &H80000000
       End If
       sl = c
   End If
End Function

Function sr(ByVal x, ByVal n)
   If n = 0 Then
       sr = x
   Else
       Dim y
       y = x And &H7FFFFFFF
       Dim z
       If n = 32 - 1 Then
           z = 0
       Else
           z = y \ CLng(2 ^ n)
       End If
       If y <> x Then
           z = z Or CLng(2 ^ (32 - n - 1))
       End If
       sr = z
   End If
End Function

Function zeroFill(ByVal a, ByVal b)  
Dim x
if (&H80000000 AND a) then
 x = sr(a,1)
 x = x AND (NOT &H80000000)
 x = x OR &H40000000
       x = sr(x,b-1)
else
 x = sr(a,b)
end if
zeroFill = x
End Function

Private Function uadd(ByVal L1, ByVal L2)
   Dim L11, L12, L21, L22, L31, L32
   L11 = L1 And &HFFFFFF
   L12 = (L1 And &H7F000000) \ &H1000000
   If L1 < 0 Then L12 = L12 Or &H80
   L21 = L2 And &HFFFFFF
   L22 = (L2 And &H7F000000) \ &H1000000
   If L2 < 0 Then L22 = L22 Or &H80
   L32 = L12 + L22
   L31 = L11 + L21
   If (L31 And &H1000000) Then L32 = L32 + 1
   uadd = (L31 And &HFFFFFF) + (L32 And &H7F) * &H1000000
   If L32 And &H80 Then uadd = uadd Or &H80000000
End Function

Private Function usub(ByVal L1, ByVal L2)
   Dim L11, L12, L21, L22, L31, L32
   L11 = L1 And &HFFFFFF
   L12 = (L1 And &H7F000000) \ &H1000000
   If L1 < 0 Then L12 = L12 Or &H80
   L21 = L2 And &HFFFFFF
   L22 = (L2 And &H7F000000) \ &H1000000
   If L2 < 0 Then L22 = L22 Or &H80
   L32 = L12 - L22
   L31 = L11 - L21
   If L31 < 0 Then
       L32 = L32 - 1
       L31 = L31 + &H1000000
   End If
   usub = L31 + (L32 And &H7F) * &H1000000
   If L32 And &H80 Then usub = usub Or &H80000000
End Function

Function mix(ByVal ia, ByVal ib, ByVal ic)
Dim a, b, c
a = ia
b = ib
c = ic

a = usub(a,b)
a = usub(a,c)
a = a XOR zeroFill(c,13)

b = usub(b,c)
b = usub(b,a)
b = b XOR sl(a,8)

c = usub(c,a)
c = usub(c,b)
c = c XOR zeroFill(b,13)

a = usub(a,b)
a = usub(a,c)
a = a XOR zeroFill(c,12)

b = usub(b,c)
b = usub(b,a)
b = b XOR sl(a,16)

c = usub(c,a)
c = usub(c,b)
c = c XOR zeroFill(b,5)

a = usub(a,b)
a = usub(a,c)
a = a XOR zeroFill(c,3)

b = usub(b,c)
b = usub(b,a)
b = b XOR sl(a,10)

c = usub(c,a)
c = usub(c,b)
c = c XOR zeroFill(b,15)

Dim ret(3)
 
ret(0) = a
ret(1) = b
ret(2) = c

mix = ret
End Function

Function gc(ByVal s, ByVal i)
gc = Asc(Mid(s,i+1,1))
End Function

function GoogleCH(ByVal sURL)
Dim iLength, a, b, c, k, iLen, m
iLength = Len(sURL)

a = &H9E3779B9
b = &H9E3779B9
c = GOOGLE_MAGIC
k = 0
   
   iLen = iLength
   do while iLen >= 12
       a = uadd(a,(uadd(gc(sURL,k+0),uadd(sl(gc(sURL,k+1),8),uadd(sl(gc(sURL,k+2),16),sl(gc(sURL,k+3),24))))))
       b = uadd(b,(uadd(gc(sURL,k+4),uadd(sl(gc(sURL,k+5),8),uadd(sl(gc(sURL,k+6),16),sl(gc(sURL,k+7),24))))))
       c = uadd(c,(uadd(gc(sURL,k+8),uadd(sl(gc(sURL,k+9),8),uadd(sl(gc(sURL,k+10),16),sl(gc(sURL,k+11),24))))))

 m = mix(a,b,c)
 
       a = m(0)
       b = m(1)
       c = m(2)
       
       k = k + 12

       iLen = iLen - 12
   loop

   c = uadd(c,iLength)

   select case iLen ' all the case statements fall through
       case 11
  c = uadd(c,sl(gc(sURL,k+10),24))
  c = uadd(c,sl(gc(sURL,k+9),16))
  c = uadd(c,sl(gc(sURL,k+8),8))
  b = uadd(b,sl(gc(sURL,k+7),24))
  b = uadd(b,sl(gc(sURL,k+6),16))
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 10
  c = uadd(c,sl(gc(sURL,k+9),16))
  c = uadd(c,sl(gc(sURL,k+8),8))
  b = uadd(b,sl(gc(sURL,k+7),24))
  b = uadd(b,sl(gc(sURL,k+6),16))
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 9
  c = uadd(c,sl(gc(sURL,k+8),8))
  b = uadd(b,sl(gc(sURL,k+7),24))
  b = uadd(b,sl(gc(sURL,k+6),16))
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 8
  b = uadd(b,sl(gc(sURL,k+7),24))
  b = uadd(b,sl(gc(sURL,k+6),16))
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 7
  b = uadd(b,sl(gc(sURL,k+6),16))
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 6
  b = uadd(b,sl(gc(sURL,k+5),8))
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 5
  b = uadd(b,gc(sURL,k+4))
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 4
  a = uadd(a,sl(gc(sURL,k+3),24))
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 3
  a = uadd(a,sl(gc(sURL,k+2),16))
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 2
  a = uadd(a,sl(gc(sURL,k+1),8))
  a = uadd(a,gc(sURL,k+0))
       case 1
  a = uadd(a,gc(sURL,k+0))
   End Select
   
   m = mix(a,b,c)
   
   GoogleCH = m(2)
End Function

Function CalculateChecksum(sURL)
CalculateChecksum = "6" & CStr(GoogleCH("info:" & sURL) AND &H7FFFFFFF)
End Function
Tags:责任编辑:cvery
顶一下(55)
91.67%
    1. 谷歌浏览器谷歌浏览器合集

      本篇集中了几款谷歌浏览器相关软件,以方便大家使用。

    1. 浏览器软件排行榜2019浏览器软件排行榜2019

      浏览器下载排行榜专区收集了多种实用方便并且功能强大、运行速度最快的浏览器免费下载。

    1. IE浏览器IE浏览器

      IE浏览器下载专区提供了IE9中文版下载和IE8中文版下载以及IE浏览器所有版本免费下载。

    文章评论 新云下载QQ群:① 7551827使用手机微信搜索 微信号:xinyunshouyou 关注我们 有更多惊喜!!

    请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!
      验证码:     登录   注册
    网友评论

    关注新云安卓游戏网

    旺彩彩票 www.496943.com-h辉煌彩票用户登录| www.780035.com-排列5彩票中奖规则| www.901930.com-怎么开黑彩网站| www.971739.com-快捷彩票登陆| www.hh64.com-中中彩票下载安装| www.018965.com-足彩缩水软件有哪些| www.114850.com-彩神通代理会员用| www.377088.com-嬴彩天下与你同行| www.484181.com-极速快车彩票的玩法| www.761012.com-体彩排列五长条图片| www.356024.com-中国彩票头奖排名| www.752320.com-时时中彩票电脑版| www.892285.com-3d投注缩水彩经网| www.tr60.com-宁夏快三算号神器| www.63mh.com-易彩可以提现吗| www.316823.com-体育彩票门头规范| www.921013.com-彩99官网-| www.922869.com-体育彩票店过户| 爱购彩票www.355264.com| www.556903.com-网络彩票赌博怎么样| www.387655.com-进入彩威网站首页| 致富彩票www.zfcp6.com| www.761484.com-河北快三高手群| www.867606.com-谁有彩票代打兼职| www.79qy.com-福彩论坛网址| www.017941.com-彩票站如何选位置| www.830978.com-快乐彩网址| www.933693.com-时时彩真的能赢钱吗| www.516796.com-58彩票下载手机版| GO彩www.bai84.com| www.356736.com-做彩票网络销售经理| www.466861.com-彩票打票截止几点| www.560553.com-中国体育彩票足彩网| www.525088.com-圣地彩官网-| www.uw75.com-q彩app哪里有| www.496686.com-直击黑彩一彩吧图库| www.604074.com-杭州格彩服饰冬装| www.682847.com-买彩票坚持一个号| www.780047.com-福彩双色球顺序| www.868456.com-新浪七星彩走势图| www.947617.com-湖南彩票网-| 梦想彩票站www.43131p.com| www.028257.com-手机彩票投注站下载| www.779911.com-彩票店在什么位置| www.2600.club-爱音乐彩铃电信触屏| www.330727.com-网赌彩票为什么输| www.by94.com-甘肃福彩快三助手| www.3rt.cc-爱乐透彩票门户网站| www.98470.com-时时彩软件怎么做| www.106094.com-从彩网-| www.184520.com-彩票号码筛选器| www.259781.com-地方彩票宁夏快三| www.ba89.com-竞彩最稳的买法| www.495290.com-彩漂能洗彩色衣服吗| www.631190.com-太子彩票-| www.719772.com-乐和彩登陆中心| www.563371.com-60彩票网代理| 大赢家彩票平台www.220875.com| www.900724.com-要赢钱就上赢钱彩| www.541981.com-彩票超级大乐透开奖| www.686969.com-竞彩足球二选一规则| www.122322.com-5亿彩票哪里下载| www.900770.com-福彩7乐彩开奖公告| www.970741.com-买彩票的搞笑朋友圈| www.4pb.com-体彩开奖大厅| www.796671.com-玩乐彩-| www.909513.com-江苏体彩排五开奖表| 亿龍彩票www.1368g.cc| www.33021.com-全民彩票张公岭| www.70hi.com-贵港市福彩中心| www.931272.com-长城彩票平台| www.560050.com-福彩通快三长龙助手| www.360191.com-3d彩票破解方法| www.496518.com-看六彩中彩网| www.992234.cc-重庆时时彩定位软件| www.ou34.com-福彩三地和值走势图| www.21pr.com-qq上玩的彩票| www.948192.com-3d好彩网图迷总汇| 91彩票www.9155g.cc| www.819550.com-5分钟极速彩| www.020.tv-福彩3d走2元网| CP701www.cp702.vip| www.89qt.com-广西快乐十分彩控网| www.33256.com-众彩生活app新版| www.94410.com-卡姿兰彩妆加盟条件| www.43622.com-北京福彩自助投注机| www.711117.cc-彩纺织培训-| www.662697.com-杳看彩票结果| www.456378.com-旺彩彩票客户端下载| www.057628.com-唯彩看彩-| www.751818.com-顶级彩票娱乐平台| www.1611.cn-u9彩票网能提现吗| www.872015.com-彩票彩之家-| www.978905.com-河南福彩快三怎么玩| www.cp3352.com-一分快三有没有官网| www.688624.com-收到网上买彩票短信| www.lj24.com-彩票讨论app| www.026419.com-体彩玩法胆拖| www.141585.com-福彩字谜解太湖字谜| www.049522.com-福彩体彩开奖结采| www.55178.com-时时彩单式做号技巧| 通盈彩票www.567630.com| www.15712.cc-初学者彩铅画视频| www.78959.cc-网上可以卖彩票吗| www.001005.com-篮球竞彩网258| www.070895.com-官方彩票365| www.130220.com-七星彩规律图视屏| www.799040.com-大钱庄彩票官网| www.871995.com-瑞彩彩票网app| www.935223.com-福彩有哪些种类| www.979458.com-中彩网客服中心| www.cai4800.com甘肃快三预测号码| www.mr89.com-彩八仙手机版苹果版| www.498899.cc-彩票500邀请码| www.220204.com-彩神vii正规吗| www.v37.cn-信誉彩票网投领导者| www.856468.com-苏州彩票店转让58| www.254615.com-好彩网有风险吗| www.353329.com-七彩彩开奖结果| www.550062.com-哪里还能网上买足彩| www.657001.com-79彩票平台安卓版| www.871734.com-瑞彩祥云彩票平台| www.327755.com-万彩吧cn六彩| www.02369.com-2mcc彩票下截| www.1246.cc-彩票押冠亚和技巧| www.90ew.com-韦德彩票平台| www.7044.org-竞彩篮球2串1| www.44392.com-全民彩网是不是骗局| www.02818.com-赌彩票家破人亡| www.uc01.cc-内蒙快三奖金速查| www.890779.com-体育彩票倍数怎么赔| www.950067.com-尼彩手机价钱| www.995665.com-世界杯足彩猜比分| www.mw1.com-2元彩票-| www.796145.com-彩票开奖彩吧论坛在| www.866855.com-快三福彩书籍| www.135415.com-体彩竞彩终端机| www.216540.com-谁有玩快三的群| www.289553.com-买彩票算赌博| www.351656.com-彩客竞彩体育下载| www.842309.com-福利彩票分配比例| www.tk13.cc-快三猜骰子猜和值| www.52my.cc-江苏彩礼和嫁妆比例| www.uk06.com-彩宝网3d开机号| www.7183.net-七彩阳光配蹦迪音乐| www.57815.cc-福彩乐透安卓| www.503632.com-快三黑彩平台官网| www.572990.com-彩票彩客网手机老版| www.633594.com-百度天下彩-| www.637416.com-鑫彩注册-| www.561227.com-爱乐透彩票安卓下载| www.639349.com-够力七彩长条奖表| www.728108.com-体彩排列五在线投注| www.502334.com-热拉上加好友玩彩票| www.98295.com-福利彩票11元5| www.054731.com-国模大尺度彩炮图| www.114381.com-91彩票全天计划| www.177842.com-吉林新快三开奖信息| www.227968.com-彩票走势图查号| www.281232.com-下载时时彩开奖| www.237526.com-下载中国彩票app| www.294822.com-彩易福彩-| www.9369.vip-福建体彩下载软件| www.005443.com-云彩店app下载|