//for asprotect 1.0 ਍⼀⼀挀漀搀攀 戀礀 猀欀礀氀氀礀 ഀഀ #log ਍最瀀愀 ∀䰀漀愀搀䰀椀戀爀愀爀礀䄀∀Ⰰ∀欀攀爀渀攀氀㌀㈀⸀搀氀氀∀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ var LoadLibraryA ਍洀漀瘀 䰀漀愀搀䰀椀戀爀愀爀礀䄀Ⰰ␀刀䔀匀唀䰀吀ഀഀ ਍最瀀愀 ∀嘀椀爀琀甀愀氀䘀爀攀攀∀Ⰰ∀欀攀爀渀攀氀㌀㈀⸀搀氀氀∀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ var VirtualFree ਍洀漀瘀 嘀椀爀琀甀愀氀䘀爀攀攀Ⰰ␀刀䔀匀唀䰀吀ഀഀ ਍最瀀愀 ∀䜀攀琀倀爀漀挀䄀搀搀爀攀猀猀∀Ⰰ∀欀攀爀渀攀氀㌀㈀⸀搀氀氀∀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ var GetProcAddress ਍洀漀瘀 䜀攀琀倀爀漀挀䄀搀搀爀攀猀猀Ⰰ␀刀䔀匀唀䰀吀ഀഀ find GetProcAddress,#C2??00# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍洀漀瘀 䜀攀琀倀爀漀挀䄀搀搀爀攀猀猀Ⰰ␀刀䔀匀唀䰀吀ഀഀ ਍最瀀愀 ∀䜀攀琀䴀漀搀甀氀攀䠀愀渀搀氀攀䄀∀Ⰰ∀欀攀爀渀攀氀㌀㈀⸀搀氀氀∀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ var GetModuleHandleA ਍洀漀瘀 䜀攀琀䴀漀搀甀氀攀䠀愀渀搀氀攀䄀Ⰰ␀刀䔀匀唀䰀吀ഀഀ ਍最漀 嘀椀爀琀甀愀氀䘀爀攀攀ഀഀ go GetProcAddress ਍爀琀甀ഀഀ var temp ਍洀漀瘀 琀攀洀瀀Ⰰ嬀攀椀瀀崀ഀഀ and temp,FFFF ਍挀洀瀀 琀攀洀瀀Ⰰ䌀 㠀㔀ഀഀ je again ਍爀琀爀ഀഀ again: ਍昀椀渀搀 攀椀瀀Ⰰ⌀㘀㄀㜀㔀 㠀⌀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ flying: ਍瘀愀爀 攀渀搀椀渀最ഀഀ mov ending,$RESULT ਍瀀氀愀礀㨀ഀഀ go ending ਍挀洀瀀 攀椀瀀Ⰰ攀渀搀椀渀最ഀഀ jne play ਍猀琀椀ഀഀ sti ਍猀琀椀ഀഀ sti ਍ഀഀ //第一层aspack结束 ਍戀瀀 䜀攀琀倀爀漀挀䄀搀搀爀攀猀猀ഀഀ lop: ਍攀猀琀漀ഀഀ cmp eip,GetProcAddress ਍樀渀攀 氀漀瀀ഀഀ bc GetProcAddress ਍爀琀甀ഀഀ ਍ഀഀ find eip,#85C07508B8# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je special ਍瘀愀爀 昀椀砀㄀ഀഀ mov fix1,$RESULT ਍愀搀搀 昀椀砀㄀Ⰰ㈀ഀഀ mov [fix1],#EB# //patch GetProcAddress ਍ഀഀ go fix1 ਍ഀഀ find eip,#741A# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍瘀愀爀 昀椀砀㈀ഀഀ mov fix2,$RESULT ਍洀漀瘀 嬀昀椀砀㈀崀Ⰰ⌀㤀 㤀 ⌀  ⼀⼀瀀愀琀挀栀 欀攀爀渀攀氀㌀㈀⸀搀氀氀ഀഀ ਍昀椀渀搀 攀椀瀀Ⰰ⌀㜀㔀㌀䄀⌀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ var fix3 ਍洀漀瘀 昀椀砀㌀Ⰰ␀刀䔀匀唀䰀吀ഀഀ mov [fix3],#EB# //patch user32.dll ਍ഀഀ //iat处理完毕 ਍昀椀渀搀 攀椀瀀Ⰰ⌀㌀㌀䌀 ⌀ഀഀ cmp $RESULT,0 ਍樀攀 攀爀爀ഀഀ go $RESULT ਍ഀഀ //还原代码 ਍洀漀瘀 嬀昀椀砀㄀崀Ⰰ⌀㜀㔀⌀ഀഀ mov [fix2],#741A# ਍洀漀瘀 嬀昀椀砀㌀崀Ⰰ⌀㜀㔀⌀ഀഀ ਍⼀⼀瀀澍攀瀀ഀഀ var temp ਍洀漀瘀 琀攀洀瀀Ⰰ攀椀瀀ഀഀ and temp,FFFF0000 ਍昀椀渀搀 琀攀洀瀀Ⰰ⌀㘀㄀㔀 䌀㌀⌀ഀഀ cmp $RESULT,0 ਍樀渀攀 昀椀渀愀氀ഀഀ find temp,#61EB# ਍挀洀瀀 ␀刀䔀匀唀䰀吀Ⰰ ഀഀ je err ਍ഀഀ final: ਍最漀 ␀刀䔀匀唀䰀吀ഀഀ lpa: //自动走路 ਍猀琀椀ഀഀ var temp ਍洀漀瘀 琀攀洀瀀Ⰰ嬀攀椀瀀崀ഀഀ and temp,FF ਍挀洀瀀 琀攀洀瀀Ⰰ䌀㌀ഀഀ jne lpa ਍猀琀椀ഀഀ ਍挀洀琀 攀椀瀀Ⰰ∀伀䔀倀∀ഀഀ ret ਍ഀഀ special: ਍氀漀最 ∀뀀䡥ⱲⱧᨀⲁ൧⽎ť≣ഀഀ ret ਍ഀഀ err: ਍洀猀最 ∀攀爀爀漀爀∀ഀഀ ret