|
|
[推荐]微软内核架构的文档(几乎很全了,感谢powder提供)
喜欢,我喜欢~! |
|
|
|
|
|
一个关于网络验证的问题
我们可以讨论讨论~!! |
|
|
HELP~!注册算法!请问下面的代码是怎么变换字符串的???
0046E874 55 push ebp 0046E875 8BEC mov ebp, esp 0046E877 83C4F0 add esp, -$10 0046E87A 53 push ebx 0046E87B 56 push esi 0046E87C 57 push edi 0046E87D 33C9 xor ecx, ecx 0046E87F 894DF0 mov [ebp-$10], ecx 0046E882 894DF4 mov [ebp-$0C], ecx 0046E885 8955FC mov [ebp-$04], edx 0046E888 8BF8 mov edi, eax 0046E88A 33C0 xor eax, eax 0046E88C 55 push ebp * Possible String Reference to: '椐U?腚_^[?]?勒??鹩VW3?M?M?U | ?E?勒h?F' | 0046E88D 6804E94600 push $0046E904 ***** TRY | 0046E892 64FF30 push dword ptr fs:[eax] 0046E895 648920 mov fs:[eax], esp 0046E898 8D45F4 lea eax, [ebp-$0C] * Reference to: System.@LStrClr(void;void); | 0046E89B E8E85BF9FF call 00404488 0046E8A0 8BC7 mov eax, edi * Reference to: System.@LStrLen(String):Integer; | or: System.@DynArrayLength; | or: System.DynArraySize(Pointer):Integer; | 0046E8A2 E8995EF9FF call 00404740 0046E8A7 8945F8 mov [ebp-$08], eax ;[ebp-$08] save the String Length 0046E8AA 8BC7 mov eax, edi ;edi the save the String pointer * Reference to: System.@LStrLen(String):Integer; | or: System.@DynArrayLength; | or: System.DynArraySize(Pointer):Integer; | 0046E8AC E88F5EF9FF call 00404740 0046E8B1 8BF0 mov esi, eax ;esi为计数器 0046E8B3 85F6 test esi, esi ;为空? 0046E8B5 7E27 jle 0046E8DE ;就跳走 0046E8B7 BB01000000 mov ebx, $00000001 ;****************************************************************** ;loop start 0046E8BC 8D45F0 lea eax, [ebp-$10] * Reference to Screen | 0046E8BF 8B55F8 mov edx, [ebp-$08] ; 0046E8C2 2BD3 sub edx, ebx ;Length-i 0046E8C4 0FB61417 movzx edx, byte ptr [edi+edx] ;CharinString[(l+1)-i] 0046E8C8 03D3 add edx, ebx ;CharinString[(l+1)-i]+i * Reference to: System.@LStrFromChar(String;String;Char); | or: System.@LStrFromWChar(String;String;WideChar); | or: System.@WStrFromChar(WideString;WideString;Char); | or: System.@WStrFromWChar(WideString;WideString;WideChar); | 0046E8CA E8995DF9FF call 00404668 ;转换为Char 0046E8CF 8B55F0 mov edx, [ebp-$10] ;edx save the result of change 0046E8D2 8D45F4 lea eax, [ebp-$0C] * Reference to: System.@LStrCat; ;String合并 | 0046E8D5 E86E5EF9FF call 00404748 0046E8DA 43 inc ebx ;i+1 0046E8DB 4E dec esi ;计数器-1 0046E8DC 75DE jnz 0046E8BC ;****************************************************************** ;loop end 0046E8DE 8B45FC mov eax, [ebp-$04] 0046E8E1 8B55F4 mov edx, [ebp-$0C] * Reference to: System.@LStrAsg(void;void;void;void); | 0046E8E4 E8F35BF9FF call 004044DC 0046E8E9 33C0 xor eax, eax 0046E8EB 5A pop edx 0046E8EC 59 pop ecx 0046E8ED 59 pop ecx 0046E8EE 648910 mov fs:[eax], edx ****** FINALLY | * Possible String Reference to: '_^[?]?勒??鹩VW3?M?M?U?E?勒 | h?F' | 0046E8F1 680BE94600 push $0046E90B 0046E8F6 8D45F0 lea eax, [ebp-$10] 0046E8F9 BA02000000 mov edx, $00000002 * Reference to: System.@LStrArrayClr(void;void;Integer); | 0046E8FE E8A95BF9FF call 004044AC 0046E903 C3 ret * Reference to: System.@HandleFinally; | 0046E904 E9A755F9FF jmp 00403EB0 0046E909 EBEB jmp 0046E8F6 ****** END | 0046E90B 5F pop edi 0046E90C 5E pop esi 0046E90D 5B pop ebx 0046E90E 8BE5 mov esp, ebp 0046E910 5D pop ebp 0046E911 C3 ret local varriables: [exp-$04] [exp-$08] ;save the String Length [exp-$0c] [exp-$10] Exemple: i 1 2 3 4 5 6 7 原文: g 6 1 4 4 c 3 +Length+1-i 7 6 5 4 3 2 1 倒序: n < 6 8 7 e 4 密文: 4 e 7 8 6 < n |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值