//msg "忽略所有异常" ਍⼀⼀挀漀搀攀 戀礀 猀欀礀氀氀礀 ᄀ葢쵶層ﭏ⁾砀瀀 猀瀀㈀ 昀漀爀 渀琀欀爀渀氀  ⸀㄀ഀഀ var codebase ਍瘀愀爀 椀愀琀猀琀愀爀琀ഀഀ var iatsize ਍洀漀瘀 挀漀搀攀戀愀猀攀Ⰰ㐀            ⼀⼀첏钑㥞湨鹣䕛얖땠㥑൥ഀ ਍昀椀渀搀 挀漀搀攀戀愀猀攀Ⰰ⌀ 䘀㠀㔀㼀㼀㼀㼀䘀䘀䘀䘀⌀  ⼀⼀氀漀漀瀀 Ɖ൸ഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ bp $RESULT ਍攀猀琀漀ഀഀ bc $RESULT ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㘀ഀഀ go $RESULT ਍⼀⼀Ⰰ{ⅎƉ豸핛൫ഀ ਍⼀⼀  Ⰰ{⩎䅎一吀䤀ഀഀ //0045CB49 55 push ebp ਍⼀⼀  㐀㔀䌀䈀㐀䄀    㠀䈀䔀䌀            洀漀瘀     攀戀瀀Ⰰ 攀猀瀀ഀഀ //0045CB4C FF75 0C push dword ptr [ebp+C] ਍⼀⼀  㐀㔀䌀䈀㐀䘀    䘀䘀㜀㔀  㠀         瀀甀猀栀    搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㠀崀ഀഀ //0045CB52 E8 0A000000 call 0045CB61 //这个call代码很简单,计算第一次解码出的代码里累计的"CC"个数 ਍⼀⼀  㐀㔀䌀䈀㔀㜀    㠀㌀䘀㠀  䄀         挀洀瀀     攀愀砀Ⰰ  䄀   ⼀⼀퐀荫䎏䌀⨀灎豥捔㡫㱞൐ഀ //0045CB5A 75 33 jnz short 0045CB8F //跳就完了 ਍⼀⼀  㐀㔀䌀䈀㔀䌀    㔀䐀              瀀漀瀀     攀戀瀀ഀഀ //0045CB5D C2 0800 retn 8 ਍⼀⼀ഀഀ find eip,#83F80A7533# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㌀ഀഀ mov [$RESULT],#9090# ਍ഀഀ //第二个ANTI 检测外壳输入函数中(目前有且只有这两个函数) LoadLibraryA 和 GetProcAddress 第一个字节 是否 下了CC断点 ਍⼀⼀  㐀㔀䌀䄀䄀䐀    㠀䈀㄀㠀            洀漀瘀     攀戀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀愀砀崀             㬀 欀攀爀渀攀氀㌀㈀⸀䰀漀愀搀䰀椀戀爀愀爀礀䄀ഀഀ //0045CAAF 803B CC cmp byte ptr [ebx], 0CC ਍⼀⼀  㐀㔀䌀䄀䈀㈀    㜀㐀 ㄀㠀           樀攀      猀栀漀爀琀   㐀㔀䌀䄀䌀䌀ഀഀ //0045CAB4 8B55 0C mov edx, dword ptr [ebp+C] ਍⼀⼀  㐀㔀䌀䄀䈀㜀    㠀㤀㄀䄀            洀漀瘀     搀眀漀爀搀 瀀琀爀 嬀攀搀砀崀Ⰰ 攀戀砀ഀഀ //0045CAB9 83C0 04 add eax, 4 ਍⼀⼀  㐀㔀䌀䄀䈀䌀    㠀䈀㄀㠀            洀漀瘀     攀戀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀愀砀崀             㬀 欀攀爀渀攀氀㌀㈀⸀䜀攀琀倀爀漀挀䄀搀搀爀攀猀猀ഀഀ //0045CABE 803B CC cmp byte ptr [ebx], 0CC ਍⼀⼀  㐀㔀䌀䄀䌀㄀    㜀㐀  㤀           樀攀      猀栀漀爀琀   㐀㔀䌀䄀䌀䌀ഀഀ find eip,#803BCC7418# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㌀ഀഀ mov [$RESULT],#9090# ਍ഀഀ find eip,#803BCC7409# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㌀ഀഀ mov [$RESULT],#9090# ਍ഀഀ //第三个ANTI 时间检测 ਍⼀⼀  㐀㔀䌀䄀㈀㄀     䘀㌀㄀            爀搀琀猀挀ഀഀ //0045CA23 33C9 xor ecx, ecx ਍⼀⼀  㐀㔀䌀䄀㈀㔀     ㌀䌀㠀            愀搀搀     攀挀砀Ⰰ 攀愀砀ഀഀ //0045CA27 0F31 rdtsc ਍⼀⼀  㐀㔀䌀䄀㈀㤀    ㈀䈀䌀㄀            猀甀戀     攀愀砀Ⰰ 攀挀砀ഀഀ //0045CA2B 3D FF0F0000 cmp eax, 0FFF ਍⼀⼀  㐀㔀䌀䄀㌀     㜀㈀  㐀           樀戀      猀栀漀爀琀   㐀㔀䌀䄀㌀㘀   ⼀⼀씀筟ඍഀ //0045CA32 0F31 rdtsc ਍⼀⼀  㐀㔀䌀䄀㌀㐀    㔀               瀀甀猀栀    攀愀砀ഀഀ //0045CA35 C3 retn //天,壳太不厚道了,时间检测失败就跳到一个随机地址! ਍⼀⼀ഀഀ find eip,#72040F31# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍洀漀瘀 嬀␀刀䔀匀唀䰀吀崀Ⰰ⌀䔀䈀⌀ഀഀ ਍⼀⼀Ⰰ⩖䅎一吀䤀     쀀䭨䉭攀椀渀最䐀攀戀甀最最攀爀܀흨䵟൏ഀ //0045CA5B 64:FF35 3000000>push dword ptr fs:[30] ਍⼀⼀  㐀㔀䌀䄀㘀㈀    㔀䄀              瀀漀瀀     攀搀砀ഀഀ //0045CA63 807A 02 01 cmp byte ptr [edx+2], 1 ਍⼀⼀  㐀㔀䌀䄀㘀㜀    㜀㐀 ㄀㌀           樀攀      猀栀漀爀琀   㐀㔀䌀䄀㜀䌀         ⼀⼀ഀ﵎ඍഀ //0045CA69 50 push eax ਍⼀⼀  㐀㔀䌀䄀㘀䄀    ㌀㌀䌀             砀漀爀     攀愀砀Ⰰ 攀愀砀ഀഀ //0045CA6C 64:FF35 0000000>push dword ptr fs:[0] ਍⼀⼀  㐀㔀䌀䄀㜀㌀    㘀㐀㨀㠀㤀㈀㔀        㸀洀漀瘀     搀眀漀爀搀 瀀琀爀 昀猀㨀嬀 崀Ⰰ 攀猀瀀ഀഀ find eip,#807A02017413# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㐀ഀഀ mov [$RESULT],#9090# ਍ഀഀ //第二重解码 ਍昀椀渀搀 攀椀瀀Ⰰ⌀ 䘀㠀㔀㼀㼀㼀㼀䘀䘀䘀䘀⌀  ⼀⼀氀漀漀瀀 Ɖ൸ഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ bp $RESULT ਍攀猀琀漀ഀഀ bc $RESULT ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㘀ഀഀ go $RESULT ਍⼀⼀Ⰰ豻ⅎƉ豸핛൫ഀ ਍⼀⼀Ⰰ鑻⩎䅎一吀䤀         쀀豨Ɖ喝葑Ŏ⵸⽎♦ꭔ몈୎虎䍎䌀ഀഀ //0045D581 55 push ebp ਍⼀⼀  㐀㔀䐀㔀㠀㈀    㠀䈀䔀䌀            洀漀瘀     攀戀瀀Ⰰ 攀猀瀀ഀഀ //0045D584 FF75 0C push dword ptr [ebp+C] ਍⼀⼀  㐀㔀䐀㔀㠀㜀    䘀䘀㜀㔀  㠀         瀀甀猀栀    搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㠀崀ഀഀ //0045D58A FF55 10 call dword ptr [ebp+10] ; Unpackme.0045CB61 //又是计算CC个数 ਍⼀⼀  㐀㔀䐀㔀㠀䐀    㠀㌀䘀㠀            挀洀瀀     攀愀砀Ⰰ                          ⼀⼀퐀荫⾏♦㩔ぎഀഀ //0045D590 0F85 0B010000 jnz 0045D6A1 ਍⼀⼀  㐀㔀䐀㔀㤀㘀    㔀䐀              瀀漀瀀     攀戀瀀ഀഀ //0045D597 C2 0C00 retn 0C ਍昀椀渀搀 攀椀瀀Ⰰ⌀㠀㌀䘀㠀   䘀㠀㔀㼀㼀㼀㼀    ⌀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ add $RESULT,3 ਍洀漀瘀 嬀␀刀䔀匀唀䰀吀崀Ⰰ⌀㤀 㤀 㤀 㤀 㤀 㤀 ⌀ഀഀ ਍⼀⼀Ⰰ浻⩑䅎一吀䤀          쀀䝧攀琀倀爀漀挀䄀搀搀爀攀猀猀 谀⁔䰀漀愀搀䰀椀戀爀愀爀礀䄀ⴀ⁎䴀⩖坎艛⾂♦॔䍧䌀관륥൰ഀ //0045D4E5 60 pushad ਍⼀⼀  㐀㔀䐀㐀䔀㘀          䈀䈀  㠀           洀漀瘀     攀戀砀Ⰰ 㠀ഀഀ //0045D4EB 8B7C1D 04 mov edi, dword ptr [ebp+ebx+4] ਍⼀⼀  㐀㔀䐀㐀䔀䘀          䈀㤀  㐀           洀漀瘀     攀挀砀Ⰰ 㐀        ⼀⼀쀀⩖坎艛ංഀ //0045D4F4 B8 60060000 mov eax, 660 ਍⼀⼀  㐀㔀䐀㐀䘀㤀          䌀㄀䔀㠀  ㌀         猀栀爀     攀愀砀Ⰰ ㌀        ⼀⼀搀敥愀砀㴀㴀䌀䌀ഀഀ //0045D4FC F2:AE repne scas byte ptr es:[edi] ਍⼀⼀  㐀㔀䐀㐀䘀䔀          㠀㔀䌀㤀            琀攀猀琀    攀挀砀Ⰰ 攀挀砀ഀഀ //0045D500 74 02 je short 0045D504 ਍⼀⼀  㐀㔀䐀㔀 ㈀        帀 䔀䈀 䈀㤀           樀洀瀀     猀栀漀爀琀   㐀㔀䐀㐀䈀䐀     ⼀⼀蚍ㅎɜ虣⁎ 㐀㔀䐀㐀䈀䐀Ѐ졙⽓⩦牎搀琀猀挀㬀 瀀甀猀栀 攀愀砀㬀爀攀琀渀㬀ഀഀ //0045D504 83EB 04 sub ebx, 4 ਍⼀⼀  㐀㔀䐀㔀 㜀          㠀㔀䐀䈀            琀攀猀琀    攀戀砀Ⰰ 攀戀砀ഀഀ //0045D509 ^ 75 E0 jnz short 0045D4EB ਍⼀⼀  㐀㔀䐀㔀 䈀          㘀㄀              瀀漀瀀愀搀ഀഀ find eip,#EBB983EB04# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍洀漀瘀 嬀␀刀䔀匀唀䰀吀崀Ⰰ⌀㤀 㤀 ⌀ഀഀ ਍⼀⼀Ⰰͻ⩎䅎一吀䤀       퐀荫暏猀㨀嬀㌀ 崀 ⬀ 㐀 Ѐ⽙♦⁔⼀⁦ 砀䘀䘀      ☀ᥔㅒɜ虣ⱎ   ⪏ݎ흨䵟⽏쁦䡎㽎㼀㼀  ഀꅎ⡻൵⡎桵椀搀攀툀ⱎ첏쮑졙⽾て砀䘀䘀ഀഀ //0045D3EB 64:FF35 3000000>push dword ptr fs:[30] ਍⼀⼀  㐀㔀䐀㌀䘀㈀          㔀䄀              瀀漀瀀     攀搀砀ഀഀ //0045D3F3 807A 04 FF cmp byte ptr [edx+4], 0FF ਍⼀⼀  㐀㔀䐀㌀䘀㜀           䘀㠀㔀 䈀㌀         樀渀稀       㐀㔀䐀㐀䈀         ⼀⼀ഀ䥎ㅻɜൣഀ find eip,#807A04FF# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㐀ഀഀ mov [$RESULT],#EB04# ਍ഀഀ //第八个ANTI heapflag 这个ANTI壳自己直接跳过去了,所以是个装饰品~~~~~ ਍⼀⼀  㐀㔀䐀㐀㐀㐀    䔀㠀 ㌀㠀 ㄀         挀愀氀氀      㐀㔀䐀㔀㠀㄀ഀഀ //0045D449 EB 16 jmp short 0045D461 ਍⼀⼀  㐀㔀䐀㐀㐀䈀    㘀㐀㨀䄀㄀ ㄀㠀        洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 昀猀㨀嬀㄀㠀崀ഀഀ //0045D451 8B40 30 mov eax, dword ptr [eax+30] ਍⼀⼀  㐀㔀䐀㐀㔀㐀    㠀䈀㐀  ㄀㠀         洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀愀砀⬀㄀㠀崀ഀഀ //0045D457 8378 10 00 cmp dword ptr [eax+10], 0 ਍⼀⼀  㐀㔀䐀㐀㔀䈀     䘀㠀㔀 ㄀䌀 ㄀       樀渀稀       㐀㔀䐀㔀㜀䐀ഀഀ //0045D461 B9 B4BEDC06 mov ecx, 6DCBEB4 ਍ഀഀ loop: ਍攀猀琀漀ഀഀ var temp ਍洀漀瘀 琀攀洀瀀Ⰰ嬀攀椀瀀崀ഀഀ and temp,FF ਍挀洀瀀 琀攀洀瀀Ⰰ䌀㌀ഀഀ jne loop ਍⼀⼀ぶⱒ{⩎蕎塑굛륥톉൓ഀ mov [eip],CC ਍ഀഀ gpa "VirtualFree","kernel32.dll" ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍洀漀瘀 嘀椀爀琀甀愀氀䘀爀攀攀Ⰰ␀刀䔀匀唀䰀吀ഀഀ bp VirtualFree ਍攀猀琀漀ഀഀ bc VirtualFree ਍爀琀甀ഀഀ //内存异常通过 ਍ഀഀ //第三重解码 ਍昀椀渀搀 攀椀瀀Ⰰ⌀ 䘀㠀㔀㼀㼀㼀㼀䘀䘀䘀䘀⌀  ⼀⼀氀漀漀瀀 Ɖ൸ഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ bp $RESULT ਍攀猀琀漀ഀഀ bc $RESULT ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㘀ഀഀ go $RESULT ਍⼀⼀ⰀॻⅎƉ豸핛൫ഀ ਍ഀഀ //第四重解码 ਍昀椀渀搀 攀椀瀀Ⰰ⌀ 䘀㠀㔀㼀㼀㼀㼀䘀䘀䘀䘀⌀  ⼀⼀氀漀漀瀀 Ɖ൸ഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ bp $RESULT ਍攀猀琀漀ഀഀ bc $RESULT ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㘀ഀഀ go $RESULT ਍⼀⼀Ⰰ⅖Ɖ豸핛൫ഀ ਍⼀⼀Ⰰ鑻쵎Ɖ൸ഀ find eip,#0F85????FFFF# //loop 解码 ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍戀瀀 ␀刀䔀匀唀䰀吀ഀഀ esto ਍戀挀 ␀刀䔀匀唀䰀吀ഀഀ add $RESULT,6 ਍最漀 ␀刀䔀匀唀䰀吀ഀഀ //第五次解码完毕 ਍ഀഀ //第九个ANTI 时间检测 ਍⼀⼀  㐀㔀䔀䌀㤀㠀     䘀㌀㄀            爀搀琀猀挀ഀഀ //0045EC9A 33C9 xor ecx, ecx ਍⼀⼀  㐀㔀䔀䌀㤀䌀     ㌀䌀㠀            愀搀搀     攀挀砀Ⰰ 攀愀砀ഀഀ //0045EC9E 0F31 rdtsc ਍⼀⼀  㐀㔀䔀䌀䄀     ㈀䈀䌀㄀            猀甀戀     攀愀砀Ⰰ 攀挀砀ഀഀ //0045ECA2 3D FF0F0000 cmp eax, 0FFF ਍⼀⼀  㐀㔀䔀䌀䄀㜀    㜀㈀  㐀           樀戀      猀栀漀爀琀   㐀㔀䔀䌀䄀䐀ഀഀ //0045ECA9 0F31 rdtsc ਍⼀⼀  㐀㔀䔀䌀䄀䈀    㔀               瀀甀猀栀    攀愀砀ഀഀ //0045ECAC C3 retn ਍昀椀渀搀 攀椀瀀Ⰰ⌀㜀㈀ 㐀 䘀㌀㄀⌀      ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ mov [$RESULT],#EB# ਍ഀഀ //第十个ANTI 检测这一层代码中CC个数 ਍⼀⼀  㐀㔀䘀 䐀㠀    㔀㔀              瀀甀猀栀    攀戀瀀ഀഀ //0045F0D9 8BEC mov ebp, esp ਍⼀⼀  㐀㔀䘀 䐀䈀    䘀䘀㜀㔀  䌀         瀀甀猀栀    搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀䌀崀ഀഀ //0045F0DE FF75 08 push dword ptr [ebp+8] ਍⼀⼀  㐀㔀䘀 䔀㄀    䘀䘀㔀㔀 ㄀          挀愀氀氀    搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㄀ 崀               㬀 唀渀瀀愀挀欀洀攀⸀  㐀㔀䌀䈀㘀㄀ഀഀ //0045F0E4 83F8 02 cmp eax, 2 ਍⼀⼀  㐀㔀䘀 䔀㜀  帀  䘀㠀㔀 䐀㄀䘀䔀䘀䘀䘀䘀   樀渀稀       㐀㔀䔀䘀䈀䔀ഀഀ //0045F0ED 5D pop ebp ਍⼀⼀  㐀㔀䘀 䔀䔀    䌀㈀  䌀           爀攀琀渀     䌀ഀഀ find eip,#83F8020F85# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍愀搀搀 ␀刀䔀匀唀䰀吀Ⰰ㌀ഀഀ mov [$RESULT],#EB04# ਍ഀഀ //第十一 ANTI dump ਍⼀⼀  㐀㔀䔀䌀䘀㠀    㘀㐀㨀䄀㄀ ㌀                  洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 昀猀㨀嬀㌀ 崀ഀഀ //0045ECFE 85C0 test eax, eax ਍⼀⼀  㐀㔀䔀䐀      㜀㠀 ㄀㄀                    樀猀      猀栀漀爀琀   㐀㔀䔀䐀㄀㌀ഀഀ //0045ED02 8B40 0C mov eax, dword ptr [eax+C] ਍⼀⼀  㐀㔀䔀䐀 㔀    㠀䈀㐀   䌀                  洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀愀砀⬀䌀崀ഀഀ //0045ED08 8140 20 00300000 add dword ptr [eax+20], 3000 ਍⼀⼀  㐀㔀䔀䐀 䘀    ㌀㌀䌀                      砀漀爀     攀愀砀Ⰰ 攀愀砀ഀഀ //0045ED11 EB 1B jmp short 0045ED2E ਍⼀⼀  㐀㔀䔀䐀㄀㌀    㘀䄀                       瀀甀猀栀     ഀഀ //0045ED15 E8 8B060000 call 0045F3A5 ; jmp 到 kernel32.GetModuleHandleA ਍⼀⼀  㐀㔀䔀䐀㄀䄀    㠀㔀䐀㈀                     琀攀猀琀    攀搀砀Ⰰ 攀搀砀ഀഀ //0045ED1C 79 10 jns short 0045ED2E ਍⼀⼀  㐀㔀䔀䐀㄀䔀    㠀㌀㜀䄀  㠀 䘀䘀               挀洀瀀     搀眀漀爀搀 瀀琀爀 嬀攀搀砀⬀㠀崀Ⰰ ⴀ㄀ഀഀ //0045ED22 75 0A jnz short 0045ED2E ਍⼀⼀  㐀㔀䔀䐀㈀㐀    㠀䈀㔀㈀  㐀                  洀漀瘀     攀搀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀搀砀⬀㐀崀ഀഀ //0045ED27 8142 50 00300000 add dword ptr [edx+50], 3000 ਍昀椀渀搀 攀椀瀀Ⰰ⌀㠀㄀㐀 ㈀   ㌀     ⌀      ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ mov [$RESULT],#EB05# ਍昀椀渀搀 攀椀瀀Ⰰ⌀㠀㄀㐀㈀㔀   ㌀     ⌀      ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ mov [$RESULT],#EB05# ਍ഀഀ //第十二 时间检测 ਍⼀⼀  㐀㔀䔀䔀㔀㘀       㘀                  瀀甀猀栀愀搀ഀഀ //0045EE57 33C0 xor eax, eax ਍⼀⼀  㐀㔀䔀䔀㔀㤀        䘀䄀㈀               挀瀀甀椀搀ഀഀ //0045EE5B 0F31 rdtsc ਍⼀⼀  㐀㔀䔀䔀㔀䐀       㠀䈀㠀㔀 ㌀䈀䌀㠀䐀䌀 㘀      洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㘀䐀䌀䌀㠀㌀䈀崀ഀഀ //0045EE63 2BD0 sub edx, eax ਍⼀⼀  㐀㔀䔀䔀㘀㔀       㠀㤀㔀㐀㈀㐀 ㄀䌀          洀漀瘀     搀眀漀爀搀 瀀琀爀 嬀攀猀瀀⬀㄀䌀崀Ⰰ 攀搀砀ഀഀ //0045EE69 61 popad ਍⼀⼀  㐀㔀䔀䔀㘀䄀       㠀㌀䘀㠀 ㄀             挀洀瀀     攀愀砀Ⰰ ㄀ ഀഀ //0045EE6D 0F89 61020000 jns 0045F0D4 //跳就挂掉 ਍⼀⼀  㐀㔀䔀䔀㜀㌀       㠀䐀㠀㔀 䄀㌀䌀㄀䐀䌀 㘀      氀攀愀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㘀䐀䌀䌀㄀䄀㌀崀ഀഀ //0045EE79 FFE0 jmp eax ਍昀椀渀搀 攀椀瀀Ⰰ⌀ 䘀㠀㤀㼀㼀㼀㼀    ⌀      ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ mov [$RESULT],#EB04# ਍ഀഀ //第十三 检测NtGlobalFlag ਍⼀⼀  㐀㔀䔀䐀㔀㠀       㘀㐀㨀䄀㄀ ㌀            洀漀瘀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 昀猀㨀嬀㌀ 崀ഀഀ //0045ED5E 83C0 68 add eax, 68 ਍⼀⼀  㐀㔀䔀䐀㘀㄀       㠀㌀㌀㠀 㜀             挀洀瀀     搀眀漀爀搀 瀀琀爀 嬀攀愀砀崀Ⰰ 㜀 ഀഀ //0045ED64 74 6D je short 0045EDD3 ਍⼀⼀  㐀㔀䔀䐀㘀㘀       㠀䐀㠀㔀  ㈀䌀㘀䐀䌀 㘀      氀攀愀     攀愀砀Ⰰ 搀眀漀爀搀 瀀琀爀 嬀攀戀瀀⬀㘀䐀䌀䌀㘀 ㈀崀ഀഀ find eip,#64A13000000083C068# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍戀瀀 ␀刀䔀匀唀䰀吀ഀഀ esto ਍戀挀 ␀刀䔀匀唀䰀吀ഀഀ sti ਍猀琀椀ഀഀ sti ਍洀漀瘀 ℀娀䘀Ⰰ ഀഀ mov [eip],#9090# ਍ഀഀ #log ਍瘀愀爀 䰀漀愀搀䰀椀戀爀愀爀礀䄀ഀഀ gpa "LoadLibraryA", "kernel32.dll" ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍洀漀瘀 䰀漀愀搀䰀椀戀爀愀爀礀䄀Ⰰ␀刀䔀匀唀䰀吀ഀഀ bp LoadLibraryA ਍攀猀琀漀ഀഀ bc LoadLibraryA ਍爀琀甀ഀഀ ਍⼀⼀쭟љٙ䅘倀䤀ഀഀ find eip,#C20400# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍最漀 ␀刀䔀匀唀䰀吀ഀഀ sti ਍⼀⼀䄀倀䤀Ѐٙ豴핛൫ഀ ਍昀椀渀搀 攀椀瀀Ⰰ⌀䘀䘀䐀 ⌀  ⼀⼀挀愀氀氀 攀愀砀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ go $RESULT ਍猀琀椀ഀഀ ret ਍⼀⼀฀扔蒗䂍㑷啙繦縀縀縀縀