首页
社区
课程
招聘
[原创]VA_X inline Patching
发表于: 2009-5-8 22:24 10233

[原创]VA_X inline Patching

2009-5-8 22:24
10233

【文章标题】: VA_X inline Pathcing
【文章作者】: yangjt
【作者邮箱】: [email=yangjietao123@163.com]yangjietao123@163.com[/email]
【作者主页】: http://blog.sina.com.cn/yangjt
【作者QQ号】: 325002492
【软件名称】: VA_X
【加壳方式】: Armadillo
【操作平台】: Win Vista+ Win XP
【前   传】: BRD 5·1的时候很过分……
【修改说明】: 自己做起来才发现不是那么回事……本着认真负责的态度……我来重写这篇文章^_^
--------------------------------------------------------------------------------
【详细过程】
原理就是Hook ArmAccess.dll输入表里的VirtualProtect,因为解码后程序会N次调用到这个函数……所以我们把它给改到我们的代码上,然后就可以为所欲为了……(^_^)当然中间还需要处理Arm的CRC校验。所以如何处理……请听我慢慢说来
First Step:
prepare
  patch 代码前要做一些准备工作
  用PeEditor把程序的.text段和.adata段的属性加上可写属性,因为代码需要对这两段进行SMC,如果不能写就会出现页保护错误
  之后OllyICE打开程序,下那个经典的断点VirtualProtect,锁定程序解码ArmAccess.dll时对其区段进行的页保护设定
  这段代码长成这个样子:
  


1F25A53C . C745 B8 04000>mov dword ptr [ebp-48], 4
1F25A543 . EB 07 jmp short 1F25A54C
1F25A545 C745 B8 02000>mov dword ptr [ebp-48], 2
1F25A54C > 8B55 E0 mov edx, dword ptr [ebp-20]
1F25A54F . 8B45 F4 mov eax, dword ptr [ebp-C]
1F25A552 . 0342 0C add eax, dword ptr [edx+C]
1F25A555 . 8945 A8 mov dword ptr [ebp-58], eax
1F25A558 . 8B4D E0 mov ecx, dword ptr [ebp-20]
1F25A55B . 8B51 08 mov edx, dword ptr [ecx+8]
1F25A55E . 8955 B0 mov dword ptr [ebp-50], edx
1F25A561 . 8D45 BC lea eax, dword ptr [ebp-44]
1F25A564 . 50 push eax ; /pOldProtect
1F25A565 . 8B4D B8 mov ecx, dword ptr [ebp-48] ; |
1F25A568 . 51 push ecx ; |NewProtect
1F25A569 . 8B55 B0 mov edx, dword ptr [ebp-50] ; |
1F25A56C . 52 push edx ; |Size
1F25A56D . 8B45 A8 mov eax, dword ptr [ebp-58] ; |
1F25A570 . 50 push eax ; |Address
1F25A571 . FF15 7030291F call dword ptr [<&KERNEL32.VirtualPro>; \VirtualProtect

[注意]APP应用上架合规检测服务,协助应用顺利上架!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
2
雷死我了……标题我也能打错……囧
2009-5-8 22:32
0
雪    币: 203
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持~~出个视频教程就更好了~~~~~~~~~~
2009-5-9 00:44
0
雪    币: 562
活跃值: (1733)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
学习inline。
2009-5-9 01:19
0
雪    币: 134
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
BRD的inline patch好像是最可靠的。
支持楼主的研究。
2009-5-9 09:44
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
6
本着认真负责的态度,修改文章中的错误……^_^
2009-6-21 13:12
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
毫无破解基础,勉强跟着学一下吧,估计应该是学不会啊,谢谢楼主!
2009-6-22 09:23
0
雪    币: 221
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
支持楼主的研究。
2009-6-22 09:38
0
游客
登录 | 注册 方可回帖
返回
//