老文章档案 · 2003 年

谈谈VB程序的破解(续)

破解教程 · 汇编专区 · 2003-06-10 · 作者:flyfancy 人气: · 出处:嬴政天下整理收藏)

上次写了VB程序的破解一文,这次因为发现那个方法不是通用的,所以特别写一篇续.其实我这2篇文章并不是专门用于破解在启动时检测的程序的,我只是想说一个方法,利用VB中的事件,于是轻松找到程序的关键,各位要是有兴趣可以跟一下,很简单.废话少说,运行VB6,新建一个工程,然后添加一个模块,双击模块,删除Form,再输入:

Sub Main

MsgBox ("test!")

End

End Sub

然后编译成本机代码,在这种情况下,我以前说的办法就没有用了,大家还是跟我来吧.

还是TRW载入,然后慢慢跟就到了这里.

......

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:6600DE76 8BCE MOV ECX,ESI

0187:6600DE78 E860000000 CALL 6600DEDD //进去

......

(省略过程)

......

0187:******** FF9694000000 CALL NEAR [ESI+94] //这里F8进去就返回程序领空了,我们又成功的停在了VB代码开始的地方.

0187:******** 8D45D4 LEA EAX,[EBP-2C]

0187:******** 50 PUSH EAX

0187:******** E807030000 CALL 66014710

0187:******** 6A01 PUSH BYTE +01

0187:******** 58 POP EAX

0187:******** 5F POP EDI

0187:******** 5E POP ESI

0187:******** C9 LEAVE

0187:******** C20400 RET 04

......

0187:00401628 6A00 PUSH BYTE +00

0187:0040162A 50 PUSH EAX

0187:0040162B FF151C104000 CALL `MSVBVM60!rtcMsgBox` //这里就是MsgBox了

0187:00401631 8D4DB0 LEA ECX,[EBP-50]

0187:00401634 8D55C0 LEA EDX,[EBP-40]

0187:00401637 51 PUSH ECX

0187:00401638 8D45D0 LEA EAX,[EBP-30]

0187:0040163B 52 PUSH EDX

0187:0040163C 8D4DE0 LEA ECX,[EBP-20]

0187:0040163F 50 PUSH EAX

0187:00401640 51 PUSH ECX

0187:00401641 6A04 PUSH BYTE +04

0187:00401643 FF1508104000 CALL `MSVBVM60!__vbaFreeVarList`

0187:00401649 83C414 ADD ESP,BYTE +14

0187:0040164C FF150C104000 CALL `MSVBVM60!__vbaEnd` //然后程序End

0187:00401652 6876164000 PUSH DWORD 00401676

0187:00401657 EB1C JMP SHORT 00401675

后记:

还有一种情况,是某个Crackme,是用VB6编写的,我用了2种办法都不能断下来(其实是作者不按常理出牌).自己新建一个工程,然后编译为本机代码,试试看,还能不能用上面的办法断下来?也就是说,在程序启动时(或检验注册码前)没有任何的事件,真的是很搞笑的一件事,这样的程序,跟踪只会在Msvbvm60.dll中,然后用ShowWindow显示窗口,也就是说程序根本不是在启动时进行检测的(或者说检测时没有产生任何事件?可能吗?).

我以为按我的方法,只要在VB程序中使用了事件或模块,无论是程序刚启动或已运行,只要用TRW在这2处下了断点,都能轻易的找到程序的关键处.如果各位有什么意见和看法,还请指正 (出处:嬴政天下整理收藏)

相关文章:

·汇编环境下的源代码调试

·8088 汇编跳转

·学友计算机等级考试试题汇编2002A+ 算法分析

·Resource Builder 1.1.0 完全破解~~附汇编注册机 (10千字)

·简明x86汇编语言教程(1)

·简明x86汇编语言教程(2)

·简明x86汇编语言教程(3)

·简明x86汇编语言教程(4)

·简明x86汇编语言教程(5)

·破解基础知识(2) 8088 汇编速查手册

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史