首页
社区
课程
招聘
一个用vb写的程序,研究一下吧
2004-4-26 10:57 8540

一个用vb写的程序,研究一下吧

2004-4-26 10:57
8540
0041DA62   . FF15 E8114000  CALL DWORD PTR DS:;输入注册码后,被OD断点[<&MSVBVM60.__vbaStrCo>;  MSVBVM60.__vbaStrCopy
0041DA68   . 8D55 DC        LEA EDX,DWORD PTR SS:[EBP-24]
0041DA6B   . 52             PUSH EDX
0041DA6C   . 8D45 E0        LEA EAX,DWORD PTR SS:[EBP-20]
0041DA6F   . 50             PUSH EAX
0041DA70   . 6A 02          PUSH 2
0041DA72   . FF15 F8114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStrList
0041DA78   . 8D8D 68FFFFFF  LEA ECX,DWORD PTR SS:[EBP-98]
0041DA7E   . 51             PUSH ECX
0041DA7F   . 8D95 78FFFFFF  LEA EDX,DWORD PTR SS:[EBP-88]
0041DA85   . 52             PUSH EDX
0041DA86   . 8D45 88        LEA EAX,DWORD PTR SS:[EBP-78]
0041DA89   . 50             PUSH EAX
0041DA8A   . 8D4D 98        LEA ECX,DWORD PTR SS:[EBP-68]
0041DA8D   . 51             PUSH ECX
0041DA8E   . 8D55 A8        LEA EDX,DWORD PTR SS:[EBP-58]
0041DA91   . 52             PUSH EDX
0041DA92   . 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]
0041DA95   . 50             PUSH EAX
0041DA96   . 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
0041DA99   . 51             PUSH ECX
0041DA9A   . 6A 07          PUSH 7
0041DA9C   . FF15 30104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
0041DAA2   . 83C4 2C        ADD ESP,2C
0041DAA5   . 8B16           MOV EDX,DWORD PTR DS:[ESI]
0041DAA7   . 8D45 C8        LEA EAX,DWORD PTR SS:[EBP-38]
0041DAAA   . 50             PUSH EAX
0041DAAB   . 56             PUSH ESI
0041DAAC   . FF92 18070000  CALL DWORD PTR DS:[EDX+718]
0041DAB2   . 85C0           TEST EAX,EAX
0041DAB4   . 7D 12          JGE SHORT notepadx.0041DAC8
0041DAB6   . 68 18070000    PUSH 718
0041DABB   . 68 D0724000    PUSH notepadx.004072D0
0041DAC0   . 56             PUSH ESI
0041DAC1   . 50             PUSH EAX
0041DAC2   . FF15 68104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
0041DAC8   > 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
0041DACB   . FF15 1C104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVar
0041DAD1   . 8B0E           MOV ECX,DWORD PTR DS:[ESI]
0041DAD3   . 56             PUSH ESI
0041DAD4   . FF91 04040000  CALL DWORD PTR DS:[ECX+404]
0041DADA   . 50             PUSH EAX
0041DADB   . 8D55 D8        LEA EDX,DWORD PTR SS:[EBP-28]
0041DADE   . 52             PUSH EDX
0041DADF   . FF15 98104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSet
0041DAE5   . 8BF0           MOV ESI,EAX
0041DAE7   . 8B06           MOV EAX,DWORD PTR DS:[ESI]
0041DAE9   . 8D8D F4FEFFFF  LEA ECX,DWORD PTR SS:[EBP-10C]
0041DAEF   . 51             PUSH ECX
0041DAF0   . 56             PUSH ESI
0041DAF1   . FF50 58        CALL DWORD PTR DS:[EAX+58]
0041DAF4   . DBE2           FCLEX
0041DAF6   . 85C0           TEST EAX,EAX
0041DAF8   . 7D 0F          JGE SHORT notepadx.0041DB09
0041DAFA   . 6A 58          PUSH 58
0041DAFC   . 68 B8774000    PUSH notepadx.004077B8
0041DB01   . 56             PUSH ESI
0041DB02   . 50             PUSH EAX
0041DB03   . FF15 68104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
0041DB09   > 33D2           XOR EDX,EDX
0041DB0B   . 66:3995 F4FEFF>CMP WORD PTR SS:[EBP-10C],DX
0041DB12   . 0F94C2         SETE DL
0041DB15   . F7DA           NEG EDX
0041DB17   . 8BF2           MOV ESI,EDX
0041DB19   . 8D4D D8        LEA ECX,DWORD PTR SS:[EBP-28]
0041DB1C   . FF15 78124000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
0041DB22   . 66:85F6        TEST SI,SI
0041DB25   . 74 1D          JE SHORT notepadx.0041DB44
0041DB27   . 8B03           MOV EAX,DWORD PTR DS:[EBX]
0041DB29   . 50             PUSH EAX
0041DB2A   . 68 F4774000    PUSH notepadx.004077F4                   ;  UNICODE "regnumber"
0041DB2F   . 68 E0774000    PUSH notepadx.004077E0                   ;  UNICODE "regist"
0041DB34   . 68 1C784000    PUSH notepadx.0040781C                   ;  UNICODE "notepad"
0041DB39   . FF15 04104000  CALL DWORD PTR DS:[<&MSVBVM60.#690>]     ;  MSVBVM60.rtcSaveSetting
0041DB3F   . E9 84000000    JMP notepadx.0041DBC8
0041DB44   > B9 04000280    MOV ECX,80020004
0041DB49   . 894D A0        MOV DWORD PTR SS:[EBP-60],ECX
0041DB4C   . B8 0A000000    MOV EAX,0A
0041DB51   . 8945 98        MOV DWORD PTR SS:[EBP-68],EAX
0041DB54   . 894D B0        MOV DWORD PTR SS:[EBP-50],ECX
0041DB57   . 8945 A8        MOV DWORD PTR SS:[EBP-58],EAX
0041DB5A   . C785 50FFFFFF >MOV DWORD PTR SS:[EBP-B0],notepadx.00407>
0041DB64   . BE 08000000    MOV ESI,8
0041DB69   . 89B5 48FFFFFF  MOV DWORD PTR SS:[EBP-B8],ESI
0041DB6F   . 8D95 48FFFFFF  LEA EDX,DWORD PTR SS:[EBP-B8]
0041DB75   . 8D4D B8        LEA ECX,DWORD PTR SS:[EBP-48]
0041DB78   . FFD7           CALL EDI
0041DB7A   . C785 60FFFFFF >MOV DWORD PTR SS:[EBP-A0],notepadx.00408>
0041DB84   . 89B5 58FFFFFF  MOV DWORD PTR SS:[EBP-A8],ESI
0041DB8A   . 8D95 58FFFFFF  LEA EDX,DWORD PTR SS:[EBP-A8]
0041DB90   . 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
0041DB93   . FFD7           CALL EDI
0041DB95   . 8D4D 98        LEA ECX,DWORD PTR SS:[EBP-68]
0041DB98   . 51             PUSH ECX
0041DB99   . 8D55 A8        LEA EDX,DWORD PTR SS:[EBP-58]
0041DB9C   . 52             PUSH EDX
0041DB9D   . 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]
0041DBA0   . 50             PUSH EAX
0041DBA1   . 6A 40          PUSH 40
0041DBA3   . 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
0041DBA6   . 51             PUSH ECX            ; 提示注册码错误。。

