浅谈VB程序的破解
用TR载入
0187:00401166 FF2570104000 JMP NEAR [00401070] //从00401171到了这里. 0187:0040116C 68A0124000 PUSH DWORD 004012A0 //载入后停在这里 0187:00401171 E8F0FFFFFF CALL `MSVBVM60!ThunRTMain` //这个Call一定要进入 0187:00401176 0000 ADD [EAX],AL 0187:00401178 0000 ADD [EAX],AL 0187:0040117A 0000 ADD [EAX],AL ...... MSVBVM60!ThunRTMain 0187:6600DE22 55 PUSH EBP 0187:6600DE23 8BEC MOV EBP,ESP 0187:6600DE25 6AFF PUSH BYTE -01 0187:6600DE27 6898980166 PUSH DWORD 66019898 0187:6600DE2C 6871EF0E66 PUSH DWORD 660EEF71 0187:6600DE31 64A100000000 MOV EAX,[FS:00] 0187:6600DE37 50 PUSH EAX 0187:6600DE38 64892500000000 MOV [FS:00],ESP 0187:6600DE3F 51 PUSH ECX 0187:6600DE40 51 PUSH ECX 0187:6600DE41 83EC4C SUB ESP,BYTE +4C 0187:6600DE44 53 PUSH EBX 0187:6600DE45 56 PUSH ESI 0187:6600DE46 57 PUSH EDI 0187:6600DE47 8965E8 MOV [EBP-18],ESP 0187:6600DE4A 8B7508 MOV ESI,[EBP+08] 0187:6600DE4D 8935DCF71066 MOV [6610F7DC],ESI 0187:6600DE53 8365FC00 AND DWORD [EBP-04],BYTE +00 0187:6600DE57 8D45A0 LEA EAX,[EBP-60] 0187:6600DE5A 50 PUSH EAX 0187:6600DE5B FF1518110066 CALL `KERNEL32!GetStartupInfoA` 0187:6600DE61 0FB745D0 MOVZX EAX,WORD [EBP-30] 0187:6600DE65 A3D8F71066 MOV [6610F7D8],EAX 0187:6600DE6A FF35CCF61066 PUSH DWORD [6610F6CC] 0187:6600DE70 56 PUSH ESI 0187:6600DE71 BE70F41066 MOV ESI,6610F470 0187:004019E3 50 PUSH EAX 现在很多程序都在程序运行时判断是否注册,我相信我找到的这个是个可行的办法,能够在程序代码开始前进入程序领空.就可以知道它到底干了些什么.然后可以爆破或其它.相信很多大虾都不屑一顾,我想告诉大家的是一个通用的方法.不知道你注意上面的这么一段了吗? 0187:******** FFD0 CALL EAX //只要每次在这里下断,就能把所有的VB程序在运行前断下来(包括P-code,当然P-code还有更简单的办法在程序运行前断下来),接着就能来到程序开始的地方.程序不就任你鱼肉了? 我在几个VB编写的程序上试了一下,都能用此法破解成功,例如:沐风网页三叉戟等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |