首页
社区
课程
招聘
7
[原创]破解软件时一个效果极好的巧妙方法
发表于: 2008-3-5 07:51 27963

[原创]破解软件时一个效果极好的巧妙方法

2008-3-5 07:51
27963

前几天研究一个软件,加密强度不是很大,但在不显眼的N多地方做了手脚,并且出错不提示,能次提示还自绘窗口,用常规APi不太好拦,于是就想到了word里面的查找替换功能,在OD里把源码导出后放到word里,查到83B8940200000B 这样的二进制代三,总共45处限制3分钟搞定.
      当然我这次是幸运了,另外一些程序不一定都是相同的代码,但起码是类似的代码,多动动脑子,试着查一下雷同的代码,也许会有意外的收获,这在软件技术难度较大或限制比较多又不明显时,是一个很好的思路。
    这种破解思路的出现也给编程提出了新的挑战:我们在多点限制时,不要用相同的判断手法,多变幻一下,也许破解的难度就大一些。比如 我们在这样的语句 if str1='3' then 时我们完全可以改成用把这个字符换成长实数,用10循环除,看小数后的第几位,再用xor检测,这样破解难度成几何系数上升.

附上原软件关键跳部分的源码:

004F7391  |.  B8 CC764F00         mov     eax, 004F76CC
004F7396  |.  E8 01E7F0FF         call    00405A9C
004F739B  |.  85C0                test    eax, eax
004F739D  |.  7E 26               jle     short 004F73C5
004F739F  |.  8B83 E0030000       mov     eax, dword ptr [ebx+3E0]
004F73A5      83B8 94020000 0B    cmp     dword ptr [eax+294], 0B
004F73AC      7E 17               jle     short 004F73C5================>关键跳

004F73CD  |.  E8 16E5F0FF         call    004058E8


[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费 7
支持
分享
赞赏记录
参与人
雪币
留言
时间
Youlor
为你点赞~
2024-1-3 01:33
伟叔叔
为你点赞~
2023-10-13 00:09
PLEBFE
为你点赞~
2023-7-20 05:25
QinBeast
为你点赞~
2023-7-18 03:57
shinratensei
为你点赞~
2023-6-27 00:03
心游尘世外
为你点赞~
2023-6-16 03:56
飘零丶
为你点赞~
2023-6-8 00:26
最新回复 (85)
雪    币: 140
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
又学习一个方法,不错
2008-3-5 09:26
0
雪    币: 1505
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
3
在OD中ctrl+B
2008-3-5 09:51
0
雪    币: 201
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个方法不错.......学习了.......
2008-3-5 14:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
找到了当然简单 怎么找才是难的地方
2008-3-5 15:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
确实在WORD里更直观,呵
2008-3-5 15:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
很好很强大!
2008-3-5 16:57
0
雪    币: 2317
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
8
“能看2进制代码就像看word文档一样,和能写2进制代码就象写word一样”
是最高境界。
2008-3-5 17:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
都是高手啊
2008-3-5 19:26
0
雪    币: 1889
活跃值: (198)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
OD的ctrl+B我老早就会用,但如果和文本处理的顶极工具word相比,它显得功能太小了,你在word可以实现如下查找,但OD里却没有.
1、特殊不可见字符的直接鼠标输入查找
2、超长文本大规模查找替换的快速处理.
3、整段的矩形区竖向选择
4、多窗口分段对比处理,,并且可以同布滚行
5、多剪切板查找与替换
6、自定义多种颜色的标记处理
7、在文本中插入图片标志和剪切画

    破解不拘泥于某一种形式,只要以手头的工具,以最快的速度,快到最好的破解.就象破还原精灵5.0时一个兄弟想到的用WINHEX,就是一个很好的办法.
2008-3-6 10:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
太高深了啊,还是看不懂
2008-3-6 12:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习                                         .
2008-3-6 20:07
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
13
不明白,WORD里还能修改PE文件?
2008-3-6 20:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
厉害。。。怎么练到这个境界?
2008-3-6 20:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
很好的方法,思路不错.
2008-3-7 06:33
0
雪    币: 180
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
哎,破解软件的牛人真多。学习了。
2008-3-7 07:50
0
雪    币: 1889
活跃值: (198)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
如果倚天剑和屠龙刀都有,你非要只用倚天剑,我也没办法
2008-3-7 11:15
0
雪    币: 216
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
以一个好方法,学习了
2008-3-7 16:16
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
个人更喜欢用UE的查找功能
2008-3-7 16:37
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
很好的方法,思路不错.学习了
2008-3-7 18:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
确实很好!收到!去试试看~~~
2008-3-7 21:00
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
看来奇人有奇招呀,不错的思路
2008-3-7 22:04
0
雪    币: 10917
活跃值: (3852)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习了。
2008-3-7 22:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
真是高手啊!!!
2008-3-10 10:28
0
雪    币: 1889
活跃值: (198)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
随着加密与解密,病毒与反病毒技术的不断升级,就象我在论坛里某些回贴所说的,对抗玩的不再单是技术,而是心理战,其实如果只是一个小技术,再难都有人超越,但如果N种技术的迭加后再重复,就算你是一个再牛的人,你都没有精力一下解决掉,"可能最终让你放弃破解的不是技术,而是你女友的一句'如果你再折腾那个破软件,我就和你分手'之关的话,这对技术人员来说是致命的杀伤".也许有兄弟说,我不在乎女朋友怎么说,她去了我再找一个更好的,但如果让你陪的不是女友,是爹娘呢,你可以再换爹娘吗?
      而把反汇编的代码转存到第三方功能强大的查找替换智能软件(不一定要是word)中,会取得事半功倍的效果。另外,如果高版本加壳并且用了反跟踪技术,可以尝试找到低版本的关键点,而把高版本的软件半脱壳(这是一个全新的概念,也就是说,我们脱的软件未必能正常运行,而可以成功反编出全部或至少一大部分代码),查找代码的关键部分进行静态分析,利用该软件低版本的指令特征字,反复查找,找到新版的关键点,再把加壳软件动态设断跟踪就可以搞了,这种方法对新版升级历害加强壳的软件相当有效,一个人的加密思路新老版总是惊人的相似。
    好了,今天就说这么多吧,欢迎懂行的兄弟批评指正。其实这些思路来源于脱壳教程中的查两条对称堆栈指定,只是活着活用,我觉得OD内置的查找水平太有限,才想到把它导出来借助word进行处理,没想到效率大幅提高,不敢独享,特现丑给兄弟们。
2008-3-10 13:01
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册