因为这个过程中用了vb 的动态链接库,我有点弄不清了,请大家看一下,研究。。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞7
打赏
分享
最新回复 (5)
雪    币: 3246
活跃值: (339)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
blowfish 2004-4-26 13:59
2
0
很显然,0041DAF1那里的call是判断sn的,应该跟进去
雪    币: 166
活跃值: (112)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
小楼 1 2004-4-26 21:16
3
0
难得见到bf又出现了,呵呵

对于vb的一点理解,使我不认同bf老大的看法
0041DAEF . PUSH ECX
0041DAF0 . PUSH ESI
0041DAF1 . CALL DWORD PTR DS:[EAX+58]
0041DAF4 . FCLEX
0041DAF6 . TEST EAX,EAX
0041DAF8 . JGE SHORT notepadx.0041DB09
0041DAFA . PUSH 58
0041DAFC . PUSH notepadx.004077B8
0041DB01 . PUSH ESI
0041DB02 . PUSH EAX
0041DB03 . CALL MSVBVM60.__vbaHresultCheckObj
0041DB09 > XOR EDX,EDX
以上这段代码实际说得意思,我想是:对某个控件的属性进行操作

这样猜测的理由基于2点
1.注意到0041DB03 . CALL MSVBVM60.__vbaHresultCheckObj,这个vb vm内部函数出现总是意味着前面对某个控件进行操作后的控件校验
2.我的印象中,vb一般不用call相对地址进行功能函数计算,CALL DWORD PTR DS:[EAX+58]更多表示控件的属性,例如x=text1.text就是表示为CALL DWORD PTR DS:[EAX+A0]
雪    币: 239
活跃值: (220)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
mejy 3 2004-4-26 21:29
4
0
呵呵,blowfish这几天好忙亚!几乎每个帖子都有你的回复!嘻嘻!
送壳心
雪    币: 214
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
philix 2004-4-26 22:17
5
0
记事本XP V3.0

加过壳的,去壳后跟踪到0041DA62,即可看到关键点。。

大家可以自己试一下。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lazyone 2004-4-26 23:08
6
0
好,太长了,可惜看不懂!呵
游客
登录 | 注册 方可回帖
返回