首页
社区
课程
招聘
VB程序分析方法及修改例 (“万能分析断点”、启动form修改,form隐藏)[原创]
发表于: 2006-6-30 19:42 18246

VB程序分析方法及修改例 (“万能分析断点”、启动form修改,form隐藏)[原创]

2006-6-30 19:42
18246
收藏
免费 7
支持
分享
最新回复 (32)
雪    币: 239
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
26
DREAMAN:是这个程序
2006-7-4 20:16
0
雪    币: 1325
活跃值: (507)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
27
我检查了一下,发现是OllyHTML的GetPrevOPAddr与GetNextOPAddr有BUG,(顺便提一下,这两个函数的实现参照了OllyMachine的实现,它应该也有这个BUG).
我已经更新了OllyHTML插件了,脚本也重新写了,没想到你的VB程序这么大,我把脚本改了一下,让它运行时不失去响应.

脚本我放在20楼的附件里了.
插件可以在http://dreaman.haolinju.net或在本论坛工具下载里下载.
2006-7-4 23:32
0
雪    币: 239
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
28
谢谢dreaman。好快啊!

新的脚本很好用,速度也快。
2006-7-5 07:50
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
楼主对奇迹英语的50个单词限制有何新法?从那入手?跟了一圈没找到头绪
2006-12-7 23:21
0
雪    币: 239
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
30
最初由 zlgooo 发布
楼主对奇迹英语的50个单词限制有何新法?从那入手?跟了一圈没找到头绪


提示一下:
对数据库的操作下断:
call [eax+40]、 call [ebx+40]、 call [ecx+40]、 call [edx+40]、 call [edi+40]、 call [esi+40]等,对这些代码进行下断,就可查到用的select语句。

在3.0中用的是select top 50 来限制的。

5.0试用版中:
0146A28F    50              push    eax
0146A290    53              push    ebx   UNICODE "select count(*) as countZ1 from tbDanciQxieels where  typeid1=1  and typeid2=244"
0146A291    FF52 40         call    [edx+40]                         ; msado15.4DD48A67
0146A294    85C0            test    eax, eax
0146A296    DBE2            fclex

tbDanciQxieels就是单词数据库

select count(*) as countZ1 from tbDanciQxieels where  typeid1=1  and typeid2=244 的意思就是将244课程的单词数量给变量countZ1
试用版中词库的缩减的,最多只有50个。所以这个变量最大为50。

同时估计它是将countZ1进行断定,如果大于50,则赋值为50

可以先自己将词库改改,增加数据
然后再找找 那里有countZ1的限制。

0146A455    B9 E8875300     mov     ecx, 005387E8                    ; UNICODE "countZ1"
....
0146A499    FF15 D8104000   call    [<&MSVBVM60.__vbaVarIndexLoad>]  ; MSVBVM60.__vbaVarIndexLoad
0146A49F    83C4 1C         add     esp, 1C
0146A4A2    8D4D BC         lea     ecx, [ebp-44]
0146A4A5    50              push    eax
0146A4A6    51              push    ecx
0146A4A7    FF15 C8114000   call    [<&MSVBVM60.__vbaStrVarVal>]     ; MSVBVM60.__vbaStrVarVal   'EAX: UNICODE "50"
0146A4AD    8BD3            mov     edx, ebx
0146A4AF    8B9D 0CFEFFFF   mov     ebx, [ebp-1F4]
0146A4B5    50              push    eax                   'EAX: UNICODE "50" 会不会是这个限制?
0146A4B6    53              push    ebx
0146A4B7    FF52 54         call    [edx+54]
0146A4BA    85C0            test    eax, eax
....
0146A4F8    FFD7            call    edi
0146A4FA    B9 FC875300     mov     ecx, 005387FC                    ; UNICODE "countZ2"
....
0146A53D    50              push    eax
0146A53E    FF15 D8104000   call    [<&MSVBVM60.__vbaVarIndexLoad>]  ; MSVBVM60.__vbaVarIndexLoad
0146A544    83C4 1C         add     esp, 1C
0146A547    8D4D BC         lea     ecx, [ebp-44]
0146A54A    50              push    eax
0146A54B    51              push    ecx
0146A54C    FF15 C8114000   call    [<&MSVBVM60.__vbaStrVarVal>]     ; MSVBVM60.__vbaStrVarVal  'EAX: UNICODE "19407"
0146A552    8BD3            mov     edx, ebx
0146A554    8B9D 0CFEFFFF   mov     ebx, [ebp-1F4]
0146A55A    50              push    eax      'EAX: UNICODE "19407"  这个是单词总数限制
0146A55B    53              push    ebx
0146A55C    FF52 54         call    [edx+54]

2006-12-8 13:10
0
雪    币: 239
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
31
刚才跟踪了一下:
0146A4A7    FF15 C8114000   call    [<&MSVBVM60.__vbaStrVarVal>]     ; MSVBVM60.__vbaStrVarVal   'EAX: UNICODE "50"
0146A4AD    8BD3            mov     edx, ebx
0146A4AF    8B9D 0CFEFFFF   mov     ebx, [ebp-1F4]
0146A4B5    50              push    eax                   'EAX: UNICODE "50" 会不会是这个限制?

不是50个限制 ,这个数就是这一课程的单词数。如果在单词库中增加了单词,这个数也会变的。
看到程序在其它地方有检测50这个数。只要能找到就成了。
2006-12-8 16:04
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
32
遇到好文怎么能不顶!
2006-12-8 21:36
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
不错,要顶
2006-12-8 22:17
0
游客
登录 | 注册 方可回帖
返回
//