首页
社区
课程
招聘
[求助]一个测试程序,防止软件文字被修改
发表于: 2010-2-7 16:30 5396

[求助]一个测试程序,防止软件文字被修改

2010-2-7 16:30
5396
一个测试程序:
为了防止 软件文字被修改,所以对程序做了一下加密,现在可以防止VBExplorer 这类的软件修改,不知对od 这样的调试软件是否可以防止修改。

如果可以修改请高手 说一下,如何调试修改。或者防止修改的措施。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 76
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
不明白。。。
上传的附件:
  • 1.jpg (9.50kb,220次下载)
2010-2-7 16:43
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
就是通过od 调试软件 把 软件未注册 改为已注册,
把购买联系QQ:9999 改为 其他的QQ号码
2010-2-7 16:46
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
你看看行不ccc
上传的附件:
2010-2-7 17:46
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
yingyue  

是这个意思,想问一下,具体如何修改的,这个修改难不难。
麻烦你写一下步骤,和思路
2010-2-7 19:16
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
超简单超容易

运行程序,搜索字符串,找到对应的地方,一看是动态空间
于是看看那里写入的,发现转了好几转,没耐心去修改原始字节
随意找了个返回地址,但程序还没启动的地方

00402091                mov     edx, dword ptr [eax]      一看此时 EBX 的值是字符串最终生成的段内地址
00402093                call    dword ptr [edx+0x8]            ; MSVBVM60.Zombie_Release
00402096                mov     eax, dword ptr [ebp-0x4]
00402099                mov     ecx, dword ptr [ebp-0x14]

于是就修改了它

00402091                jmp     402579       跳到 SMC 处

00402579                 push    ebx                                        写段小代码 PATCH 你的字符
0040257A                 add     ebx, 0x250
00402580                 mov     word ptr [ebx], 0xD1D2
00402585                 add     ebx, 0x22
00402588                 mov     dword ptr [ebx], 0x34333231       随意写入点什么
0040258E                 mov     dword ptr [ebx+0x4], 0x3536373>
j00402595                pop     ebx
00402596                 jmp     00402096

就这么简单
2010-2-7 19:29
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
//运行程序,搜索字符串,找到对应的地方,一看是动态空间

od 里面怎么找字符串 。我知道有个 查找--所有文本参考字符串

这个也找不到。 还请指点
2010-2-8 08:33
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
ALT+M -> CTRL+B

于  ASCII 对话框中输入你的字符串看看 !

还有那个什么插件把它扔了吧,一点用都没有的,N 年前就不用了
2010-2-8 14:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
yingyue

我对程序做了一下修改,麻烦你看下是否还可以修改
上传的附件:
2010-2-8 19:14
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
你这次比上次好一些,但还是没用的

7C84B2CD        cmp     byte ptr [ebx+ecx*2+0x1], dl     // ECX 是你预设的数据,作为指针用,对不?

把:

6F 8F F6 4E 2A 67 E8 6C 8C 51      原数据

6F 8F F6 4E F1 5D E8 6C 8C 51      替换为这段的数据
上传的附件:
  • 2.jpg (6.24kb,131次下载)
2010-2-8 20:04
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
能说一下 思路吗。如何找到的。

现在软件中的内容少,如果代码很多找起来是不是会麻烦一点。
只是有难度
2010-2-8 21:10
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
思路这东西其实靠经验的,你这次做的基本合格了,放个修改后的 test ,你自己跟一下就比我说的还清楚,不再跟贴了
上传的附件:
2010-2-8 21:20
0
雪    币: 215
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
一直想找东西试一下SoftSnoop2010V0.4能不能代替SmartCheck。结果如下:


返回地址: 00401A08 函数名称: __vbaVarCat(MSVBVM60.DLL)
__vbaVarCat: 变量联接
RetBuffer=0x0012FAC4
Var2=0x0012FAD4 (vb字符串:"件")
Var3=0x0012FAE4 (vb字符串:"软")
__vbaVarCat返回值: 0x0012FAC4 (vb字符串:"软件")

......(中间略)

返回地址: 00401B4E 函数名称: __vbaStrMove(MSVBVM60.DLL)
__vbaStrMove: 移动字符串
strDest=0x0012FB20
strSrc=0x0012FBF0
__vbaStrMove返回值: 0x0015F9CC (unicode字符串"软件未注册")

返回地址: 00401B5B 函数名称: __vbaPrintObj(MSVBVM60.DLL)
__vbaPrintObj返回值: 0x00000006


00401A08就是处理的代码所在,用od打开ctrl+g,下断。


004019C0 . 8B3D 14104000 mov edi, dword ptr [<&MSVBVM60.#698>] ; MSVBVM60.rtcVarBstrFromChar
004019C6 . 8D55 D0 lea edx, dword ptr [ebp-30]
004019C9 . 33DB xor ebx, ebx
004019CB . 68 6F8FFFFF push FFFF8F6F ;8F6F,压入栈中,在栈窗口中选择显示Unicode数据,可以看到就是“软”
004019D0 . 52 push edx
004019D1 . 895D E8 mov dword ptr [ebp-18], ebx
004019D4 . 895D E4 mov dword ptr [ebp-1C], ebx
004019D7 . 895D E0 mov dword ptr [ebp-20], ebx
004019DA . 895D D0 mov dword ptr [ebp-30], ebx
004019DD . 895D C0 mov dword ptr [ebp-40], ebx
004019E0 . 895D B0 mov dword ptr [ebp-50], ebx
004019E3 . 895D A0 mov dword ptr [ebp-60], ebx
004019E6 . 895D 90 mov dword ptr [ebp-70], ebx
004019E9 . FFD7 call edi ; MSVBVM60.rtcVarBstrFromChar; <&MSVBVM60.#698>
004019EB . 8D45 C0 lea eax, dword ptr [ebp-40]
004019EE . 68 F64E0000 push 4EF6 ;这个就是“件”了
004019F3 . 50 push eax
004019F4 . FFD7 call edi
004019F6 . 8D4D D0 lea ecx, dword ptr [ebp-30]
004019F9 . 8D55 C0 lea edx, dword ptr [ebp-40]
004019FC . 51 push ecx
004019FD . 8D45 B0 lea eax, dword ptr [ebp-50]
00401A00 . 52 push edx
00401A01 . 50 push eax
00401A02 . FF15 60104000 call dword ptr [<&MSVBVM60.__vbaVarCat>] ; MSVBVM60.__vbaVarCat ;这里拼接

2010-2-9 10:37
0
雪    币: 18
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
vb还有技术可言啊....
2010-2-9 23:26
0
游客
登录 | 注册 方可回帖
返回
//