00D0A33E 64:8925 0000000>mov dword ptr fs:[0],esp 00D0A345 83EC 20 sub esp,20 00D0A348 53 push ebx 00D0A349 55 push ebp 00D0A34A 8BE9 mov ebp,ecx 00D0A34C 56 push esi 00D0A34D 57 push edi
00D0A34E 8D4C24 1C lea ecx,dword ptr ss:[esp+1C] 00D0A352 E8 D75C0C00 call
00D0A363 C74424 40 00000>mov dword ptr ss:[esp+40],0
00D0A36B E8 28E90B00 call
00D0A374 0F85 88010000 jnz datamana.00D0A502 00D0A37A 8B4C24 24 mov ecx,dword ptr ss:[esp+24] 00D0A37E 8B5424 20 mov edx,dword ptr ss:[esp+20] 00D0A382 51 push ecx
00D0A383 68 AAAA0000 push 0AAAA 00D0A388 52 push edx
00D0A389 E8 74F10B00 call
00D0A395 0F85 67010000 jnz datamana.00D0A502 00D0A39B 8B4424 44 mov eax,dword ptr ss:[esp+44] 00D0A39F 8B4C24 24 mov ecx,dword ptr ss:[esp+24] 00D0A3A3 8B7C24 20 mov edi,dword ptr ss:[esp+20]
00D0A3A7 33D2 xor edx,edx
00D0A3A9 8B30 mov esi,dword ptr ds:[eax]
00D0A3AB F3:A6 repe cmps byte ptr es:[edi],byte ptr ds:[esi] ; 比较密码 00D0A3AD 74 1B je short datamana.00D0A3CA ;相等则跳转 00D0A3AF 8D4C24 1C lea ecx,dword ptr ss:[esp+1C] 00D0A3B3 C74424 38 FFFFF>mov dword ptr ss:[esp+38],-1 00D0A3BB E8 605B0C00 call
抬头看看标题,此时已经是datamanagers200程序领空了,一直F8走下来,到00D0A36B时F8跳过,如想仔细研究的朋友可以追进去看看。
走到00D0A3AB时相信你已经喜出望外了,在注释窗口你会看到这些东西: ecx=00000004 (十进制 4.) ds:[esi]=[02102B08]=31 ('1') es:[edi]=[02073C80]=34 ('4')
在内存窗口分别转到这两个窗口看看^_^:分别是1234和4321,这不正是我们加密时的密码和输入的错误密码吗?
到此处,分析已经基本完成了,00D0A3AD处为关键跳转,密码相等则跳转,由于采用爆破,只需把je改为jmp即可。
根据相同的原理,项目密码也可采用此方法找到,爆破。
注意:文中提及的POU和PRJ密码是指保存在电脑中的源程序密码,不是下载到PLC中的密码。关于PLC密码的解密要用监听端口
协议等的方式获取,比较麻烦,由于本人比较懒,不想去分析了,哪位大侠有解密程序,能否共享给小弟一份,谢谢了^_^。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库手把手教你破解microwin4的POU密码(2)在线全文阅读。
相关推荐: