加密方式:彩虹狗。
工具:wktvbde
p_code的程序,用WKTVBDE动态调试,发现里面调用了win32.dll这个dll,而且dll里面居然有DogRead这样的函数,走到调用win32.dll里的DogRead函数,返回后,改下面的BranceF->BranceT,调用函数2次,每次有2个跳转要修改。从理论上来说,直接修改DogRead里的返回值也可以。不过偷懒了。
Win32dll.DogRead
010F1020 > 8B4424 08 mov eax,dword ptr ss:[esp+8]
010F1024 56 push esi
010F1025 8B7424 08 mov esi,dword ptr ss:[esp+8]
010F1029 57 push edi
010F102A 8B7C24 14 mov edi,dword ptr ss:[esp+14]
010F102E 8935 50950F01 mov dword ptr ds:[10F9550],esi
010F1034 893D 58950F01 mov dword ptr ds:[10F9558],edi
010F103A A3 54950F01 mov dword ptr ds:[10F9554],eax
010F103F E8 5C020000 call Win32dll.010F12A0
010F1044 C6043E 00 mov byte ptr ds:[esi+edi],0
010F1048 5F pop edi
010F1049 5E pop esi
010F104A C2 0C00 retn 0C