能力值:
( LV2,RANK:10 )
|
-
-
2 楼
几个Class名字都是我用Spy++查出来的,不知道怎么断,大哥大姐帮帮忙吧
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
原来还有一层壳
第一层壳F8键都快按烂了,才脱掉
用OD导入后停在这里:
004011AC o> 68 C07E4000 push ok1_.00407EC0 ; ASCII "VB5!6&vb6chs.dll"
004011B1 E8 F0FFFFFF call <jmp.&msvbvm60.ThunRTMain>
004011B6 0000 add byte ptr ds:[eax],al
004011B8 48 dec eax
004011B9 0000 add byte ptr ds:[eax],al
004011BB 0030 add byte ptr ds:[eax],dh
004011BD 0000 add byte ptr ds:[eax],al
004011BF 0040 00 add byte ptr ds:[eax],al
004011C2 0000 add byte ptr ds:[eax],al
004011C4 0000 add byte ptr ds:[eax],al
004011C6 0000 add byte ptr ds:[eax],al
004011C8 AD lods dword ptr ds:[esi]
用peid查看还有壳,晕
难道是注册码正确后再脱壳的?
我该怎么办?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
为什么老在7开头的地址里面转不出去
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
VB程序里大部分函数都是通过MSVBVM60调用的,其函数一般都有个__vba前缀,比如__vbaStrCmp,__vbaStrCopy等。
我也有这样的烦恼,不过刚破解了一个VB的Crackme,可以参考一下我写的破文:
http://bbs.pediy.com/showthread.php?s=&threadid=18399
你“老在7开始的地方打转”,我推测很可能是步进到了消息函数内部去了,消息函数一旦步进,很难出来,我上篇文章中也提到了。下次如果你见到OD加了类似ProcClass名称注释的,就要F8步过,不要F7,进去了也没什么用。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢谢hud的热心帮助
这个程序往下就是注册码验证窗口了
如果在下面这句按F8就跟丢了
004011B1 E8 F0FFFFFF call <jmp.&msvbvm60.ThunRTMain> //弹出注册框
所以我F7进去,往后一直F8但是一直出不来了
我查看了输入表只有一点点内容,
是不是壳没脱干净?
输入表调用
MSVBVM60.DLL
DllFunctionCall
::004010B1->AND EAX,401048
EVENT_SINK_AddRef
::00401164->JMP DWORD PTR [401040]
EVENT_SINK_GetIDsOfNames
::00401188->JMP DWORD PTR [401000]
EVENT_SINK_Invoke
::0040118E->JMP DWORD PTR [401010]
EVENT_SINK_QueryInterface
::0040115E->JMP DWORD PTR [401054]
EVENT_SINK_Release
::0040116A->JMP DWORD PTR [401050]
GetMemEvent
::00401194->JMP DWORD PTR [40106C]
::0041024B->MOV ECX,401194
MethCallEngine
..................
ProcCallEngine
...............
PutMemEvent
::0040119A->JMP DWORD PTR [40108C]
::00410265->MOV ECX,40119A
SetMemEvent
::004011A0->JMP DWORD PTR [401090]
::0041027F->MOV ECX,4011A0
ThunRTMain
::004011A6->JMP DWORD PTR [401088]
::004011B1->CALL 004011A6
Zombie_GetTypeInfoCount
::0040117C->JMP DWORD PTR [40104C]
Zombie_GetTypeInfo
::00401182->JMP DWORD PTR [40101C]
__vbaExceptHandler
::00401158->JMP DWORD PTR [401058]
rtcAnsiValueBstr
::0040110A->JMP DWORD PTR [401014]
rtcBstrFromFormatVar
::0040112E->JMP DWORD PTR [4010A0]
rtcDoEvents
::004010C2->JMP DWORD PTR [40102C]
rtcEndOfFile
::004010E0->JMP DWORD PTR [401078]
rtcFileCopy
::00401146->JMP DWORD PTR [401080]
rtcFileLen
::0040114C->JMP DWORD PTR [401084]
rtcFreeFile
::004010DA->JMP DWORD PTR [401074]
rtcHexVarFromVar
::00401110->JMP DWORD PTR [40107C]
rtcKillFiles
::004010FE->JMP DWORD PTR [401044]
rtcLeftCharVar
::00401116->JMP DWORD PTR [401098]
rtcLowerCaseVar
::004010EC->JMP DWORD PTR [401018]
rtcMidCharBstr
::00401104->JMP DWORD PTR [401038]
rtcMidCharVar
::004010F2->JMP DWORD PTR [40103C]
rtcMsgBox
::004010BC->JMP DWORD PTR [401028]
rtcR8ValFromBstr
::00401140->JMP DWORD PTR [4010A4]
rtcRandomNext
::004010D4->JMP DWORD PTR [401020]
rtcRandomize
::004010CE->JMP DWORD PTR [401024]
rtcReplace
::004010C8->JMP DWORD PTR [40105C]
rtcRgb
::00401122->JMP DWORD PTR [401008]
rtcRightCharVar
::004010F8->JMP DWORD PTR [40109C]
rtcSendKeys
::004010E6->JMP DWORD PTR [401030]
rtcSin
::00401128->JMP DWORD PTR [401004]
rtcStrReverse
::0040111C->JMP DWORD PTR [401064]
rtcStringBstr
::00401152->JMP DWORD PTR [401060]
rtcTrimVar
::0040113A->JMP DWORD PTR [401034]
rtcVarBstrFromAnsi
::004010B6->JMP DWORD PTR [401068]
rtcVarStrFromVar
::00401134->JMP DWORD PTR [401094]
而且我查看内存映射的时候看到有两个段显示UPX
地址 区段
00401000 UPX0
0042D000 UPX1
该怎么办?
跟进去,出不来了,连我输入的伪注册码都看不到
|
能力值:
( LV6,RANK:90 )
|
-
-
7 楼
没有你调试的文件,很难回答。上载一个你调试的程序,或者附一个你调试程序的链接吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
斑竹不要封啊,我为了学点做外挂的技术,不得已啊,也算是交流调试技术吧
五代科技
外挂制作教程9.6版
http://gdown.uvn.cn/softdetail.jsp?softid=17717
注册要200呢
脱壳很简单UPX的壳
pushad
找到popad
然后在段间跳转出DUMP,修复一下导入表就可以了
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
五州就是个以搞破解为主的公司,要破它的程序可能会有些难度^_^!
刚才我用OD分析了一下解压缩后的程序,应该它的内部还有反跟踪和SMC代码,因为程序本来有很多功能,可是在OD中只能看到7开头的地址,非常短,正常的0040..开头的地址全部看不到......
你还是求助于高手吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
我看VB东西就暴破~
|
|
|