能力值:
( LV2,RANK:10 )
在线值:
|
-
-
2 楼
要求给出思路以即贴出过程。谢谢
|
能力值:
( LV13,RANK:410 )
|
-
-
3 楼
思路自己去想,如果你自己做的工程,你可以自己在里面添加一些标记的物品来帮助你解析VB程序结构。
给出结果,修改内存0x401E76处或者文件0x1E76出的双字节数据0x7D0为你需要的数值大小即可。
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
4 楼
00401E63 FF15 90104000 call dword ptr ds:[<&MSVBVM60.__vbaF>; MSVBVM60.__vbaFreeObj
00401E69 B9 04000280 mov ecx,80020004
00401E6E B8 0A000000 mov eax,0A
00401E73 66:81FE D007 cmp si,7D0 ; 这里是修改那个值2000十六进制为7DO
00401E78 894D A8 mov dword ptr ss:[ebp-58],ecx
00401E7B 8945 A0 mov dword ptr ss:[ebp-60],eax
00401E7E 894D B8 mov dword ptr ss:[ebp-48],ecx
00401E81 8945 B0 mov dword ptr ss:[ebp-50],eax
00401E84 894D C8 mov dword ptr ss:[ebp-38],ecx
00401E87 8945 C0 mov dword ptr ss:[ebp-40],eax
00401E8A 7E 43 jle short 工程1.00401ECF ; 这里,跳则在2000内,不跳就会提示错误
00401E8C 8D55 90 lea edx,dword ptr ss:[ebp-70]
00401E8F 8D4D D0 lea ecx,dword ptr ss:[ebp-30]
00401E92 C745 98 30184000 mov dword ptr ss:[ebp-68],工程1.004018>
00401E99 C745 90 08000000 mov dword ptr ss:[ebp-70],8
00401EA0 FF15 74104000 call dword ptr ds:[<&MSVBVM60.__vbaV>; MSVBVM60.__vbaVarDup
00401EA6 8D4D A0 lea ecx,dword ptr ss:[ebp-60]
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
5 楼
那里你想改多少自己算算改下就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
3.4都是答案,我友情支持。
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
7 楼
你自己仿的,在源码里改就是了啊。很费劲?
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
8 楼
修改跳转语句
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不懂,只是想要钱。哈哈
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
10 楼
00401E73 . 66:81FE D007 cmp si, 7D0
//0x7D0=2000,这里可以修改2000的数值
00401E8A . /7E 43 jle short 00401ECF
//jli改成jmp,可以跳过错误提示
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
11 楼
前面的已给出了方法,我在这里学习了。
|
能力值:
( LV2,RANK:10 )
在线值:

|
-
-
12 楼
刚刚弄了下,我也是新手,不知道方法是否正确,至少达到了目的。
用OD加载,因为程序是和2000作比较,因此直接搜索该常量。
右键->查找->常量,输入07D0,即2000的十六进制表示
来到 00401E73 CMP SI,7D0
这个就是比较是否大于2000的地方了。
继续往下,看到一个跳转
JLE SHORT 工程1.00401ECF ,表示小于就跳转。
跟随这个跳转,发现下面两处
00401EB7 CALL DWORD PTR DS :[<&MSVBVM60.#595>]
这一行便是调用rtcMsgBox(VB编写),是大于2000时的弹出的对话框,将此处用nop注掉,便不会弹出该对话框。
同理看到
00401EFA CALL DWORD PTR DS :[<&MSVBVM60.#595>]
将这一行用nop注释,输入正确时也不会弹框了。
不知道符合你的要求不
新人第一次回帖, 谁能告诉我咋传图片
|
|
|