�����飺
Visual CHM ��һ���dz�����������CHM�ļ��Ĺ��ߣ���ȫ�Ŀ��ӻ�*����
���ֱ������ԣ�����ʹ��������CHM�ļ����зdz���רҵ�С�
ϲ���������飬ϲ���ռ��������µ����ѣ��dz�ֵ���������á�
���ţ�������ʼʹ�� Visual CHM ʱ�ٲ���Ϊ��ô����CHM�ļ�ͷ�ۣ�
��Ҳ����ѧϰCHM�����ļ����������ˡ�
������ƣ�
û��ע��İ汾����50���ļ������ơ�
�ƽ��ߣ�DarkNess0ut
�ƽ�Ŀ�ģ�ע�����㷨����������ע���
�ƽ�ߣ�DeDe 3.1\ keyMake 1.73 \FI 2.5\VC++\aspackdie1.4
�ƽ�˵����������÷�����У�飬�Ѷȴ�����Ϸ����������㷨������ע�����
����ʱ�����û��������룬���ϡ�ע�ᡱʱ��У�����룡
���ƽ�ֻ���о��㷨���ƽ⣬��֧�ֹ������������
����v3.10�Ѿ�д���ˣ��ƽ�Ĺ��̣���ξͲ�д�ˣ���v3.2���Emailת�������Code��ת��������������
1��Email��һ��ת��,����EmailConv_1(Email)
��EBXת����Сд��ĸ�ĺ���ΪConvCode(EBX,Index)
Դ�����v3.10
=============================================================================
0050FE4E 8D45EC lea eax, [ebp-$14] //Email<==EDX
* Possible String Reference to: 'http://www.vchm.com/ ;convenient CHM
| editor,WYSIWYG.'
|
0050FE51 BA60125100 mov edx, $00511260 //Key
* Reference to: System.Proc_00404C80
|
0050FE56 E8254EEFFF call 00404C80
* Reference to Mainform
|
0050FE5B 8B45FC mov eax, [ebp-$04]
0050FE5E 0540060000 add eax, +$00000640
* Reference to Mainform
|
0050FE63 8B55FC mov edx, [ebp-$04]
* Reference to field TMainform.OFFS_0638
|
0050FE66 8B9238060000 mov edx, [edx+$0638]
* Reference to: System.Proc_00404C3C
|
0050FE6C E8CB4DEFFF call 00404C3C
0050FE71 8D45E8 lea eax, [ebp-$18]
* Possible String Reference to: 's?
|
0050FE74 BA9C125100 mov edx, $0051129C
* Reference to: System.Proc_00404C80
|
0050FE79 E8024EEFFF call 00404C80
* Reference to Mainform
|
0050FE7E 8B45FC mov eax, [ebp-$04]
* Reference to field TMainform.OFFS_0640
|
0050FE81 8B8040060000 mov eax, [eax+$0640]
* Reference to: system.@LStrLen:Integer;
|
0050FE87 E83050EFFF call 00404EBC //����Email����
0050FE8C 8BF8 mov edi, eax
0050FE8E 85FF test edi, edi
0050FE90 7E66 jle 0050FEF8
0050FE92 BE01000000 mov esi, $00000001 //��ʼ����,ѭ��ת��
* Reference to Mainform
|
0050FE97 8B45FC mov eax, [ebp-$04]
* Reference to field TMainform.OFFS_0640
|
0050FE9A 8B8040060000 mov eax, [eax+$0640]
0050FEA0 8A5C30FF mov bl, byte ptr [eax+esi-$01] //Email(esi-1)
0050FEA4 8B45EC mov eax, [ebp-$14]
0050FEA7 8A4430FF mov al, byte ptr [eax+esi-$01] //Key(esi-1)
0050FEAB 32D8 xor bl, al //Email xor Key
0050FEAD 81E3FF000000 and ebx, $000000FF //EBX and $FF
0050FEB3 33DE xor ebx, esi //EBX Xor esi
0050FEB5 83FB41 cmp ebx, +$41 //����һ�ν�EBXת��
0050FEB8 7D0B jnl 0050FEC5 //��Сд��ĸ
0050FEBA 8D441E16 lea eax, [esi+ebx+$16]
0050FEBE 8BD8 mov ebx, eax
0050FEC0 83FB41 cmp ebx, +$41
0050FEC3 7CF5 jl 0050FEBA
0050FEC5 83FB7A cmp ebx, +$7A
0050FEC8 7E0F jle 0050FED9
0050FECA 83EB1B sub ebx, +$1B
0050FECD 2BDE sub ebx, esi
0050FECF 83FB7A cmp ebx, +$7A
0050FED2 7FF6 jnle 0050FECA
0050FED4 EB03 jmp 0050FED9
0050FED6 83C304 add ebx, +$04
0050FED9 83FB61 cmp ebx, +$61
0050FEDC 7D05 jnl 0050FEE3
0050FEDE 83FB5A cmp ebx, +$5A
0050FEE1 7FF3 jnle 0050FED6
* Reference to Mainform
|
0050FEE3 8B45FC mov eax, [ebp-$04] //���ϵ���������
0050FEE6 0540060000 add eax, +$00000640 //ȡ��Email���ַ���ַ
* Reference to: system.@VarCopyNoInd;
|
0050FEEB E81C52EFFF call 0040510C
0050FEF0 885C30FF mov [eax+esi-$01], bl //��д��ԭ�ط�����
0050FEF4 46 inc esi
0050FEF5 4F dec edi
0050FEF6 759F jnz 0050FE97 //û��ȫ��ת����ϵļ���
0050FEF8 8D45E8 lea eax, [ebp-$18] //EDX�������ת���Ľ��
���ˡ���һ��ת������,Email-->Email_1
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
�������ڶ�����Code ��ת��������ConvCode(EBX,Index)һ������
��Codeת�����м��ַ����Ա�����У�顣
����ΪConvCode((EBX Xor index)+&H29��Index)
0051015E 8B45FC mov eax, [ebp-$04] //EDX=Code
00510161 0560060000 add eax, +$00000660
00510166 BA0A000000 mov edx, $0000000A //ֻ��10λ
* Reference to: System.Proc_00405240
|
0051016B E8D050EFFF call 00405240 //����10λ
* Reference to Mainform
|
00510170 8B45FC mov eax, [ebp-$04]
* Reference to field TMainform.OFFS_0660
|
00510173 8B8060060000 mov eax, [eax+$0660] //Code10
* Reference to: system.@LStrLen:Integer;
|
00510179 E83E4DEFFF call 00404EBC
0051017E 8BD8 mov ebx, eax
* Reference to Mainform
|
00510180 8B45FC mov eax, [ebp-$04]
00510183 0560060000 add eax, +$00000660
00510188 8BD3 mov edx, ebx
* Reference to: System.Proc_00405240
|
0051018A E8B150EFFF call 00405240
* Reference to Mainform
|
0051018F 8B45FC mov eax, [ebp-$04]
* Reference to field TMainform.OFFS_0660
|
00510192 8B8060060000 mov eax, [eax+$0660]
* Reference to: system.@LStrLen:Integer;
|
00510198 E81F4DEFFF call 00404EBC
0051019D 8BF8 mov edi, eax
0051019F 85FF test edi, edi
005101A1 7E5C jle 005101FF
005101A3 BE01000000 mov esi, $00000001 //��ʼ����
* Reference to Mainform
|
005101A8 8B45FC mov eax, [ebp-$04]
* Reference to field TMainform.OFFS_0660
|
005101AB 8B8060060000 mov eax, [eax+$0660] //code10
005101B1 33DB xor ebx, ebx
005101B3 8A5C30FF mov bl, byte ptr [eax+esi-$01] //ebx=Code10(esi-1)
005101B7 33DE xor ebx, esi //ebx=ebx xor esi
005101B9 83C329 add ebx, +$29 //ebx=ebx +$29
005101BC 83FB41 cmp ebx, +$41 //��ebx ת����Сд��ĸ
005101BF 7D0B jnl 005101CC
005101C1 8D441E16 lea eax, [esi+ebx+$16]
005101C5 8BD8 mov ebx, eax
005101C7 83FB41 cmp ebx, +$41
005101CA 7CF5 jl 005101C1
005101CC 83FB7A cmp ebx, +$7A
005101CF 7E0F jle 005101E0
005101D1 83EB1B sub ebx, +$1B
005101D4 2BDE sub ebx, esi
005101D6 83FB7A cmp ebx, +$7A
005101D9 7FF6 jnle 005101D1
005101DB EB03 jmp 005101E0
005101DD 83C304 add ebx, +$04
005101E0 83FB61 cmp ebx, +$61
005101E3 7D05 jnl 005101EA
005101E5 83FB5A cmp ebx, +$5A
005101E8 7FF3 jnle 005101DD
* Reference to Mainform
|
005101EA 8B45FC mov eax, [ebp-$04] //����������
005101ED 0560060000 add eax, +$00000660
* Reference to: system.@VarCopyNoInd;
|
005101F2 E8154FEFFF call 0040510C
005101F7 885C30FF mov [eax+esi-$01], bl //���ǵ�ԭ�ȵ�λ��
005101FB 46 inc esi
005101FC 4F dec edi
005101FD 75A9 jnz 005101A8 //ѭ��ֱ��ȫ��ת��
* Reference to Mainform
|
005101FF 8B45FC mov eax, [ebp-$04] //EDX=Code2
Code--Code2��Ҫ��ɴ�д�����ں���ıȽ�
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
������Email2�Ļ�ú�Email2��Code2��У����
Email_1==>EMail_2���EmailConv_2(Email_1)
�㷨�ܷ��ģ�����һ��
0050DF7C 8B45FC mov eax, [ebp-$04]
* Reference to: system.@LStrLen:Integer;
|
0050DF7F E8386FEFFF call 00404EBC
0050DF84 83F80B cmp eax, +$0B
0050DF87 7F8D jnle 0050DF16
0050DF89 33DB xor ebx, ebx
* Reference to field TMainform.OFFS_0654
|
0050DF8B 8B8654060000 mov eax, [esi+$0654] //EAX=Email_1
* Reference to: system.@LStrLen:Integer;
|
0050DF91 E8266FEFFF call 00404EBC //�ַ�����
0050DF96 8BF8 mov edi, eax
0050DF98 E9BA000000 jmp 0050E057
0050DF9D 83FF15 cmp edi, +$15 //��$15�Ƚ�,����·
0050DFA0 7D03 jnl 0050DFA5 //��=��jump
0050DFA2 43 inc ebx //< ��ebx+1
0050DFA3 EB15 jmp 0050DFBA
* Reference to field TMainform.OFFS_0654
|
0050DFA5 8B8654060000 mov eax, [esi+$0654] //>=���㷨
* Reference to: system.@LStrLen:Integer;
|
0050DFAB E80C6FEFFF call 00404EBC
0050DFB0 B909000000 mov ecx, $00000009 //ebx=len(email) mod 9 ;����==��ebx
0050DFB5 99 cdq
0050DFB6 F7F9 idiv ecx
0050DFB8 8BDA mov ebx, edx
* Reference to field TMainform.OFFS_0654
|
0050DFBA 8B8654060000 mov eax, [esi+$0654] //����ϵ��㷨
* Reference to: system.@LStrLen:Integer;
|
0050DFC0 E8F76EEFFF call 00404EBC //eax=len(email_1)
0050DFC5 2BC3 sub eax, ebx //eax=eax-ebx
* Reference to field TMainform.OFFS_0654
|
0050DFC7 8B9654060000 mov edx, [esi+$0654]
0050DFCD 8A4402FF mov al, byte ptr [edx+eax-$01] //al=email_1(eax-1)
* Reference to field TMainform.OFFS_0654
|
0050DFD1 8B9654060000 mov edx, [esi+$0654]
0050DFD7 8A541AFF mov dl, byte ptr [edx+ebx-$01] //dl=email_1(edx-1)
0050DFDB 32C2 xor al, dl //Xor
0050DFDD 25FF000000 and eax, $000000FF //and $FF
0050DFE2 83C079 add eax, +$79 // + $79
0050DFE5 50 push eax
* Reference to field TMainform.OFFS_0654
|
0050DFE6 8D8654060000 lea eax, [esi+$0654]
* Reference to: system.@VarCopyNoInd;
|
0050DFEC E81B71EFFF call 0040510C
0050DFF1 5A pop edx
0050DFF2 885418FF mov [eax+ebx-$01], dl //�����ȥ
* Reference to field TMainform.OFFS_0654
|
0050DFF6 8B8654060000 mov eax, [esi+$0654]
0050DFFC 0FB64418FF movzx eax, byte ptr [eax+ebx-$01]//��ȡ����
* Reference to: MakeCHM.Proc_00504078
|
0050E001 E87260FFFF call 00504078 //convCode(eax��0)���Сд
0050E006 50 push eax
* Reference to field TMainform.OFFS_0654
|
0050E007 8D8654060000 lea eax, [esi+$0654]
* Reference to: system.@VarCopyNoInd;
|
0050E00D E8FA70EFFF call 0040510C
0050E012 5A pop edx
0050E013 885418FF mov [eax+ebx-$01], dl //д��ȥ
* Reference to field TMainform.OFFS_0654
|
0050E017 8D8654060000 lea eax, [esi+$0654]
0050E01D 50 push eax
* Reference to field TMainform.OFFS_0654
|
0050E01E 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrLen:Integer;
|
0050E024 E8936EEFFF call 00404EBC
0050E029 8BC8 mov ecx, eax
0050E02B 2BCB sub ecx, ebx //len-ebx
0050E02D BA01000000 mov edx, $00000001
* Reference to field TMainform.OFFS_0654
|
0050E032 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrCopy;
|
0050E038 E8D770EFFF call 00405114 //��ȡ�ַ����γ��µ�
* Reference to field TMainform.OFFS_0654
|
0050E03D 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrLen:Integer;
|
0050E043 E8746EEFFF call 00404EBC
0050E048 8BD0 mov edx, eax
0050E04A 2BD3 sub edx, ebx //�ټ�һ��=>len-2*ebx
* Reference to field TMainform.OFFS_0654
|
0050E04C 8D8654060000 lea eax, [esi+$0654]
* Reference to: System.Proc_00405240
|
0050E052 E8E971EFFF call 00405240 //���γ��µ�
* Reference to field TMainform.OFFS_0654
|
0050E057 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrLen:Integer;
|
0050E05D E85A6EEFFF call 00404EBC //���㳤��
0050E062 83F80B cmp eax, +$0B //��$0B�Ƚ�
0050E065 0F8F32FFFFFF jnle 0050DF9D //���ڵļ���ѭ����ֱ��С��==>NewEmail
0050E06B 33DB xor ebx, ebx
0050E06D EB40 jmp 0050E0AF
0050E06F 43 inc ebx //ebx=ebx+1
* Reference to field TMainform.OFFS_0654
|
0050E070 8B8654060000 mov eax, [esi+$0654]
0050E076 8A4418FF mov al, byte ptr [eax+ebx-$01] //al=newemail(ebx-1)
0050E07A 3455 xor al, $55 //al xor $55
0050E07C 25FF000000 and eax, $000000FF //and &ff
0050E081 8D5346 lea edx, [ebx+$46] //
0050E084 33C2 xor eax, edx //eax xor ($46+ebx)
0050E086 8845FB mov [ebp-$05], al
0050E089 33C0 xor eax, eax
0050E08B 8A45FB mov al, byte ptr [ebp-$05]
* Reference to: MakeCHM.Proc_00504078
|
0050E08E E8E55FFFFF call 00504078 //���Сдconvcode(eax,0)=>al
0050E093 8845FB mov [ebp-$05], al
0050E096 8D45F0 lea eax, [ebp-$10]
0050E099 8A55FB mov dl, byte ptr [ebp-$05] //dl=al
* Reference to: system.@LStrFromChar(String;Char);
|
0050E09C E8276DEFFF call 00404DC8
0050E0A1 8B55F0 mov edx, [ebp-$10]
* Reference to field TMainform.OFFS_0654
|
0050E0A4 8D8654060000 lea eax, [esi+$0654]
* Reference to: system.@LStrCat;
|
0050E0AA E8156EEFFF call 00404EC4 //���ӵ�ԭ�����ַ�����,�γ��µ�
* Reference to field TMainform.OFFS_0654
|
0050E0AF 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrLen:Integer;
|
0050E0B5 E8026EEFFF call 00404EBC //���������Ƿ����10��
0050E0BA 83F80A cmp eax, +$0A
0050E0BD 7D0E jnl 0050E0CD //>10 ���
* Reference to field TMainform.OFFS_0654
|
0050E0BF 8B8654060000 mov eax, [esi+$0654]
* Reference to: system.@LStrLen:Integer;
|
0050E0C5 E8F26DEFFF call 00404EBC
0050E0CA 48 dec eax
0050E0CB 7FA2 jnle 0050E06F //�����
* Reference to field TMainform.OFFS_0654
|
0050E0CD 8D8654060000 lea eax, [esi+$0654]
0050E0D3 BA0A000000 mov edx, $0000000A //ȡ10��
* Reference to: System.Proc_00405240
|
0050E0D8 E86371EFFF call 00405240
0050E0DD 8D55EC lea edx, [ebp-$14]
* Reference to field TMainform.OFFS_0654
|
0050E0E0 8B8654060000 mov eax, [esi+$0654]
* Reference to: sysutils.UpperCase(System.AnsiString):System.AnsiString;
|
0050E0E6 E8E9B1EFFF call 004092D4 //��ɴ�д��
0050E0EB 8B55EC mov edx, [ebp-$14]
* Reference to field TMainform.OFFS_0654
|
0050E0EE 8D8654060000 lea eax, [esi+$0654]
* Reference to: System.Proc_00404C3C
|
0050E0F4 E8436BEFFF call 00404C3C
0050E0F9 8D45FC lea eax, [ebp-$04]
* Reference to field TMainform.OFFS_0648
|
0050E0FC 8B9648060000 mov edx, [esi+$0648]
* Reference to: System.Proc_00404C80
|
0050E102 E8796BEFFF call 00404C80
* Reference to field TMainform.OFFS_0674
|
0050E107 C6867406000001 mov byte ptr [esi+$0674], $01 //�ɹ��ı�־��������������Ǻǣ�
0050E10E BF01000000 mov edi, $00000001
* Reference to field TMainform.OFFS_0674
|
0050E113 80BE7406000000 cmp byte ptr [esi+$0674], $00 //�ж��Ƿ�ok
0050E11A 741C jz 0050E138
* Reference to field TMainform.OFFS_0654
|
0050E11C 8B8654060000 mov eax, [esi+$0654]
0050E122 8A4438FF mov al, byte ptr [eax+edi-$01] //newEmail��ǰ����ȡ��=��al
0050E126 BA0B000000 mov edx, $0000000B
0050E12B 2BD7 sub edx, edi //��Ӧ�����λ��
0050E12D 8B4DFC mov ecx, [ebp-$04]
0050E130 8A5411FF mov dl, byte ptr [ecx+edx-$01] //Code2�Ӻ���ǰȡ��=��dl
0050E134 32C2 xor al, dl //�Ƚ�
0050E136 7404 jz 0050E13C
0050E138 33C0 xor eax, eax
0050E13A EB02 jmp 0050E13E
0050E13C B001 mov al, $01 //һ���ģ�al=1
* Reference to field TMainform.OFFS_0674
|
0050E13E 888674060000 mov [esi+$0674], al
0050E144 47 inc edi //����
0050E145 83FF0B cmp edi, +$0B
0050E148 75C9 jnz 0050E113
0050E14A EB2A jmp 0050E176 //�ɹ���������
���ˣ���д��һ�顣
PS���ϴ�����д�ˣ�
�������ѹ�������ڵ��Ե�ʱ��쿴�Ļ����ῴ�������ɵ�NewEmail��ֻ����֡�LLLLLLLLLF�����Ƶ������
��Keymake����Դ����Ͳ��������⡣
�ϴε�ע������������һ�����⣬��Щ��������ԣ��Ǻǣ�����DarkNess0ut��WinXP�¾Ͳ��У��Ǻǣ��ң�
�����ŷ����������BUG�ɣ�11���û���û��ע���룬27���û���Ҳ��������У�����Ϊһ��ʱ���رճ������س���
�����Ƶ
����Ķ�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�ƽ���θ�����ѿǻ����̳�
�鿴����0������>>