Photoplorer 3.01算法分析
【破文标题】Photoplorer 3.01算法分析【破文作者】maomaoma
【作者邮箱】
【作者主页】无
【破解工具】OD、PEiD
【破解平台】winxp
【软件名称】Photoplorer 3.01
【软件大小】1744KB
【原版下载】http://nj.onlinedown.net/soft/29508.htm
【保护方式】无
【软件简介】快速浏览照片,图片以及管理,打印,电邮,察看数码相机里的照片的软件
【破解声明】我是菜鸟,学写破文,还请大侠多多指教:)
------------------------------------------------------------------------
【破解过程】
1、PEiD查主程序无壳,Microsoft Visual C++ 6.0 编译
2、OD载入,ctrl+N在USER32.GetWindowTextA下断点,F9运行,几次中断后至合适断点,多次F8,向上翻来到以下代码处,删除所有断点,在0044C320处重新下断,F9运行,具体分析如下:
0044C320/$55 push ebp ;OD断在此处
0044C321|.8BEC mov ebp, esp
0044C323|.6A FF push -1
0044C325|.68 F6795200 push 005279F6 ;SE 处理程序安装
0044C32A|.64:A1 0000000>mov eax, fs:
0044C330|.50 push eax
0044C331|.64:8925 00000>mov fs:, esp
0044C338|.81EC 34030000 sub esp, 334
0044C33E|.53 push ebx
0044C33F|.56 push esi
0044C340|.57 push edi
0044C341|.894D F0 mov , ecx
0044C344|.6A 00 push 0
0044C346|.8D4D 8C lea ecx,
0044C349|.E8 02CBFCFF call 00418E50
0044C34E|.C745 FC 00000>mov dword ptr , 0
0044C355|.8D4D 88 lea ecx,
0044C358|.E8 D372FCFF call 00413630
0044C35D|.C645 FC 01 mov byte ptr , 1
0044C361|.8D8D 24FDFFFF lea ecx,
0044C367|.E8 B410FFFF call 0043D420
0044C36C|.C645 FC 02 mov byte ptr , 2
0044C370|.8D4D 8C lea ecx,
0044C373|.E8 EC4F0B00 call 00501364 ;F8至此处,输入用户名、注册码后继续
0044C378|.83F8 01 cmp eax, 1
0044C37B|.0F85 3F020000 jnz 0044C5C0
0044C381|.8D45 E8 lea eax,
0044C384|.50 push eax
0044C385|.B9 94075A00 mov ecx, 005A0794 ;ASCII "8<?
0044C38A|.E8 60F20A00 call 004FB5EF
0044C38F|.C705 C4F95900>mov dword ptr , 0
0044C399|.8D45 E8 lea eax,
0044C39C|.50 push eax
0044C39D|.51 push ecx
0044C39E|.8BCC mov ecx, esp
0044C3A0|.89A5 1CFDFFFF mov , esp
0044C3A6|.8D55 EC lea edx,
0044C3A9|.52 push edx
0044C3AA|.E8 7CEE0A00 call 004FB22B ;取用户名
0044C3AF|.8985 C8FCFFFF mov , eax ; ||
0044C3B5|.8D85 18FDFFFF lea eax, ; ||
0044C3BB|.50 push eax ; ||Arg1
0044C3BC|.8B4D F0 mov ecx, ; ||
0044C3BF|.E8 DCF3FFFF call 0044B7A0 ; |\关键call(1),跟进
0044C3C4|.8985 C4FCFFFF mov , eax ; |
0044C3CA|.8B8D C4FCFFFF mov ecx, ; |
0044C3D0|.898D C0FCFFFF mov , ecx ; |
0044C3D6|.C645 FC 03 mov byte ptr , 3 ; |
0044C3DA|.8B95 C0FCFFFF mov edx, ; |
0044C3E0|.52 push edx ; |Arg1
0044C3E1|.E8 8AC1FFFF call 00448570 ; \真假码比较,可做内存注册机
0044C3E6|.8885 23FDFFFF mov , al
0044C3EC|.C645 FC 02 mov byte ptr , 2
0044C3F0|.8D8D 18FDFFFF lea ecx,
0044C3F6|.E8 BBF00A00 call 004FB4B6
0044C3FB|.0FB685 23FDFF>movzx eax, byte ptr
0044C402|.85C0 test eax, eax
0044C404|.0F84 C8000000 je 0044C4D2 ;爆破点
0044C40A|.8D45 EC lea eax,
0044C40D|.50 push eax
0044C40E|.B9 90075A00 mov ecx, 005A0790
0044C413|.E8 D7F10A00 call 004FB5EF
0044C418|.8D45 E8 lea eax,
0044C41B|.50 push eax
0044C41C|.B9 94075A00 mov ecx, 005A0794 ;ASCII "8<?
0044C421|.E8 C9F10A00 call 004FB5EF
0044C426|.C605 C0F95900>mov byte ptr , 1
0044C42D|.6A 00 push 0 ; /Arg3 = 00000000
0044C42F|.6A 00 push 0 ; |Arg2 = 00000000
0044C431|.68 305B5300 push 00535B30 ; |code accepted!\nthanks for registration.uninstall.exe,0uninstall.dll,0uninstall.tmp
0044C436|.E8 20D50B00 call 0050995B ; \Photoplo.0050995B
0044C43B|.6A 00 push 0
0044C43D|.E8 48650D00 call 0052298A
0044C442|.8D45 E8 lea eax,
0044C445|.50 push eax
0044C446|.51 push ecx
0044C447|.8BCC mov ecx, esp
0044C449|.89A5 10FDFFFF mov , esp
0044C44F|.8D55 EC lea edx,
0044C452|.52 push edx
0044C453|.E8 D3ED0A00 call 004FB22B
0044C458|.8985 C8FCFFFF mov , eax ; ||
0044C45E|.8D85 0CFDFFFF lea eax, ; ||
0044C464|.50 push eax ; ||Arg1
0044C465|.8B4D F0 mov ecx, ; ||
0044C468|.E8 53FAFFFF call 0044BEC0 ; |\Photoplo.0044BEC0
0044C46D|.8985 C4FCFFFF mov , eax ; |
0044C473|.8B8D C4FCFFFF mov ecx, ; |
0044C479|.898D C0FCFFFF mov , ecx ; |
0044C47F|.C645 FC 04 mov byte ptr , 4 ; |
0044C483|.8B95 C0FCFFFF mov edx, ; |
0044C489|.52 push edx ; |Arg1
0044C48A|.E8 E1C0FFFF call 00448570 ; \Photoplo.00448570
0044C48F|.8885 17FDFFFF mov , al
0044C495|.C645 FC 02 mov byte ptr , 2
0044C499|.8D8D 0CFDFFFF lea ecx,
0044C49F|.E8 12F00A00 call 004FB4B6
0044C4A4|.0FB685 17FDFF>movzx eax, byte ptr
0044C4AB|.85C0 test eax, eax
0044C4AD|.74 1E je short 0044C4CD
0044C4AF|.A1 94075A00 mov eax,
0044C4B4|.50 push eax
0044C4B5|.8B0D 90075A00 mov ecx,
0044C4BB|.51 push ecx
0044C4BC|.68 1C5B5300 push 00535B1C ;user=[%s] code=[%s]code accepted!\nthanks for registration.uninstall.exe,0uninstall.dll,0uninstall.tmp
0044C4C1|.8D55 88 lea edx,
0044C4C4|.52 push edx
0044C4C5|.E8 A3950A00 call 004F5A6D
0044C4CA|.83C4 10 add esp, 10
0044C4CD|>E9 EE000000 jmp 0044C5C0
0044C4D2|>6A 54 push 54
0044C4D4|.8D4D 88 lea ecx,
0044C4D7|.E8 8B8B0A00 call 004F5067
0044C4DC|.6A 68 push 68
0044C4DE|.8D4D 88 lea ecx,
0044C4E1|.E8 D3F30A00 call 004FB8B9
0044C4E6|.6A 65 push 65
0044C4E8|.8D4D 88 lea ecx,
0044C4EB|.E8 C9F30A00 call 004FB8B9
0044C4F0|.6A 20 push 20
0044C4F2|.8D4D 88 lea ecx,
0044C4F5|.E8 BFF30A00 call 004FB8B9
0044C4FA|.6A 63 push 63
0044C4FC|.8D4D 88 lea ecx,
0044C4FF|.E8 B5F30A00 call 004FB8B9
0044C504|.6A 6F push 6F
0044C506|.8D4D 88 lea ecx,
0044C509|.E8 ABF30A00 call 004FB8B9
0044C50E|.6A 64 push 64
0044C510|.8D4D 88 lea ecx,
0044C513|.E8 A1F30A00 call 004FB8B9
0044C518|.6A 65 push 65
0044C51A|.8D4D 88 lea ecx,
0044C51D|.E8 97F30A00 call 004FB8B9
0044C522|.6A 20 push 20
0044C524|.8D4D 88 lea ecx,
0044C527|.E8 8DF30A00 call 004FB8B9
0044C52C|.6A 69 push 69
0044C52E|.8D4D 88 lea ecx,
0044C531|.E8 83F30A00 call 004FB8B9
0044C536|.6A 73 push 73
0044C538|.8D4D 88 lea ecx,
0044C53B|.E8 79F30A00 call 004FB8B9
0044C540|.6A 20 push 20
0044C542|.8D4D 88 lea ecx,
0044C545|.E8 6FF30A00 call 004FB8B9
0044C54A|.6A 6E push 6E
0044C54C|.8D4D 88 lea ecx,
0044C54F|.E8 65F30A00 call 004FB8B9
0044C554|.6A 6F push 6F
0044C556|.8D4D 88 lea ecx,
0044C559|.E8 5BF30A00 call 004FB8B9
0044C55E|.6A 74 push 74
0044C560|.8D4D 88 lea ecx,
0044C563|.E8 51F30A00 call 004FB8B9
0044C568|.6A 20 push 20
0044C56A|.8D4D 88 lea ecx,
0044C56D|.E8 47F30A00 call 004FB8B9
0044C572|.6A 76 push 76
0044C574|.8D4D 88 lea ecx,
0044C577|.E8 3DF30A00 call 004FB8B9
0044C57C|.6A 61 push 61
0044C57E|.8D4D 88 lea ecx,
0044C581|.E8 33F30A00 call 004FB8B9
0044C586|.6A 6C push 6C
0044C588|.8D4D 88 lea ecx,
0044C58B|.E8 29F30A00 call 004FB8B9
0044C590|.6A 69 push 69
0044C592|.8D4D 88 lea ecx,
0044C595|.E8 1FF30A00 call 004FB8B9
0044C59A|.6A 64 push 64
0044C59C|.8D4D 88 lea ecx,
0044C59F|.E8 15F30A00 call 004FB8B9
0044C5A4|.6A 21 push 21
0044C5A6|.8D4D 88 lea ecx,
0044C5A9|.E8 0BF30A00 call 004FB8B9
0044C5AE|.6A 00 push 0
0044C5B0|.6A 00 push 0
0044C5B2|.8D4D 88 lea ecx,
0044C5B5|.E8 767CFCFF call 00414230
0044C5BA|.50 push eax ; |Arg1
0044C5BB|.E8 9BD30B00 call 0050995B ; \Photoplo.0050995B
0044C5C0|>C645 FC 01 mov byte ptr , 1
0044C5C4|.8D8D 24FDFFFF lea ecx,
0044C5CA|.E8 110FFFFF call 0043D4E0
0044C5CF|.C645 FC 00 mov byte ptr , 0
0044C5D3|.8D4D 88 lea ecx,
0044C5D6|.E8 DBEE0A00 call 004FB4B6
0044C5DB|.C745 FC FFFFF>mov dword ptr , -1
0044C5E2|.8D4D 8C lea ecx,
0044C5E5|.E8 06C9FCFF call 00418EF0
0044C5EA|.8B4D F4 mov ecx,
0044C5ED|.64:890D 00000>mov fs:, ecx
0044C5F4|.5F pop edi
0044C5F5|.5E pop esi
0044C5F6|.5B pop ebx
0044C5F7|.8BE5 mov esp, ebp
0044C5F9|.5D pop ebp
0044C5FA\.C3 retn
算法call(1):
0044B7A0/$55 push ebp
0044B7A1|.8BEC mov ebp, esp
0044B7A3|.6A FF push -1
0044B7A5|.68 2B795200 push 0052792B ;SE 处理程序安装
0044B7AA|.64:A1 0000000>mov eax, fs:
0044B7B0|.50 push eax
0044B7B1|.64:8925 00000>mov fs:, esp
0044B7B8|.83EC 68 sub esp, 68
0044B7BB|.53 push ebx
0044B7BC|.56 push esi
0044B7BD|.57 push edi
0044B7BE|.894D F0 mov , ecx
0044B7C1|.C745 D8 00000>mov dword ptr , 0
0044B7C8|.C745 FC 01000>mov dword ptr , 1
0044B7CF|.8D4D EC lea ecx,
0044B7D2|.E8 597EFCFF call 00413630 ;以下直至0044B866为排除黑名单中的用户名
0044B7D7|.C645 FC 02 mov byte ptr , 2
0044B7DB|.68 045B5300 push 00535B04 ; /cre@k
0044B7E0|.8D45 0C lea eax, ; |
0044B7E3|.50 push eax ; |Arg1
0044B7E4|.E8 678AFCFF call 00414250 ; \Photoplo.00414250
0044B7E9|.33C9 xor ecx, ecx
0044B7EB|.8AC8 mov cl, al
0044B7ED|.85C9 test ecx, ecx
0044B7EF|.75 6E jnz short 0044B85F
0044B7F1|.68 F45A5300 push 00535AF4 ; /freeserials.netcre@k
0044B7F6|.8D45 0C lea eax, ; |
0044B7F9|.50 push eax ; |Arg1
0044B7FA|.E8 518AFCFF call 00414250 ; \Photoplo.00414250
0044B7FF|.33C9 xor ecx, ecx
0044B801|.8AC8 mov cl, al
0044B803|.85C9 test ecx, ecx
0044B805|.75 58 jnz short 0044B85F
0044B807|.68 E85A5300 push 00535AE8 ; /team zwt
0044B80C|.8D45 0C lea eax, ; |
0044B80F|.50 push eax ; |Arg1
0044B810|.E8 3B8AFCFF call 00414250 ; \Photoplo.00414250
0044B815|.33C9 xor ecx, ecx
0044B817|.8AC8 mov cl, al
0044B819|.85C9 test ecx, ecx
0044B81B|.75 42 jnz short 0044B85F
0044B81D|.68 D05A5300 push 00535AD0 ; /www.crackzplanet.com
0044B822|.8D45 0C lea eax, ; |
0044B825|.50 push eax ; |Arg1
0044B826|.E8 258AFCFF call 00414250 ; \Photoplo.00414250
0044B82B|.33C9 xor ecx, ecx
0044B82D|.8AC8 mov cl, al
0044B82F|.85C9 test ecx, ecx
0044B831|.75 2C jnz short 0044B85F
0044B833|.68 C05A5300 push 00535AC0 ; /www.2baksa.net
0044B838|.8D45 0C lea eax, ; |
0044B83B|.50 push eax ; |Arg1
0044B83C|.E8 0F8AFCFF call 00414250 ; \Photoplo.00414250
0044B841|.33C9 xor ecx, ecx
0044B843|.8AC8 mov cl, al
0044B845|.85C9 test ecx, ecx
0044B847|.75 16 jnz short 0044B85F
0044B849|.68 B45A5300 push 00535AB4 ; /www.nowa.ruwww.2baksa.net
0044B84E|.8D45 0C lea eax, ; |
0044B851|.50 push eax ; |Arg1
0044B852|.E8 F989FCFF call 00414250 ; \Photoplo.00414250
0044B857|.33C9 xor ecx, ecx
0044B859|.8AC8 mov cl, al
0044B85B|.85C9 test ecx, ecx
0044B85D|.74 07 je short 0044B866
0044B85F|>6A 00 push 0
0044B861|.E8 D12D0900 call 004DE637
0044B866|>51 push ecx
0044B867|.8BCC mov ecx, esp
0044B869|.8965 E8 mov , esp
0044B86C|.8D45 0C lea eax,
0044B86F|.50 push eax
0044B870|.E8 B6F90A00 call 004FB22B
0044B875|.8945 94 mov , eax ; |
0044B878|.8D4D E4 lea ecx, ; |
0044B87B|.51 push ecx ; |Arg1
0044B87C|.8B4D F0 mov ecx, ; |
0044B87F|.E8 5C080000 call 0044C0E0 ; \算法call(2),跟进
0044B884|.8945 90 mov , eax
0044B887|.8B55 90 mov edx,
0044B88A|.8955 8C mov , edx
0044B88D|.C645 FC 03 mov byte ptr , 3
0044B891|.8B45 8C mov eax,
0044B894|.50 push eax
0044B895|.8D4D EC lea ecx,
0044B898|.E8 52FD0A00 call 004FB5EF
0044B89D|.C645 FC 02 mov byte ptr , 2
0044B8A1|.8D4D E4 lea ecx,
0044B8A4|.E8 0DFC0A00 call 004FB4B6
0044B8A9|.68 94075A00 push 005A0794 ; /Arg2 = 005A0794 ASCII "8<?
0044B8AE|.8D45 EC lea eax, ; |
0044B8B1|.50 push eax ; |Arg1
0044B8B2|.E8 B9CCFFFF call 00448570 ; \真假码比较call
0044B8B7|.33C9 xor ecx, ecx
0044B8B9|.8AC8 mov cl, al
0044B8BB|.85C9 test ecx, ecx
0044B8BD|.0F84 77050000 je 0044BE3A
0044B8C3|.833D 98075A00>cmp dword ptr , 1E
0044B8CA|.7D 55 jge short 0044B921
0044B8CC|.833D C4F95900>cmp dword ptr , 0
0044B8D3|.75 17 jnz short 0044B8EC
0044B8D5|.C705 C4F95900>mov dword ptr , 1
0044B8DF|.A1 98075A00 mov eax,
0044B8E4|.83C0 01 add eax, 1
0044B8E7|.A3 98075A00 mov , eax
0044B8EC|>8D45 EC lea eax,
0044B8EF|.50 push eax
0044B8F0|.8B4D 08 mov ecx,
0044B8F3|.E8 33F90A00 call 004FB22B
0044B8F8|.8B4D D8 mov ecx,
0044B8FB|.83C9 01 or ecx, 1
0044B8FE|.894D D8 mov , ecx
0044B901|.C645 FC 01 mov byte ptr , 1
0044B905|.8D4D EC lea ecx,
0044B908|.E8 A9FB0A00 call 004FB4B6
0044B90D|.C645 FC 00 mov byte ptr , 0
0044B911|.8D4D 0C lea ecx,
0044B914|.E8 9DFB0A00 call 004FB4B6
0044B919|.8B45 08 mov eax,
0044B91C|.E9 8C050000 jmp 0044BEAD
0044B921|>833D C4F95900>cmp dword ptr , 0
0044B928|.0F85 D9040000 jnz 0044BE07
0044B92E|.C705 C4F95900>mov dword ptr , 1
0044B938|.A1 98075A00 mov eax,
0044B93D|.83C0 01 add eax, 1
0044B940|.A3 98075A00 mov , eax
0044B945|.6A 54 push 54
0044B947|.8D4D EC lea ecx,
0044B94A|.E8 18970A00 call 004F5067
0044B94F|.6A 68 push 68
0044B951|.8D4D EC lea ecx,
0044B954|.E8 60FF0A00 call 004FB8B9
0044B959|.6A 69 push 69
0044B95B|.8D4D EC lea ecx,
0044B95E|.E8 56FF0A00 call 004FB8B9
0044B963|.6A 73 push 73
0044B965|.8D4D EC lea ecx,
0044B968|.E8 4CFF0A00 call 004FB8B9
0044B96D|.6A 20 push 20
0044B96F|.8D4D EC lea ecx,
0044B972|.E8 42FF0A00 call 004FB8B9
0044B977|.6A 76 push 76
0044B979|.8D4D EC lea ecx,
0044B97C|.E8 38FF0A00 call 004FB8B9
0044B981|.6A 65 push 65
0044B983|.8D4D EC lea ecx,
0044B986|.E8 2EFF0A00 call 004FB8B9
0044B98B|.6A 72 push 72
0044B98D|.8D4D EC lea ecx,
0044B990|.E8 24FF0A00 call 004FB8B9
0044B995|.6A 73 push 73
0044B997|.8D4D EC lea ecx,
0044B99A|.E8 1AFF0A00 call 004FB8B9
0044B99F|.6A 69 push 69
0044B9A1|.8D4D EC lea ecx,
0044B9A4|.E8 10FF0A00 call 004FB8B9
0044B9A9|.6A 6F push 6F
0044B9AB|.8D4D EC lea ecx,
0044B9AE|.E8 06FF0A00 call 004FB8B9
0044B9B3|.6A 6E push 6E
0044B9B5|.8D4D EC lea ecx,
0044B9B8|.E8 FCFE0A00 call 004FB8B9
0044B9BD|.6A 20 push 20
0044B9BF|.8D4D EC lea ecx,
0044B9C2|.E8 F2FE0A00 call 004FB8B9
0044B9C7|.6A 72 push 72
0044B9C9|.8D4D EC lea ecx,
0044B9CC|.E8 E8FE0A00 call 004FB8B9
0044B9D1|.6A 65 push 65
0044B9D3|.8D4D EC lea ecx,
0044B9D6|.E8 DEFE0A00 call 004FB8B9
0044B9DB|.6A 71 push 71
0044B9DD|.8D4D EC lea ecx,
0044B9E0|.E8 D4FE0A00 call 004FB8B9
0044B9E5|.6A 75 push 75
0044B9E7|.8D4D EC lea ecx,
0044B9EA|.E8 CAFE0A00 call 004FB8B9
0044B9EF|.6A 69 push 69
0044B9F1|.8D4D EC lea ecx,
0044B9F4|.E8 C0FE0A00 call 004FB8B9
0044B9F9|.6A 72 push 72
0044B9FB|.8D4D EC lea ecx,
0044B9FE|.E8 B6FE0A00 call 004FB8B9
0044BA03|.6A 65 push 65
0044BA05|.8D4D EC lea ecx,
0044BA08|.E8 ACFE0A00 call 004FB8B9
0044BA0D|.6A 73 push 73
0044BA0F|.8D4D EC lea ecx,
0044BA12|.E8 A2FE0A00 call 004FB8B9
0044BA17|.6A 20 push 20
0044BA19|.8D4D EC lea ecx,
0044BA1C|.E8 98FE0A00 call 004FB8B9
0044BA21|.6A 61 push 61
0044BA23|.8D4D EC lea ecx,
0044BA26|.E8 8EFE0A00 call 004FB8B9
0044BA2B|.6A 20 push 20
0044BA2D|.8D4D EC lea ecx,
0044BA30|.E8 84FE0A00 call 004FB8B9
0044BA35|.6A 6E push 6E
0044BA37|.8D4D EC lea ecx,
0044BA3A|.E8 7AFE0A00 call 004FB8B9
0044BA3F|.6A 65 push 65
0044BA41|.8D4D EC lea ecx,
0044BA44|.E8 70FE0A00 call 004FB8B9
0044BA49|.6A 77 push 77
0044BA4B|.8D4D EC lea ecx,
0044BA4E|.E8 66FE0A00 call 004FB8B9
0044BA53|.6A 20 push 20
0044BA55|.8D4D EC lea ecx,
0044BA58|.E8 5CFE0A00 call 004FB8B9
0044BA5D|.6A 72 push 72
0044BA5F|.8D4D EC lea ecx,
0044BA62|.E8 52FE0A00 call 004FB8B9
0044BA67|.6A 65 push 65
0044BA69|.8D4D EC lea ecx,
0044BA6C|.E8 48FE0A00 call 004FB8B9
0044BA71|.6A 67 push 67
0044BA73|.8D4D EC lea ecx,
0044BA76|.E8 3EFE0A00 call 004FB8B9
0044BA7B|.6A 69 push 69
0044BA7D|.8D4D EC lea ecx,
0044BA80|.E8 34FE0A00 call 004FB8B9
0044BA85|.6A 73 push 73
0044BA87|.8D4D EC lea ecx,
0044BA8A|.E8 2AFE0A00 call 004FB8B9
0044BA8F|.6A 74 push 74
0044BA91|.8D4D EC lea ecx,
0044BA94|.E8 20FE0A00 call 004FB8B9
0044BA99|.6A 72 push 72
0044BA9B|.8D4D EC lea ecx,
0044BA9E|.E8 16FE0A00 call 004FB8B9
0044BAA3|.6A 61 push 61
0044BAA5|.8D4D EC lea ecx,
0044BAA8|.E8 0CFE0A00 call 004FB8B9
0044BAAD|.6A 74 push 74
0044BAAF|.8D4D EC lea ecx,
0044BAB2|.E8 02FE0A00 call 004FB8B9
0044BAB7|.6A 69 push 69
0044BAB9|.8D4D EC lea ecx,
0044BABC|.E8 F8FD0A00 call 004FB8B9
0044BAC1|.6A 6F push 6F
0044BAC3|.8D4D EC lea ecx,
0044BAC6|.E8 EEFD0A00 call 004FB8B9
0044BACB|.6A 6E push 6E
0044BACD|.8D4D EC lea ecx,
0044BAD0|.E8 E4FD0A00 call 004FB8B9
0044BAD5|.6A 20 push 20
0044BAD7|.8D4D EC lea ecx,
0044BADA|.E8 DAFD0A00 call 004FB8B9
0044BADF|.6A 63 push 63
0044BAE1|.8D4D EC lea ecx,
0044BAE4|.E8 D0FD0A00 call 004FB8B9
0044BAE9|.6A 6F push 6F
0044BAEB|.8D4D EC lea ecx,
0044BAEE|.E8 C6FD0A00 call 004FB8B9
0044BAF3|.6A 64 push 64
0044BAF5|.8D4D EC lea ecx,
0044BAF8|.E8 BCFD0A00 call 004FB8B9
0044BAFD|.6A 65 push 65
0044BAFF|.8D4D EC lea ecx,
0044BB02|.E8 B2FD0A00 call 004FB8B9
0044BB07|.6A 0A push 0A
0044BB09|.8D4D EC lea ecx,
0044BB0C|.E8 A8FD0A00 call 004FB8B9
0044BB11|.6A 4D push 4D
0044BB13|.8D4D EC lea ecx,
0044BB16|.E8 9EFD0A00 call 004FB8B9
0044BB1B|.6A 61 push 61
0044BB1D|.8D4D EC lea ecx,
0044BB20|.E8 94FD0A00 call 004FB8B9
0044BB25|.6A 69 push 69
0044BB27|.8D4D EC lea ecx,
0044BB2A|.E8 8AFD0A00 call 004FB8B9
0044BB2F|.6A 6C push 6C
0044BB31|.8D4D EC lea ecx,
0044BB34|.E8 80FD0A00 call 004FB8B9
0044BB39|.6A 20 push 20
0044BB3B|.8D4D EC lea ecx,
0044BB3E|.E8 76FD0A00 call 004FB8B9
0044BB43|.6A 74 push 74
0044BB45|.8D4D EC lea ecx,
0044BB48|.E8 6CFD0A00 call 004FB8B9
0044BB4D|.6A 6F push 6F
0044BB4F|.8D4D EC lea ecx,
0044BB52|.E8 62FD0A00 call 004FB8B9
0044BB57|.6A 20 push 20
0044BB59|.8D4D EC lea ecx,
0044BB5C|.E8 58FD0A00 call 004FB8B9
0044BB61|.6A 68 push 68
0044BB63|.8D4D EC lea ecx,
0044BB66|.E8 4EFD0A00 call 004FB8B9
0044BB6B|.6A 65 push 65
0044BB6D|.8D4D EC lea ecx,
0044BB70|.E8 44FD0A00 call 004FB8B9
0044BB75|.6A 6E push 6E
0044BB77|.8D4D EC lea ecx,
0044BB7A|.E8 3AFD0A00 call 004FB8B9
0044BB7F|.6A 72 push 72
0044BB81|.8D4D EC lea ecx,
0044BB84|.E8 30FD0A00 call 004FB8B9
0044BB89|.6A 79 push 79
0044BB8B|.8D4D EC lea ecx,
0044BB8E|.E8 26FD0A00 call 004FB8B9
0044BB93|.6A 2E push 2E
0044BB95|.8D4D EC lea ecx,
0044BB98|.E8 1CFD0A00 call 004FB8B9
0044BB9D|.6A 6B push 6B
0044BB9F|.8D4D EC lea ecx,
0044BBA2|.E8 12FD0A00 call 004FB8B9
0044BBA7|.6A 65 push 65
0044BBA9|.8D4D EC lea ecx,
0044BBAC|.E8 08FD0A00 call 004FB8B9
0044BBB1|.6A 6C push 6C
0044BBB3|.8D4D EC lea ecx,
0044BBB6|.E8 FEFC0A00 call 004FB8B9
0044BBBB|.6A 6C push 6C
0044BBBD|.8D4D EC lea ecx,
0044BBC0|.E8 F4FC0A00 call 004FB8B9
0044BBC5|.6A 6E push 6E
0044BBC7|.8D4D EC lea ecx,
0044BBCA|.E8 EAFC0A00 call 004FB8B9
0044BBCF|.6A 65 push 65
0044BBD1|.8D4D EC lea ecx,
0044BBD4|.E8 E0FC0A00 call 004FB8B9
0044BBD9|.6A 72 push 72
0044BBDB|.8D4D EC lea ecx,
0044BBDE|.E8 D6FC0A00 call 004FB8B9
0044BBE3|.6A 40 push 40
0044BBE5|.8D4D EC lea ecx,
0044BBE8|.E8 CCFC0A00 call 004FB8B9
0044BBED|.6A 75 push 75
0044BBEF|.8D4D EC lea ecx,
0044BBF2|.E8 C2FC0A00 call 004FB8B9
0044BBF7|.6A 74 push 74
0044BBF9|.8D4D EC lea ecx,
0044BBFC|.E8 B8FC0A00 call 004FB8B9
0044BC01|.6A 61 push 61
0044BC03|.8D4D EC lea ecx,
0044BC06|.E8 AEFC0A00 call 004FB8B9
0044BC0B|.6A 6E push 6E
0044BC0D|.8D4D EC lea ecx,
0044BC10|.E8 A4FC0A00 call 004FB8B9
0044BC15|.6A 65 push 65
0044BC17|.8D4D EC lea ecx,
0044BC1A|.E8 9AFC0A00 call 004FB8B9
0044BC1F|.6A 74 push 74
0044BC21|.8D4D EC lea ecx,
0044BC24|.E8 90FC0A00 call 004FB8B9
0044BC29|.6A 2E push 2E
0044BC2B|.8D4D EC lea ecx,
0044BC2E|.E8 86FC0A00 call 004FB8B9
0044BC33|.6A 61 push 61
0044BC35|.8D4D EC lea ecx,
0044BC38|.E8 7CFC0A00 call 004FB8B9
0044BC3D|.6A 74 push 74
0044BC3F|.8D4D EC lea ecx,
0044BC42|.E8 72FC0A00 call 004FB8B9
0044BC47|.6A 20 push 20
0044BC49|.8D4D EC lea ecx,
0044BC4C|.E8 68FC0A00 call 004FB8B9
0044BC51|.6A 74 push 74
0044BC53|.8D4D EC lea ecx,
0044BC56|.E8 5EFC0A00 call 004FB8B9
0044BC5B|.6A 6F push 6F
0044BC5D|.8D4D EC lea ecx,
0044BC60|.E8 54FC0A00 call 004FB8B9
0044BC65|.6A 20 push 20
0044BC67|.8D4D EC lea ecx,
0044BC6A|.E8 4AFC0A00 call 004FB8B9
0044BC6F|.6A 67 push 67
0044BC71|.8D4D EC lea ecx,
0044BC74|.E8 40FC0A00 call 004FB8B9
0044BC79|.6A 65 push 65
0044BC7B|.8D4D EC lea ecx,
0044BC7E|.E8 36FC0A00 call 004FB8B9
0044BC83|.6A 74 push 74
0044BC85|.8D4D EC lea ecx,
0044BC88|.E8 2CFC0A00 call 004FB8B9
0044BC8D|.6A 20 push 20
0044BC8F|.8D4D EC lea ecx,
0044BC92|.E8 22FC0A00 call 004FB8B9
0044BC97|.6A 79 push 79
0044BC99|.8D4D EC lea ecx,
0044BC9C|.E8 18FC0A00 call 004FB8B9
0044BCA1|.6A 6F push 6F
0044BCA3|.8D4D EC lea ecx,
0044BCA6|.E8 0EFC0A00 call 004FB8B9
0044BCAB|.6A 75 push 75
0044BCAD|.8D4D EC lea ecx,
0044BCB0|.E8 04FC0A00 call 004FB8B9
0044BCB5|.6A 72 push 72
0044BCB7|.8D4D EC lea ecx,
0044BCBA|.E8 FAFB0A00 call 004FB8B9
0044BCBF|.6A 20 push 20
0044BCC1|.8D4D EC lea ecx,
0044BCC4|.E8 F0FB0A00 call 004FB8B9
0044BCC9|.6A 6E push 6E
0044BCCB|.8D4D EC lea ecx,
0044BCCE|.E8 E6FB0A00 call 004FB8B9
0044BCD3|.6A 65 push 65
0044BCD5|.8D4D EC lea ecx,
0044BCD8|.E8 DCFB0A00 call 004FB8B9
0044BCDD|.6A 77 push 77
0044BCDF|.8D4D EC lea ecx,
0044BCE2|.E8 D2FB0A00 call 004FB8B9
0044BCE7|.6A 20 push 20
0044BCE9|.8D4D EC lea ecx,
0044BCEC|.E8 C8FB0A00 call 004FB8B9
0044BCF1|.6A 63 push 63
0044BCF3|.8D4D EC lea ecx,
0044BCF6|.E8 BEFB0A00 call 004FB8B9
0044BCFB|.6A 6F push 6F
0044BCFD|.8D4D EC lea ecx,
0044BD00|.E8 B4FB0A00 call 004FB8B9
0044BD05|.6A 64 push 64
0044BD07|.8D4D EC lea ecx,
0044BD0A|.E8 AAFB0A00 call 004FB8B9
0044BD0F|.6A 65 push 65
0044BD11|.8D4D EC lea ecx,
0044BD14|.E8 A0FB0A00 call 004FB8B9
0044BD19|.6A 0A push 0A
0044BD1B|.8D4D EC lea ecx,
0044BD1E|.E8 96FB0A00 call 004FB8B9
0044BD23|.6A 41 push 41
0044BD25|.8D4D EC lea ecx,
0044BD28|.E8 8CFB0A00 call 004FB8B9
0044BD2D|.6A 74 push 74
0044BD2F|.8D4D EC lea ecx,
0044BD32|.E8 82FB0A00 call 004FB8B9
0044BD37|.6A 74 push 74
0044BD39|.8D4D EC lea ecx,
0044BD3C|.E8 78FB0A00 call 004FB8B9
0044BD41|.6A 61 push 61
0044BD43|.8D4D EC lea ecx,
0044BD46|.E8 6EFB0A00 call 004FB8B9
0044BD4B|.6A 63 push 63
0044BD4D|.8D4D EC lea ecx,
0044BD50|.E8 64FB0A00 call 004FB8B9
0044BD55|.6A 68 push 68
0044BD57|.8D4D EC lea ecx,
0044BD5A|.E8 5AFB0A00 call 004FB8B9
0044BD5F|.6A 20 push 20
0044BD61|.8D4D EC lea ecx,
0044BD64|.E8 50FB0A00 call 004FB8B9
0044BD69|.6A 79 push 79
0044BD6B|.8D4D EC lea ecx,
0044BD6E|.E8 46FB0A00 call 004FB8B9
0044BD73|.6A 6F push 6F
0044BD75|.8D4D EC lea ecx,
0044BD78|.E8 3CFB0A00 call 004FB8B9
0044BD7D|.6A 75 push 75
0044BD7F|.8D4D EC lea ecx,
0044BD82|.E8 32FB0A00 call 004FB8B9
0044BD87|.6A 72 push 72
0044BD89|.8D4D EC lea ecx,
0044BD8C|.E8 28FB0A00 call 004FB8B9
0044BD91|.6A 20 push 20
0044BD93|.8D4D EC lea ecx,
0044BD96|.E8 1EFB0A00 call 004FB8B9
0044BD9B|.6A 6F push 6F
0044BD9D|.8D4D EC lea ecx,
0044BDA0|.E8 14FB0A00 call 004FB8B9
0044BDA5|.6A 6C push 6C
0044BDA7|.8D4D EC lea ecx,
0044BDAA|.E8 0AFB0A00 call 004FB8B9
0044BDAF|.6A 64 push 64
0044BDB1|.8D4D EC lea ecx,
0044BDB4|.E8 00FB0A00 call 004FB8B9
0044BDB9|.6A 20 push 20
0044BDBB|.8D4D EC lea ecx,
0044BDBE|.E8 F6FA0A00 call 004FB8B9
0044BDC3|.6A 63 push 63
0044BDC5|.8D4D EC lea ecx,
0044BDC8|.E8 ECFA0A00 call 004FB8B9
0044BDCD|.6A 6F push 6F
0044BDCF|.8D4D EC lea ecx,
0044BDD2|.E8 E2FA0A00 call 004FB8B9
0044BDD7|.6A 64 push 64
0044BDD9|.8D4D EC lea ecx,
0044BDDC|.E8 D8FA0A00 call 004FB8B9
0044BDE1|.6A 65 push 65
0044BDE3|.8D4D EC lea ecx,
0044BDE6|.E8 CEFA0A00 call 004FB8B9
0044BDEB|.6A 2E push 2E
0044BDED|.8D4D EC lea ecx,
0044BDF0|.E8 C4FA0A00 call 004FB8B9
0044BDF5|.6A 00 push 0
0044BDF7|.6A 00 push 0
0044BDF9|.8D4D EC lea ecx,
0044BDFC|.E8 2F84FCFF call 00414230
0044BE01|.50 push eax ; |Arg1
0044BE02|.E8 54DB0B00 call 0050995B ; \Photoplo.0050995B
0044BE07|>68 10C75700 push 0057C710
0044BE0C|.8B4D 08 mov ecx,
0044BE0F|.E8 10F70A00 call 004FB524
0044BE14|.8B45 D8 mov eax,
0044BE17|.83C8 01 or eax, 1
0044BE1A|.8945 D8 mov , eax
0044BE1D|.C645 FC 01 mov byte ptr , 1
0044BE21|.8D4D EC lea ecx,
0044BE24|.E8 8DF60A00 call 004FB4B6
0044BE29|.C645 FC 00 mov byte ptr , 0
0044BE2D|.8D4D 0C lea ecx,
0044BE30|.E8 81F60A00 call 004FB4B6
0044BE35|.8B45 08 mov eax,
0044BE38|.EB 73 jmp short 0044BEAD
0044BE3A|>51 push ecx
0044BE3B|.8BCC mov ecx, esp
0044BE3D|.8965 E0 mov , esp
0044BE40|.8D45 0C lea eax,
0044BE43|.50 push eax
0044BE44|.E8 E2F30A00 call 004FB22B
0044BE49|.8945 94 mov , eax ; |
0044BE4C|.8D4D DC lea ecx, ; |
0044BE4F|.51 push ecx ; |Arg1
0044BE50|.8B4D F0 mov ecx, ; |
0044BE53|.E8 68000000 call 0044BEC0 ; \算法call(3),跟进
0044BE58|.8945 90 mov , eax
0044BE5B|.8B55 90 mov edx,
0044BE5E|.8955 8C mov , edx
0044BE61|.C645 FC 04 mov byte ptr , 4
0044BE65|.8B45 8C mov eax,
0044BE68|.50 push eax
0044BE69|.8D4D EC lea ecx,
0044BE6C|.E8 7EF70A00 call 004FB5EF ;真码1与真码2比较
0044BE71|.C645 FC 02 mov byte ptr , 2
0044BE75|.8D4D DC lea ecx,
0044BE78|.E8 39F60A00 call 004FB4B6
0044BE7D|.8D45 EC lea eax,
0044BE80|.50 push eax
0044BE81|.8B4D 08 mov ecx,
0044BE84|.E8 A2F30A00 call 004FB22B
0044BE89|.8B4D D8 mov ecx,
0044BE8C|.83C9 01 or ecx, 1
0044BE8F|.894D D8 mov , ecx
0044BE92|.C645 FC 01 mov byte ptr , 1
0044BE96|.8D4D EC lea ecx,
0044BE99|.E8 18F60A00 call 004FB4B6
0044BE9E|.C645 FC 00 mov byte ptr , 0
0044BEA2|.8D4D 0C lea ecx,
0044BEA5|.E8 0CF60A00 call 004FB4B6
0044BEAA|.8B45 08 mov eax,
0044BEAD|>8B4D F4 mov ecx,
0044BEB0|.64:890D 00000>mov fs:, ecx
0044BEB7|.5F pop edi
0044BEB8|.5E pop esi
0044BEB9|.5B pop ebx
0044BEBA|.8BE5 mov esp, ebp
0044BEBC|.5D pop ebp
0044BEBD\.C2 0800 retn 8
算法call(2):
0044C0E0/$55 push ebp
0044C0E1|.8BEC mov ebp, esp
0044C0E3|.6A FF push -1
0044C0E5|.68 B2795200 push 005279B2 ;SE 处理程序安装
0044C0EA|.64:A1 0000000>mov eax, fs:
0044C0F0|.50 push eax
0044C0F1|.64:8925 00000>mov fs:, esp
0044C0F8|.83EC 5C sub esp, 5C
0044C0FB|.53 push ebx
0044C0FC|.56 push esi
0044C0FD|.57 push edi
0044C0FE|.894D F0 mov , ecx
0044C101|.C745 D8 00000>mov dword ptr , 0
0044C108|.C745 FC 01000>mov dword ptr , 1
0044C10F|.8D4D E0 lea ecx,
0044C112|.E8 1975FCFF call 00413630
0044C117|.C645 FC 02 mov byte ptr , 2
0044C11B|.8D4D DC lea ecx,
0044C11E|.E8 0D75FCFF call 00413630
0044C123|.C645 FC 03 mov byte ptr , 3
0044C127|.6A 48 push 48 ;H
0044C129|.8D4D E0 lea ecx,
0044C12C|.E8 368F0A00 call 004F5067
0044C131|.6A 45 push 45 ;E
0044C133|.8D4D E0 lea ecx,
0044C136|.E8 7EF70A00 call 004FB8B9
0044C13B|.6A 4E push 4E ;N
0044C13D|.8D4D E0 lea ecx,
0044C140|.E8 74F70A00 call 004FB8B9
0044C145|.6A 52 push 52 ;R
0044C147|.8D4D E0 lea ecx,
0044C14A|.E8 6AF70A00 call 004FB8B9
0044C14F|.6A 59 push 59 ;Y
0044C151|.8D4D E0 lea ecx,
0044C154|.E8 60F70A00 call 004FB8B9
0044C159|.6A 53 push 53 ;S
0044C15B|.8D4D E0 lea ecx,
0044C15E|.E8 56F70A00 call 004FB8B9
0044C163|.6A 43 push 43 ;C
0044C165|.8D4D E0 lea ecx,
0044C168|.E8 4CF70A00 call 004FB8B9
0044C16D|.6A 4F push 4F ;O
0044C16F|.8D4D E0 lea ecx,
0044C172|.E8 42F70A00 call 004FB8B9
0044C177|.6A 44 push 44 ;D
0044C179|.8D4D E0 lea ecx,
0044C17C|.E8 38F70A00 call 004FB8B9
0044C181|.6A 45 push 45 ;E
0044C183|.8D4D E0 lea ecx,
0044C186|.E8 2EF70A00 call 004FB8B9
0044C18B|.6A 50 push 50 ;P
0044C18D|.8D4D DC lea ecx,
0044C190|.E8 D28E0A00 call 004F5067
0044C195|.6A 48 push 48 ;H
0044C197|.8D4D DC lea ecx,
0044C19A|.E8 1AF70A00 call 004FB8B9
0044C19F|.6A 50 push 50 ;P
0044C1A1|.8D4D DC lea ecx,
0044C1A4|.E8 10F70A00 call 004FB8B9
0044C1A9|.6A 31 push 31 ;1
0044C1AB|.8D4D DC lea ecx,
0044C1AE|.E8 06F70A00 call 004FB8B9
0044C1B3|.C745 EC 00000>mov dword ptr , 0
0044C1BA|.C745 E8 00000>mov dword ptr , 0
0044C1C1|.C745 E4 00000>mov dword ptr , 0
0044C1C8|.EB 09 jmp short 0044C1D3
0044C1CA|>8B45 EC /mov eax,
0044C1CD|.83C0 01 |add eax, 1
0044C1D0|.8945 EC |mov , eax
0044C1D3|>8D4D 0C lea ecx,
0044C1D6|.E8 0577FCFF |call 004138E0 ;取用户名
0044C1DB|.3945 EC |cmp , eax ;用户名各字符是否取完
0044C1DE|.7D 7D |jge short 0044C25D ;完则跳
0044C1E0|.8B45 E4 |mov eax,
0044C1E3|.50 |push eax ; /Arg1
0044C1E4|.8D4D E0 |lea ecx, ; |
0044C1E7|.E8 3477FCFF |call 00413920 ; \取固定字串(HENRYSCODE),记为A
0044C1EC|.0FBEF0 |movsx esi, al ;固定字串(HENRYSCODE)逐位移至ESI
0044C1EF|.8B4D EC |mov ecx,
0044C1F2|.51 |push ecx ; /Arg1
0044C1F3|.8D4D 0C |lea ecx, ; |
0044C1F6|.E8 2577FCFF |call 00413920 ; \取用户名
0044C1FB|.0FBED0 |movsx edx, al ;用户名逐位移至EDX
0044C1FE|.03F2 |add esi, edx ;A与用户名ASCII值逐位相加,结果保留于ESI
0044C200|.8B45 E8 |mov eax,
0044C203|.50 |push eax ; /Arg1
0044C204|.8D4D DC |lea ecx, ; |
0044C207|.E8 1477FCFF |call 00413920 ; \取固定字串(PHP1),记为B
0044C20C|.0FBEC8 |movsx ecx, al ;固定字串(PHP1)逐位移至ECX
0044C20F|.03F1 |add esi, ecx ;A、B、用户名ASCII值逐位相加,结果保留于ESI
0044C211|.56 |push esi
0044C212|.8B55 E4 |mov edx,
0044C215|.52 |push edx
0044C216|.8D4D E0 |lea ecx,
0044C219|.E8 4AF80A00 |call 004FBA68 ;每轮ESI值后两位依次替换A各个字符ASCII,替换后的字符串记位C
0044C21E|.8B45 E4 |mov eax,
0044C221|.83C0 01 |add eax, 1
0044C224|.8945 E4 |mov , eax
0044C227|.8D4D E0 |lea ecx,
0044C22A|.E8 B176FCFF |call 004138E0
0044C22F|.3945 E4 |cmp , eax ;A各字符是否被替换完
0044C232|.75 07 |jnz short 0044C23B
0044C234|.C745 E4 00000>|mov dword ptr , 0
0044C23B|>8B45 E8 |mov eax,
0044C23E|.83C0 01 |add eax, 1
0044C241|.8945 E8 |mov , eax
0044C244|.8D4D DC |lea ecx,
0044C247|.E8 9476FCFF |call 004138E0
0044C24C|.3945 E8 |cmp , eax ;PHP1各字符是否取完
0044C24F|.75 07 |jnz short 0044C258
0044C251|.C745 E8 00000>|mov dword ptr , 0
0044C258|>^ E9 6DFFFFFF \jmp 0044C1CA
0044C25D|>C745 E4 00000>mov dword ptr , 0
0044C264|.EB 09 jmp short 0044C26F
0044C266|>8B45 E4 /mov eax,
0044C269|.83C0 01 |add eax, 1
0044C26C|.8945 E4 |mov , eax
0044C26F|>8D4D E0 lea ecx,
0044C272|.E8 6976FCFF |call 004138E0
0044C277|.3945 E4 |cmp , eax
0044C27A|.7D 4B |jge short 0044C2C7
0044C27C|>8B45 E4 |/mov eax,
0044C27F|.50 ||push eax ; /Arg1
0044C280|.8D4D E0 ||lea ecx, ; |
0044C283|.E8 9876FCFF ||call 00413920 ; \取C
0044C288|.0FBEC8 ||movsx ecx, al ;C逐位移至ECX
0044C28B|.83F9 41 ||cmp ecx, 41 ;跟41比较
0044C28E|.7C 14 ||jl short 0044C2A4 ;小则跳,直至C各字符ASCII值大于41后才不进入加1B的循环过程
0044C290|.8B45 E4 ||mov eax,
0044C293|.50 ||push eax ; /Arg1
0044C294|.8D4D E0 ||lea ecx, ; |
0044C297|.E8 8476FCFF ||call 00413920 ; \取D
0044C29C|.0FBEC8 ||movsx ecx, al ;D逐位移至ECX
0044C29F|.83F9 5A ||cmp ecx, 5A ;跟5A比较
0044C2A2|.7E 21 ||jle short 0044C2C5 ;小于等于5A则取下一字符
0044C2A4|>8B45 E4 ||mov eax,
0044C2A7|.50 ||push eax ; /Arg1
0044C2A8|.8D4D E0 ||lea ecx, ; |
0044C2AB|.E8 7076FCFF ||call 00413920 ; \取C
0044C2B0|.0FBEC8 ||movsx ecx, al ;C逐位移至ECX
0044C2B3|.83C1 1B ||add ecx, 1B ;加1B
0044C2B6|.51 ||push ecx
0044C2B7|.8B55 E4 ||mov edx,
0044C2BA|.52 ||push edx
0044C2BB|.8D4D E0 ||lea ecx,
0044C2BE|.E8 A5F70A00 ||call 004FBA68 ;C各ASCII值按上述方式逐位依次替换,结果记为D
0044C2C3|.^ EB B7 |\jmp short 0044C27C
0044C2C5|>^ EB 9F \jmp short 0044C266
0044C2C7|>8D45 E0 lea eax, ;最终转换结果保存于EAX所指向的内存地址(真码1)
0044C2CA|.50 push eax
0044C2CB|.8B4D 08 mov ecx,
0044C2CE|.E8 58EF0A00 call 004FB22B
0044C2D3|.8B4D D8 mov ecx,
0044C2D6|.83C9 01 or ecx, 1
0044C2D9|.894D D8 mov , ecx
0044C2DC|.C645 FC 02 mov byte ptr , 2
0044C2E0|.8D4D DC lea ecx,
0044C2E3|.E8 CEF10A00 call 004FB4B6
0044C2E8|.C645 FC 01 mov byte ptr , 1
0044C2EC|.8D4D E0 lea ecx,
0044C2EF|.E8 C2F10A00 call 004FB4B6
0044C2F4|.C645 FC 00 mov byte ptr , 0
0044C2F8|.8D4D 0C lea ecx,
0044C2FB|.E8 B6F10A00 call 004FB4B6
0044C300|.8B45 08 mov eax,
0044C303|.8B4D F4 mov ecx,
0044C306|.64:890D 00000>mov fs:, ecx
0044C30D|.5F pop edi
0044C30E|.5E pop esi
0044C30F|.5B pop ebx
0044C310|.8BE5 mov esp, ebp
0044C312|.5D pop ebp
0044C313\.C2 0800 retn 8
算法call(3):
0044BEC0/$55 push ebp
0044BEC1|.8BEC mov ebp, esp
0044BEC3|.6A FF push -1
0044BEC5|.68 69795200 push 00527969 ;SE 处理程序安装
0044BECA|.64:A1 0000000>mov eax, fs:
0044BED0|.50 push eax
0044BED1|.64:8925 00000>mov fs:, esp
0044BED8|.83EC 54 sub esp, 54
0044BEDB|.53 push ebx
0044BEDC|.56 push esi
0044BEDD|.57 push edi
0044BEDE|.894D F0 mov , ecx
0044BEE1|.C745 E0 00000>mov dword ptr , 0
0044BEE8|.C745 FC 01000>mov dword ptr , 1
0044BEEF|.8D4D E4 lea ecx,
0044BEF2|.E8 3977FCFF call 00413630
0044BEF7|.C645 FC 02 mov byte ptr , 2
0044BEFB|.68 0C5B5300 push 00535B0C ;uxdcolfghewz
0044BF00|.8D4D E4 lea ecx,
0044BF03|.E8 37F70A00 call 004FB63F
0044BF08|.8D4D 0C lea ecx,
0044BF0B|.E8 D079FCFF call 004138E0
0044BF10|.83F8 07 cmp eax, 7 ;用户名位数与7比较
0044BF13|.7F 35 jg short 0044BF4A
0044BF15|.8D45 E4 lea eax,
0044BF18|.50 push eax
0044BF19|.8B4D 08 mov ecx,
0044BF1C|.E8 0AF30A00 call 004FB22B
0044BF21|.8B4D E0 mov ecx,
0044BF24|.83C9 01 or ecx, 1
0044BF27|.894D E0 mov , ecx
0044BF2A|.C645 FC 01 mov byte ptr , 1
0044BF2E|.8D4D E4 lea ecx,
0044BF31|.E8 80F50A00 call 004FB4B6
0044BF36|.C645 FC 00 mov byte ptr , 0
0044BF3A|.8D4D 0C lea ecx,
0044BF3D|.E8 74F50A00 call 004FB4B6
0044BF42|.8B45 08 mov eax,
0044BF45|.E9 7F010000 jmp 0044C0C9
0044BF4A|>C745 E8 00000>mov dword ptr , 0
0044BF51|.C745 EC 00000>mov dword ptr , 0
0044BF58|.EB 09 jmp short 0044BF63
0044BF5A|>8B45 E8 /mov eax,
0044BF5D|.83C0 01 |add eax, 1
0044BF60|.8945 E8 |mov , eax
0044BF63|>8D4D 0C lea ecx,
0044BF66|.E8 7579FCFF |call 004138E0
0044BF6B|.3945 E8 |cmp , eax
0044BF6E|.0F8D BB000000 |jge 0044C02F
0044BF74|.8B45 EC |mov eax,
0044BF77|.50 |push eax ; /Arg1
0044BF78|.8D4D E4 |lea ecx, ; |
0044BF7B|.E8 A079FCFF |call 00413920 ; \取固定字串(UXDCOLFGHEWZ)
0044BF80|.0FBEF0 |movsx esi, al ;固定字串(UXDCOLFGHEWZ)各字符ASCII值逐位至ESI
0044BF83|.8B4D E8 |mov ecx,
0044BF86|.51 |push ecx ; /Arg1
0044BF87|.8D4D 0C |lea ecx, ; |
0044BF8A|.E8 9179FCFF |call 00413920 ; \取用户名
0044BF8F|.0FBED0 |movsx edx, al ;用户名各字符ASCII值逐位至EDX
0044BF92|.33F2 |xor esi, edx ;第一次异或ESI和EDX
0044BF94|.56 |push esi
0044BF95|.8B45 EC |mov eax,
0044BF98|.50 |push eax
0044BF99|.8D4D E4 |lea ecx,
0044BF9C|.E8 C7FA0A00 |call 004FBA68
0044BFA1|.837D E8 00 |cmp dword ptr , 0
0044BFA5|.74 30 |je short 0044BFD7
0044BFA7|.8B45 EC |mov eax,
0044BFAA|.50 |push eax ; /Arg1
0044BFAB|.8D4D E4 |lea ecx, ; |
0044BFAE|.E8 6D79FCFF |call 00413920 ; \取第一次异或后的结果
0044BFB3|.0FBEF0 |movsx esi, al ;至ESI
0044BFB6|.8B4D E8 |mov ecx,
0044BFB9|.83E9 01 |sub ecx, 1
0044BFBC|.51 |push ecx ; /Arg1
0044BFBD|.8D4D 0C |lea ecx, ; |
0044BFC0|.E8 5B79FCFF |call 00413920 ; \第二轮取用户名比第一轮晚取一次
0044BFC5|.0FBED0 |movsx edx, al ;用户名各字符ASCII值逐位至EDX
0044BFC8|.33F2 |xor esi, edx ;第二次异或ESI和EDX
0044BFCA|.56 |push esi
0044BFCB|.8B45 EC |mov eax,
0044BFCE|.50 |push eax
0044BFCF|.8D4D E4 |lea ecx,
0044BFD2|.E8 91FA0A00 |call 004FBA68
0044BFD7|>837D E8 01 |cmp dword ptr , 1
0044BFDB|.7E 30 |jle short 0044C00D
0044BFDD|.8B45 EC |mov eax,
0044BFE0|.50 |push eax ; /Arg1
0044BFE1|.8D4D E4 |lea ecx, ; |
0044BFE4|.E8 3779FCFF |call 00413920 ; \取第二次异或后的结果
0044BFE9|.0FBEF0 |movsx esi, al ;异或的结果至ESI
0044BFEC|.8B4D E8 |mov ecx,
0044BFEF|.83E9 02 |sub ecx, 2
0044BFF2|.51 |push ecx ; /Arg1
0044BFF3|.8D4D 0C |lea ecx, ; |
0044BFF6|.E8 2579FCFF |call 00413920 ; \第三轮取用户名比第二轮晚取一次
0044BFFB|.0FBED0 |movsx edx, al ;至EDX
0044BFFE|.33F2 |xor esi, edx ;第三次异或ESI和EDX
0044C000|.56 |push esi
0044C001|.8B45 EC |mov eax,
0044C004|.50 |push eax
0044C005|.8D4D E4 |lea ecx,
0044C008|.E8 5BFA0A00 |call 004FBA68
0044C00D|>8B45 EC |mov eax,
0044C010|.83C0 01 |add eax, 1
0044C013|.8945 EC |mov , eax
0044C016|.8D4D E4 |lea ecx,
0044C019|.E8 C278FCFF |call 004138E0
0044C01E|.3945 EC |cmp , eax
0044C021|.75 07 |jnz short 0044C02A
0044C023|.C745 EC 00000>|mov dword ptr , 0
0044C02A|>^ E9 2BFFFFFF \jmp 0044BF5A
0044C02F|>C745 EC 00000>mov dword ptr , 0
0044C036|.EB 09 jmp short 0044C041
0044C038|>8B45 EC /mov eax,
0044C03B|.83C0 01 |add eax, 1
0044C03E|.8945 EC |mov , eax
0044C041|>8D4D E4 lea ecx,
0044C044|.E8 9778FCFF |call 004138E0 ;取上述转换后结果,记为E
0044C049|.3945 EC |cmp , eax
0044C04C|.7D 4B |jge short 0044C099
0044C04E|>8B45 EC |/mov eax,
0044C051|.50 ||push eax ; /Arg1
0044C052|.8D4D E4 ||lea ecx, ; |
0044C055|.E8 C678FCFF ||call 00413920 ; \取E
0044C05A|.0FBEC8 ||movsx ecx, al ;E各字符ASCII值逐位至ECX
0044C05D|.83F9 41 ||cmp ecx, 41 ;跟41比较
0044C060|.7C 14 ||jl short 0044C076 ;小则进入下一处理过程(ASCII值加1B直至大于等于41)
0044C062|.8B45 EC ||mov eax,
0044C065|.50 ||push eax ; /Arg1
0044C066|.8D4D E4 ||lea ecx, ; |
0044C069|.E8 B278FCFF ||call 00413920 ; \取E(加1B处理后的E)
0044C06E|.0FBEC8 ||movsx ecx, al ;E各字符ASCII值逐位至ECX
0044C071|.83F9 5A ||cmp ecx, 5A ;跟5A比较
0044C074|.7E 21 ||jle short 0044C097
0044C076|>8B45 EC ||mov eax,
0044C079|.50 ||push eax ; /Arg1
0044C07A|.8D4D E4 ||lea ecx, ; |
0044C07D|.E8 9E78FCFF ||call 00413920 ; \取E
0044C082|.0FBEC8 ||movsx ecx, al ;E各字符ASCII值逐位至ECX
0044C085|.83C1 1B ||add ecx, 1B ;加1B
0044C088|.51 ||push ecx
0044C089|.8B55 EC ||mov edx,
0044C08C|.52 ||push edx
0044C08D|.8D4D E4 ||lea ecx,
0044C090|.E8 D3F90A00 ||call 004FBA68
0044C095|.^ EB B7 |\jmp short 0044C04E
0044C097|>^ EB 9F \jmp short 0044C038
0044C099|>8D45 E4 lea eax, ;最终结果(真码2)保存于EAX所指向的内存处
0044C09C|.50 push eax
0044C09D|.8B4D 08 mov ecx,
0044C0A0|.E8 86F10A00 call 004FB22B
0044C0A5|.8B4D E0 mov ecx,
0044C0A8|.83C9 01 or ecx, 1
0044C0AB|.894D E0 mov , ecx
0044C0AE|.C645 FC 01 mov byte ptr , 1
0044C0B2|.8D4D E4 lea ecx,
0044C0B5|.E8 FCF30A00 call 004FB4B6
0044C0BA|.C645 FC 00 mov byte ptr , 0
0044C0BE|.8D4D 0C lea ecx,
0044C0C1|.E8 F0F30A00 call 004FB4B6
0044C0C6|.8B45 08 mov eax,
0044C0C9|>8B4D F4 mov ecx,
0044C0CC|.64:890D 00000>mov fs:, ecx
0044C0D3|.5F pop edi
0044C0D4|.5E pop esi
0044C0D5|.5B pop ebx
0044C0D6|.8BE5 mov esp, ebp
0044C0D8|.5D pop ebp
0044C0D9\.C2 0800 retn 8
------------------------------------------------------------------------
【破解总结】
1、注册失败提示未以明文直接出现,而以各字符ASCII值出现,增加了破解难度;
2、存在注册黑名单,如用户名与黑名单中用户名一致,则注册失败;
3、用户名长度不同,则有不同的注册算法,注册名长度等于小于7,采用注册算法(2),注册名长度大于7,采用注册算法(3)(当注册名长度等于小于7,固定字符串“UXDCOLFGHEWZ”可做通用注册码:),当注册名长度大于7,真码1,真码2均可注册成功,是否有暗桩,未及测试);
4、注册信息保存于注册表中
------------------------------------------------------------------------
【版权声明】本文系作者原创, 转载请注明作者并保持文章的完整, 谢谢! /:? /:? /:? 学习并支持:lol: 比较用工夫啊 好长哦~~~ 真认真,学习:handshake 厉害!学习啦;P 支持你一下... 好强的功底。。。。;) ;) 分析的不错的说!!!
页:
[1]