[Asm] 纯文本查看 复制代码
0041624B |. 8B49 F8 mov ecx,dword ptr ds:[ecx-0x8] ; 假码长度
0041624E |. 8D71 FF lea esi,dword ptr ds:[ecx-0x1] ; 最后一位
00416251 |. 85F6 test esi,esi
00416253 |. C645 FC 01 mov byte ptr ss:[ebp-0x4],0x1
00416257 |. 7C 53 jl short Watermar.004162AC
00416259 |> 6A 01 /push 0x1
0041625B |. 56 |push esi
0041625C |. 8D45 08 |lea eax,dword ptr ss:[ebp+0x8]
0041625F |. 50 |push eax
00416260 |. 8BCB |mov ecx,ebx
00416262 |. E8 3CE8FEFF |call Watermar.00404AA3
00416267 |. FF30 |push dword ptr ds:[eax]
00416269 |. C645 FC 02 |mov byte ptr ss:[ebp-0x4],0x2
0041626D |. E8 83BC0000 |call Watermar.00421EF5
00416272 |. 6A 09 |push 0x9
00416274 |. 59 |pop ecx ; ecx=9
00416275 |. 2BC8 |sub ecx,eax ; 9减去假码倒序后的每一位
00416277 |. 51 |push ecx ; Watermar.00416228
00416278 |. 8D45 EC |lea eax,dword ptr ss:[ebp-0x14]
0041627B |. 68 70394300 |push Watermar.00433970 ; UNICODE "%d"
00416280 |. 50 |push eax
00416281 |. E8 670CFFFF |call Watermar.00406EED ; 转十进制
00416286 |. 83C4 10 |add esp,0x10
00416289 |. 8D4D 08 |lea ecx,dword ptr ss:[ebp+0x8]
0041628C |. C645 FC 01 |mov byte ptr ss:[ebp-0x4],0x1
00416290 |. E8 8DD6FEFF |call Watermar.00403922
00416295 |. 8B45 EC |mov eax,dword ptr ss:[ebp-0x14]
00416298 |. 50 |push eax
00416299 |. FF70 F8 |push dword ptr ds:[eax-0x8]
0041629C |. 8D4D E8 |lea ecx,dword ptr ss:[ebp-0x18]
0041629F |. E8 80E3FEFF |call Watermar.00404624 ; 字符串连接功能,存入ebp-0x18处
004162A4 |. 4E |dec esi
004162A5 |.^ 79 B2 \jns short Watermar.00416259
004162A7 |. A1 64FA4300 mov eax,dword ptr ds:[0x43FA64]
004162AC |> 8B4D E8 mov ecx,dword ptr ss:[ebp-0x18] ; 存入处理后字符串,进行下面的验证
004162AF |. 8B79 F8 mov edi,dword ptr ds:[ecx-0x8] ; 邮箱
004162B2 |. 33F6 xor esi,esi
004162B4 |. 8945 08 mov dword ptr ss:[ebp+0x8],eax
004162B7 |. 8945 F0 mov dword ptr ss:[ebp-0x10],eax
004162BA |. 85FF test edi,edi
004162BC |. C645 FC 04 mov byte ptr ss:[ebp-0x4],0x4
004162C0 |. 0F8E 9B000000 jle Watermar.00416361
004162C6 |> 6A 02 /push 0x2 ; 每两位取一个字串
004162C8 |. 56 |push esi
004162C9 |. 8D45 E4 |lea eax,dword ptr ss:[ebp-0x1C]
004162CC |. 50 |push eax
004162CD |. 8D4D E8 |lea ecx,dword ptr ss:[ebp-0x18]
004162D0 |. E8 CEE7FEFF |call Watermar.00404AA3 ; 取给定长度的字符串,这里取两位
004162D5 |. 50 |push eax
004162D6 |. 8D4D F0 |lea ecx,dword ptr ss:[ebp-0x10]
004162D9 |. C645 FC 05 |mov byte ptr ss:[ebp-0x4],0x5
004162DD |. E8 71E7FEFF |call Watermar.00404A53
004162E2 |. 8D4D E4 |lea ecx,dword ptr ss:[ebp-0x1C]
004162E5 |. C645 FC 04 |mov byte ptr ss:[ebp-0x4],0x4
004162E9 |. E8 34D6FEFF |call Watermar.00403922
004162EE |. 68 20464300 |push Watermar.00434620 ; /String2 = "00"
004162F3 |. FF75 F0 |push dword ptr ss:[ebp-0x10] ; |String1 = "test@qq.com"
004162F6 |. 46 |inc esi ; |
004162F7 |. 46 |inc esi ; |
004162F8 |. FF15 34224300 |call dword ptr ds:[<&KERNEL32.lstrcmpW>>; \lstrcmpW
004162FE |. 85C0 |test eax,eax
00416300 |. 75 2B |jnz short Watermar.0041632D ; 当弄两位时为00时,开始取三位
00416302 |. 6A 03 |push 0x3 ; 每三位取一个字串
00416304 |. 56 |push esi
00416305 |. 8D45 E0 |lea eax,dword ptr ss:[ebp-0x20]
00416308 |. 50 |push eax
00416309 |. 8D4D E8 |lea ecx,dword ptr ss:[ebp-0x18]
0041630C |. E8 92E7FEFF |call Watermar.00404AA3 ; 取给定长度的字符串,这里取三位
00416311 |. 50 |push eax
00416312 |. 8D4D F0 |lea ecx,dword ptr ss:[ebp-0x10]
00416315 |. C645 FC 06 |mov byte ptr ss:[ebp-0x4],0x6
00416319 |. E8 35E7FEFF |call Watermar.00404A53
0041631E |. 8D4D E0 |lea ecx,dword ptr ss:[ebp-0x20]
00416321 |. C645 FC 04 |mov byte ptr ss:[ebp-0x4],0x4
00416325 |. E8 F8D5FEFF |call Watermar.00403922
0041632A |. 83C6 03 |add esi,0x3
0041632D |> FF75 F0 |push dword ptr ss:[ebp-0x10]
00416330 |. E8 C0BB0000 |call Watermar.00421EF5 ; 转十六进制
00416335 |. 50 |push eax
00416336 |. 8D45 EC |lea eax,dword ptr ss:[ebp-0x14]
00416339 |. 68 18464300 |push Watermar.00434618 ; UNICODE "%c"
0041633E |. 50 |push eax
0041633F |. E8 A90BFFFF |call Watermar.00406EED ; 之后转字符
00416344 |. 8B45 EC |mov eax,dword ptr ss:[ebp-0x14]
00416347 |. 83C4 10 |add esp,0x10
0041634A |. 50 |push eax
0041634B |. FF70 F8 |push dword ptr ds:[eax-0x8]
0041634E |. 8D4D 08 |lea ecx,dword ptr ss:[ebp+0x8]
00416351 |. E8 CEE2FEFF |call Watermar.00404624
00416356 |. 3BF7 |cmp esi,edi
00416358 |.^ 0F8C 68FFFFFF \jl Watermar.004162C6
0041635E |. 8B45 08 mov eax,dword ptr ss:[ebp+0x8]