首页
社区
课程
招聘
[求助]谁能提供个inline patch的思路或例子
发表于: 2009-5-30 01:42 4097

[求助]谁能提供个inline patch的思路或例子

2009-5-30 01:42
4097
现在发觉有些壳比较难脱..有时候为了破解一个程序脱壳却占了大部分时间
所以有些时候不得不patch,
如果你要patch的位置就在oep附近.
这时候怎么patch呢
谁能给我提供一个思路或例子
谢了

ps:我说的是压缩壳,就是说怎么在程序解压完的时候在进行patch

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
2
第一步:在程序是找个空地。如果只有20字节左右,可以直接到400260之后的位置找。
如果需要的空间大,就去别地找。
然后把需要的补丁代码写到找好的位置。(补丁代码执行完记得jmp oep去。

第二步,把jmp oep那直接jmp 到找们的位置。
2009-5-30 09:09
0
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
3
谢谢ls的
想问一下.为什么有时候在壳程序的领空修改代码
点右键却没有'保存到文件"的选项.而在系统dll的领空修改时却有
2009-5-30 19:02
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
虽说在 壳程序的领空,但是那些代码是解压出来的,在exe内并没有对应的位置。
要改这些需要多层的SMC
2009-5-30 19:32
0
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
5
我跟踪rep stos  .....这条指令(是写入相同数据的),下硬件断点向上跟踪了8层..都还是不能保存为文件.郁闷啊
我把程序传上去.哪位好心人帮下忙
下面是我找到的:
关键算法call地址:003E43A2    E8 69FDFFFF     call    003E4110
这个call很贱,跳来跳去的
关键跳:003E43A9   /74 21           je      short 003E43CC
我是准备在关键call,call 003E4110后,吧test eax,eax,改成xor eax,eax
这样下面的je就相当于jmp了
所以我就跟踪壳程序写入"test eax,eax"的指令
这是我跟到的最后一个硬件断点:3e3a0c (hw 3e3a0c )
修改后还是不能保存
大侠帮帮忙
上传的附件:
  • 1.rar (244.66kb,3次下载)
2009-5-30 20:07
0
雪    币: 576
活跃值: (1500)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
ls,你的地址有问题啊!

上传的附件:
2009-5-31 13:32
0
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
7
ls的,刚用od加载时,这块地址还没有alloc,这块地址是后来alloc的
2009-5-31 20:22
0
游客
登录 | 注册 方可回帖
返回
//