ynboyinkm 发表于 2006-9-4 03:00:06

一个VB程序,高手看看! 谢谢!已解决!

一个VB程序,我用GetVBRes把"注册成功"改为了"baiok" 把"注册码错误"改为了"baierror"

用od载入打开,找不到"baiok" 和"baierror"的字符!

用W32dsm反汇编,找到 "baiok"和"baierror"

我想在od中追注册码,可是00A9E2F7这种地址好怪,在od中找不到~~~~


我想问一下,在od中要怎么才可以定位下面这一段代码??


:00A9E2F7 FF154C144000            Call dword ptr 这句中的是否有用??



下面的W32dsm的汇编的相关代码!


:00A9E2F7 FF154C144000            Call dword ptr ///这是关健call
:00A9E2FD 6685DB                  test bx, bx
:00A9E300 BACC384500            mov edx, 004538CC
:00A9E305 8D4DD0                  lea ecx, dword ptr
:00A9E308 7437                  je 00A9E341               //这是关健跳,暴破我话改为jmp就ok!

* Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
                                  |
:00A9E30A 8B3548134000            mov esi, dword ptr
:00A9E310 FFD6                  call esi

* Possible StringData Ref from Code Obj ->"bbaierror          "   ///这是我用GetVBRes改的,原来的信息为"注册码错误~~~"
                                  |
:00A9E312 BA345E4600            mov edx, 00465E34
:00A9E317 8D4DD4                  lea ecx, dword ptr
:00A9E31A FFD6                  call esi
:00A9E31C 8D55D0                  lea edx, dword ptr
:00A9E31F 8D45D4                  lea eax, dword ptr
:00A9E322 52                      push edx
:00A9E323 50                      push eax
:00A9E324 E8B720D6FF            call 008003E0
:00A9E329 8D4DD0                  lea ecx, dword ptr
:00A9E32C 8D55D4                  lea edx, dword ptr
:00A9E32F 51                      push ecx
:00A9E330 52                      push edx
:00A9E331 6A02                  push 00000002

* Reference To: MSVBVM60.__vbaFreeStrList, Ord:0000h
                                  |
:00A9E333 FF1558134000            Call dword ptr
:00A9E339 83C40C                  add esp, 0000000C
:00A9E33C E9F9010000            jmp 00A9E53A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00A9E308(C)
|

* Reference To: MSVBVM60.__vbaStrCopy, Ord:0000h
                                  |
:00A9E341 8B1D48134000            mov ebx, dword ptr
:00A9E347 FFD3                  call ebx

* Possible StringData Ref from Code Obj ->"bbaiok       "    ///这是我用GetVBRes改的,原来的信息为"注册成功~~~"
                                  |
:00A9E349 BA605E4600            mov edx, 00465E60
:00A9E34E 8D4DD4                  lea ecx, dword ptr
:00A9E351 FFD3                  call ebx
:00A9E353 8D45D0                  lea eax, dword ptr
:00A9E356 8D4DD4                  lea ecx, dword ptr
:00A9E359 50                      push eax
:00A9E35A 51                      push ecx
:00A9E35B E88020D6FF            call 008003E0
:00A9E360 8D55D0                  lea edx, dword ptr
:00A9E363 8D45D4                  lea eax, dword ptr
:00A9E366 52                      push edx
:00A9E367 50                      push eax
:00A9E368 6A02                  push 00000002

[ 本帖最后由 野猫III 于 2006-9-4 10:13 编辑 ]

hbqjxhw 发表于 2006-9-4 08:02:14

可以使用"插件内的——超级字符串中的——查找UNICODE.

wxh9833 发表于 2006-9-4 10:25:26

Flyeagle 发表于 2006-9-4 15:00:43

2楼正解。。。。。。。

haiyun 发表于 2006-9-4 18:06:53

好像一些程序就算是用unicode也还是找不到字符串的~~

想要飞de更高 发表于 2006-9-5 11:43:19

貌似 c++的字符串可以用asc码查找
以前好像 有人说程序用的是uncode计算机用的是asc一般查找上uncode
页: [1]
查看完整版本: 一个VB程序,高手看看! 谢谢!已解决!