首页
社区
课程
招聘
[旧帖] OD v1.10的英文原版改写成Dll来使用,来躲避Anti 0.00雪花
发表于: 2011-9-24 15:02 9322

[旧帖] OD v1.10的英文原版改写成Dll来使用,来躲避Anti 0.00雪花

2011-9-24 15:02
9322
使用工具: OD v1.10的英文原版
破解过程:
  先申明,1,我不知道前辈们是不是已经发过类似这样的文章了,不要骂我。2,本人水平的确很菜。
  
  原因:最近用OD搞一个保护系统,很郁闷,驱动保护部分已经过了,用StrongOD的最新版本,改驱动名,,,,等等方法,但是还是被发现了。提示一个‘发现调试器’
                  于是,想着把OD做成Dll来使用,是不是可以躲避检查呢。,,呵呵,,改成Dll之后的确有效果。
  
  1,修改OEP:
  OD的OEP:
00DA1000 > $ /EB 10              jmp     short 00DA1012
00DA1002     |66                 db      66                                ;  CHAR 'f' //新加的代码不能放这里,因为要重定位。
00DA1003     |62                 db      62                                ;  CHAR 'b'
00DA1004     |3A                 db      3A                                ;  CHAR ':'
00DA1005     |43                 db      43                                ;  CHAR 'C'
00DA1006     |2B                 db      2B                                ;  CHAR '+'
00DA1007     |2B                 db      2B                                ;  CHAR '+'
00DA1008     |48                 db      48                                ;  CHAR 'H'
00DA1009     |4F                 db      4F                                ;  CHAR 'O'
00DA100A     |4F                 db      4F                                ;  CHAR 'O'
00DA100B     |4B                 db      4B                                ;  CHAR 'K'
00DA100C     |90                 nop
00DA100D     |E9                 db      E9
00DA100E   . |2801E500           dd      offset b.___CPPdebugHook
00DA1012   > \A1 1B01E500        mov     eax, dword ptr [E5011B]
  修改为:
00871000 >   /E9 5BE60A00   jmp     0091F660             // + 记录模块地址
00871005     |90            nop
00871006     |90            nop
00871007     |90            nop
00871008     |90            nop
00871009     |90            nop
0087100A     |90            nop
0087100B     |90            nop
0087100C     |90            nop
0087100D     |90            nop
0087100E     |90            nop
0087100F     |90            nop
00871010     |90            nop
00871011     |90            nop
00871012   . |A1 1B019200   mov     eax, dword ptr [92011B]

2,加一些代码记录模块地址。
// + 记录模块地址
0091F660      8BC3          mov     eax, ebx
0091F662      2D 00100000   sub     eax, 1000
0091F667      51            push    ecx
0091F668      8BCB          mov     ecx, ebx
0091F66A      83C1 06       add     ecx, 6
0091F66D      8901          mov     dword ptr [ecx], eax
0091F66F      59            pop     ecx
0091F670    ^ E9 9D19F5FF   jmp     00871012                   //再跳回去
0091F675      00            db      00

3,在0091F642这里加一个Call,修正GetModuleHandleA的返回,因为现在OD是Dll了,模块地址不同。
0091F628   .  33 32 2D 62 6>ascii   "32-bit analysing"
0091F638   .  20 64 65 62 7>ascii   " debugger",0
// + 修改 kernel32.GetModuleHandleA
0091F642   $  8BC4          mov     eax, esp
0091F644   .  8378 04 00    cmp     dword ptr [eax+4], 0
0091F648   .  74 05         je      short 0091F64F
0091F64A   .- E9 F2C0EE7B   jmp     kernel32.GetModuleHandleA
0091F64F   >  E8 00000000   call    0091F654
0091F654  /$  58            pop     eax
0091F655  |.  2D 4EE60A00   sub     eax, 0AE64E
0091F65A  |.  8B00          mov     eax, dword ptr [eax]         //返回上面记录的模块地址
0091F65C  \.  C2 0400       retn    4
0091F65F      00            db      00

4,最后把调用kernel32.GetModuleHandleA的Call,如果参数为0修改成Call 0091F642,参数不为0的不改。

5,改完,保存为OD.dll,自己随便写一个exe,LoadLibraryA,OD.dll,可以用了, 只能附加,不可以直接打开。这个足够了,我就只需要附加。
  
                 
  太郁闷,,,发了N次贴,都失败,,搞不懂论坛怎么发帖,,为什么发帖还需要悬赏10kx才可以啊?

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

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
2
印象中很早以前就有过。
2011-9-24 15:15
0
雪    币: 1254
活跃值: (630)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
OD野猪力量,shoooo
2011-9-24 16:23
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错嘛…回去试试
2011-9-24 17:21
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
5
你发在求助问答区,当然要收钱了。
2011-9-24 18:47
0
雪    币: 43
活跃值: (186)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
思路新颖有创意,
2011-9-26 11:17
0
雪    币: 788
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看看先哦呵呵
2011-9-26 16:13
0
雪    币: 4902
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
貌似方法确实有过了
但是LZ的研究精神很好哈。。
支持
2011-9-26 16:25
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
神马都是浮云。。。
2011-9-27 21:30
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
很新颖。。学习。。。。
2011-9-27 22:07
0
雪    币: 949
活跃值: (18)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
11
Mark dll 版本OD  感谢楼主共享
2012-4-16 18:21
0
雪    币: 96
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
一如既往的支持!
2012-4-16 18:31
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
LZ真厉害,居然想到把OD作为DLL调用。
2012-4-18 00:12
0
游客
登录 | 注册 方可回帖
返回
//