欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

算法说明~~~~~~~~~呵呵~~~~~~~~ (2千字)

算法说明~~~~~~~~~呵呵~~~~~~~~ (2千字)

0167:0041A908  MOVSX    ECX,BYTE [ESP+EAX+14] 将你的用户名第一个字符放入ECX
0167:0041A90D  ADD      ESI,ECX              ESI=ESI+ECX(第一次时ESI=0)
0167:0041A90F  INC      EAX                  EAX=EAX+1
0167:0041A910  CMP      EAX,EDI              比较EAX,EDI(EDI中是你用户名的长度
0167:0041A912  JL      0041A908              EAX<EDI时往上跳,
0167:0041A914  MOV      [ESP+10],ESI          以上几行的作用是将你的用户名累加
0167:0041A918  XOR      ECX,ECX              清空ECX
0167:0041A91A  XOR      ESI,ESI              清空ESI
0167:0041A91C  TEST    EDI,EDI             
0167:0041A91E  JNG      0041A953               
0167:0041A920  CMP      ECX,BYTE +0A          比较ECX是否小于10
0167:0041A923  JNL      0041A958                  ***这边是第一次的***            |***这边是以后的***
0167:0041A925  TEST    ECX,ECX              由于第一次ECX=0所以                  |以后ECX不为0
0167:0041A927  JNG      0041A930              直接跳止41A930                        |所以这不跳
0167:0041A929  MOVSX    EAX,BYTE [ECX+EBP-01]                                      |将上次计算的结果放入EAX中
0167:0041A92E  JMP      SHORT 0041A93F                                              |直接蹦到41A93F         
0167:0041A930  MOVSX    EDX,BYTE [ESP+ESI+14] 取你的用户名的第一个字符放入EDX中    |XXXXXXXXXXXXXXXXXXXXXXX
0167:0041A935  MOV      EAX,[ESP+10]          ESP+10中存放的是你用户名累加后的结果  |XXXXXXXXXXXXXXXXXXXXXXX
0167:0041A939  ADD      EDX,ECX              EDX=EDX+ECX                          |XXXXXXXXXXXXXXXXXXXXXXX
0167:0041A93B  LEA      EAX,[EDX+EAX+68]      EAX=用户名累加后的结果+第一个字符+104 |XXXXXXXXXXXXXXXXXXXXXXX
0167:0041A93F  CDQ                                                                  |以后同左边
0167:0041A940  MOV      EBX,1A                EAX÷26  整数部分放入EAX
0167:0041A945  IDIV    EBX                  余数放入EDX
0167:0041A947  ADD      EDX,BYTE +61          EDX+97
0167:0041A94A  INC      ESI                  ESI+1
0167:0041A94B  MOV      [ECX+EBP],DL          将DL放入ECX+EBP的值中
0167:0041A94E  INC      ECX                  ECX+1
0167:0041A94F  CMP      ESI,EDI              比较ESI,EDI(EDI是你用户名的长度)
示例:用户名masiqi用户名累加得644,累加结果+第一个字符(即“m”)+104=857
859÷26整数为32,余25,余数+97=122 查ASCII表得“z”
第二次122÷26    余18,余数+97=115 查ASCII表得“s”
第3次115÷26    余11,余数+97=108 查ASCII表得“l”
第4次108÷26    余4,余数+97=101 查ASCII表得“e”
第5次101÷26    余23,余数+97=120 查ASCII表得“x”
第6次120÷26    余16,余数+97=113 查ASCII表得“q”
第7次113÷26    余9,余数+97=106 查ASCII表得“j”
第8次106÷26    余2,余数+97=99 查ASCII表得“c”
第9次99÷26    余21,余数+97=118 查ASCII表得“v” 
第10次118÷26    余14,余数+97=111 查ASCII表得“o”

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功