文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → 黑客字典II 算法分析

黑客字典II 算法分析

时间:2004/10/15 0:53:00来源:本站整理作者:蓝点我要评论(0)

 

实际上它也不用pj,在作者网上已经有密码了。写此文,只是看看它的注册方式而已。
黑客字典II是一个共享软件,如果您需要使用它的全部功能,测需要进行注册。这种注册是免费的。您只要发一封标题为“注册”的电子邮件到作者信箱中即可收到以同样方式发回的注册码。为了给作者少添点麻烦,还是自己解决吧。
作用:生成字典档文件。
1、输入用户名和注册码后,启动TRW2000,设中断BPX HMEMCPY 再回到程序中,按确定,拦截成功。
2、按F10直到第二次回到程序中是慢走。看到如下程序。
0167:00401BC6  CALL     00420016
0167:00401BCB  MOV      EAX,[EBP+78]
0167:00401BCE  LEA      ESI,[EBP+5C]
0167:00401BD1  PUSH     EBX
0167:00401BD2  PUSH     BYTE -01
0167:00401BD4  PUSH     DWORD B1
0167:00401BD9  PUSH     EAX
0167:00401BDA  CALL     EDI
0167:00401BDC  MOV      ECX,[ESI+1C]
0167:00401BDF  PUSH     EBX
0167:00401BE0  PUSH     EBX
0167:00401BE1  PUSH     DWORD B7
0167:00401BE6  PUSH     ECX
0167:00401BE7  CALL     EDI
0167:00401BE9  LEA      EDX,[ESP+84]
0167:00401BF0  PUSH     BYTE +64
0167:00401BF2  PUSH     EDX
0167:00401BF3  MOV      ECX,ESI
0167:00401BF5  CALL     00420016
0167:00401BFA  LEA      EDI,[ESP+20]
0167:00401BFE  OR       ECX,BYTE -01
0167:00401C01  XOR      EAX,EAX
0167:00401C03  REPNE SCASB
0167:00401C05  NOT      ECX
0167:00401C07  DEC      ECX
0167:00401C08  JZ       NEAR 00401E24
0167:00401C0E  LEA      EDI,[ESP+84]
0167:00401C15  OR       ECX,BYTE -01
0167:00401C18  REPNE SCASB
0167:00401C1A  NOT      ECX
0167:00401C1C  DEC      ECX
0167:00401C1D  JZ       NEAR 00401E24
0167:00401C23  LEA      EDI,[ESP+20]
0167:00401C27  OR       ECX,BYTE -01
0167:00401C2A  XOR      ESI,ESI
0167:00401C2C  REPNE SCASB
0167:00401C2E  NOT      ECX
0167:00401C30  DEC      ECX
0167:00401C31  JZ       00401CAC
上面的代码是什么意思,你自己看吧。重点是下文。
0167:00401C33  MOVSX    EDI,BYTE [ESP+ESI+20]取用户名中的一个字节,
0167:00401C38  MOV      EAX,EDI做为被除数
0167:00401C3A  MOV      ECX,0A除数
0167:00401C3F  CDQ    
0167:00401C40  IDIV     ECX
0167:00401C42  MOV      ECX,EDX余数传给ECX。
0167:00401C44  AND      EDX,80000001进行与运算,
0167:00401C4A  JNS      00401C51不为负就跳。
0167:00401C4C  DEC      EDX
0167:00401C4D  OR       EDX,BYTE -02
0167:00401C50  INC      EDX
0167:00401C51  JNZ      00401C69不为零就跳
0167:00401C53  MOV      EAX,EDI否则重新赋值再次进行计算。
0167:00401C55  MOV      ECX,1A此次除数被换成1A。
0167:00401C5A  CDQ    
0167:00401C5B  IDIV     ECX
0167:00401C5D  ADD      DL,41余数与DL相加得出注册码
0167:00401C60  MOV      [ESP+ESI+0148],DL把注册码存入[ESP+ESI+0148]中。
0167:00401C67  JMP      SHORT 00401C97
0167:00401C69  MOV      EAX,ECX把余数传给EAX
0167:00401C6B  MOV      EBX,03
0167:00401C70  CDQ    
0167:00401C71  IDIV     EBX
0167:00401C73  TEST     EDX,EDX
0167:00401C75  JNZ      00401C8D不为零就跳,用上面的结果ECX+31得出注册码。
0167:00401C77  MOV      EAX,EDI如果为零重新赋值计算。
0167:00401C79  MOV      ECX,1A除数
0167:00401C7E  CDQ    
0167:00401C7F  IDIV     ECX
0167:00401C81  ADD      DL,61 余数DL与61相加得出注册码
0167:00401C84  MOV      [ESP+ESI+0148],DL
0167:00401C8B  JMP      SHORT 00401C97
0167:00401C8D  ADD      CL,31得出注册码
0167:00401C90  MOV      [ESP+ESI+0148],CL
0167:00401C97  LEA      EDI,[ESP+20]你所输入的用户名串地址。
0167:00401C9B  OR       ECX,BYTE -01
0167:00401C9E  XOR      EAX,EAX
0167:00401CA0  INC      ESI
0167:00401CA1  REPNE SCASB
0167:00401CA3  NOT      ECX
0167:00401CA5  DEC      ECX
0167:00401CA6  CMP      ESI,ECX ESI是循环的次数。 ECX是用户名的总的位数,
0167:00401CA8  JC       00401C33有进位(也就是没有循环完毕)就跳进行下一轮计算。
0167:00401CAA  XOR      EBX,EBX
0167:00401CAC  PUSH     EBP
0167:00401CAD  LEA      ECX,[ESP+EC]
0167:00401CB4  MOV      [ESP+ESI+014C],BL
0167:00401CBB  CALL     00401EB0
0167:00401CC0  MOV      [ESP+01B4],EBX
0167:00401CC7  LEA      ESI,[ESP+84]假码。
0167:00401CCE  LEA      EAX,[ESP+0148]真码
至此就可以结束了,下文是进行比较。
0167:00401CD5  MOV      DL,[EAX]
0167:00401CD7  MOV      CL,DL
0167:00401CD9  CMP      DL,[ESI]
0167:00401CDB  JNZ      00401CF9
0167:00401CDD  CMP      CL,BL
0167:00401CDF  JZ       00401CF5
0167:00401CE1  MOV      DL,[EAX+01]
0167:00401CE4  MOV      CL,DL
0167:00401CE6  CMP      DL,[ESI+01]
0167:00401CE9  JNZ      00401CF9
0167:00401CEB  ADD      EAX,BYTE +02
0167:00401CEE  ADD      ESI,BYTE +02
0167:00401CF1  CMP      CL,BL
0167:00401CF3  JNZ      00401CD5
0167:00401CF5  XOR      EAX,EAX
0167:00401CF7  JMP      SHORT 00401CFE
0167:00401CF9  SBB      EAX,EAX
0167:00401CFB  SBB      EAX,BYTE -01
总结:用户名有几位,注册码就有几位。举例。
用户名:abcde
密码:8UvW2



    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程