首页
社区
课程
招聘
[求助]代码变形,请多指教阿,在线等,多谢!!!!!!!!!!!!
发表于: 2006-3-1 16:25 5930

[求助]代码变形,请多指教阿,在线等,多谢!!!!!!!!!!!!

2006-3-1 16:25
5930
【原创】ASProtect 2.1x SKE + Delphi + Stolen Code
http://bbs.pediy.com/showthread.php?s=&threadid=19307&highlight=ASProtect
(11) ?行 LordPE ,啉定 MultiTranse.exe 按右 key Mouse,
     啉 dump region 取出 Stolen Code ?段,忽略?用模? API VM,
     取出必?的 M1-M3 Stolen Code VM ?段 ,及 OEP ?段

VM Address          Size
===========================
00BC0000           33000    <-ASProtect 解密 CODE ?段
00C40000            4000    <-ASProtect 儋料 DATA ?段
00EA0000            3000    <-OEP  Stolen Code
00F00000            1000    <-M1   Stolen Code
00F10000            1000    <-M1   Stolen Code
00F20000            1000    <-M2   Stolen Code
00F30000            1000    <-M2   Stolen Code
00F40000            1000    <-M2   Stolen Code  
00F50000            1000    <-M3   Stolen Code
00F60000            1000    <-M3   Stolen Code   
===========================

全部抓出?後,再用  LordPE ,附加在 DUMP ?尾,?修正 PE Header
-----------------------------------

我已经DUMP完用 ImportREC 修复完毕了,指针全部有效。^_^
可是教程说的用 取出 Stolen Code ?段
这里不大看得懂,请问下上面那些ADDRESS是怎么得到的啊

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

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
放弃!!!吧,否则会打击兴趣的,先脱简单的
2006-3-1 16:44
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
万事开头难,咋就这样放弃啊,我兴趣多呢,不怕打击。垃圾壳我还是能脱脱。
2006-3-1 16:48
0
雪    币: 236
活跃值: (100)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
最初由 takken4 发布
万事开头难,咋就这样放弃啊,我兴趣多呢,不怕打击。垃圾壳我还是能脱脱。


不是我打击你,这个不是垃圾壳................
2006-3-1 17:23
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我知道不是垃圾壳,我的意思是说简单的壳我能脱。
2006-3-1 17:36
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
没人知道?还是没人愿意说阿
2006-3-1 18:40
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
2006-3-2 11:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
上来就想自己做个神六
绝大多数的情况下
是做了一个大炮仗
话不太好听
多担待
2006-3-2 16:47
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
阿,已经快完成了阿,就差这步了,关于Stolen Code的资料不多,真是郁闷.
2006-3-2 21:51
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 takken4 发布
[B我已经DUMP完用 ImportREC 修复完毕了,指针全部有效。^_^
可是教程说的用 取出 Stolen Code ?段
这里不大看得懂,请问下上面那些ADDRESS是怎么得到的啊
........


你把所有的区段先dump 下来,其中就包括 00F00000 - 00F60000
这些。之所以选择用这些区段而不需要其它,是逐步试验出来的。

在调试dump 整理后的程序时,看它代码会跑到哪个区段,那就选择这个区段。
不同asprotect 处理过的程序,可能要选择的区段不同。用SDK + 注册模块
处理过的 要选择区段更多, asprotect 代码段也不止一个。 

另外一个方法是  把dump 下来的所有区段都加进去,一般有20-30个吧,
看能不能运行,然后再进一步试着逐步精减。

要注意备份,因为在使用 lordPE 的rebuild 功能时,可能会导致文件尾的 IDT 表损坏。
2006-3-3 14:50
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
11
研究aspr 代码变形,最好的是用记事本
2006-3-3 15:04
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
多谢指教,还有个小问题,我脱壳的程序区段是在65760000-658be5000,可是在程序里面找到的OEP是00DA0268
00DA0268     55                   push ebp
00DA0269     E9 EA040000          jmp 00DA0758
00DA026E     BF 1A1A4800          mov edi,481A1A
00DA0273     F2:                  prefix repne:
00DA0274     EB 01                jmp short 00DA0277
00DA0276     0F037C24 38          lsl edi,dword ptr ss:[esp+38]

请问下最后在指定OEP的时候该指到什么位置呢,我在用OD插件DUMP的时候显示的是9B640268.
2006-3-3 15:11
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 takken4 发布
多谢指教,还有个小问题,我脱壳的程序区段是在65760000-658be5000,可是在程序里面找到的OEP是00DA0268
00DA0268 55 push ebp
00DA0269 E9 EA040000 jmp 00DA0758
00DA026E BF 1A1A4800 mov edi,481A1A
00DA0273 F2: prefix repne:
........


你的程序代码地址怎么这么怪啊。一般都在00400000 - 01xxxxxx 之间。
oep 也在这范围内。
2006-3-3 15:33
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
呵呵,就是怪阿,这是载入程序时的入口。
65761000 Y>  68 01A0BB65          push YONO.65BBA001
65761005     E8 01000000          call YONO.6576100B
6576100A     C3                   retn
6576100B     C3                   retn
6576100C     F62E                 imul byte ptr ds:[esi]
6576100E     47                   inc edi
6576100F     5D                   pop ebp
最后一次异常
00B7FAA5     C700 EFCA5C85        mov dword ptr ds:[eax],855CCAEF
00B7FAAB     67:64:8F06 0000      pop dword ptr fs:[0]
00B7FAB1     83C4 04              add esp,4
00B7FAB4     83E8 AF              sub eax,-51
然后00B7FBFA下断点停下,F7进,CTRL+F9,执行到返回
00B7FBFA     E8 B5D0FFFF          call 00B7CCB4
00B7FBFF     83C4 2C              add esp,2C
00B7FC02     5D                   pop ebp
00B7FC03     5F                   pop edi
00B7FC04     5E                   pop esi
00B7FC05     5B                   pop ebx
00B7FC06     C3                   retn
然后就返回到OEP
00DA0268     55                   push ebp
00DA0269     E9 EA040000          jmp 00DA0758
00DA026E     BF 1A1A4800          mov edi,481A1A
00DA0273     F2:                  prefix repne:
00DA0274     EB 01                jmp short 00DA0277
请问下我操作有什么问题么
2006-3-3 15:43
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
dump 要在运行到oep 附近时进行, 那dump 后的 oep 也要选择 
dump 点附近合适的地址才行。
2006-3-3 16:51
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
恩,这个OEP是找对了么。问题是这个oep附近全都不在程序区段65760000-658be5000内阿,你不是说OEP都在程序区段内的么。
2006-3-3 16:57
0
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
顶上去 疑惑一样!
2006-3-4 21:27
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
最初由 takken4 发布
恩,这个OEP是找对了么。问题是这个oep附近全都不在程序区段65760000-658be5000内阿,你不是说OEP都在程序区段内的么。


我说是一般,但也不是绝对。
----------------------
这是载入程序时的入口。
65761000 Y>  68 01A0BB65          push YONO.65BBA001
65761005     E8 01000000          call YONO.6576100B
----------------------

你的这个程序的程序区段65760000是asprotect处理后的入口 EP,OEP 指的是处理前的。如果不确定,那就需要那精华贴和 试用asprotect来试验学习了。
2006-3-6 00:40
0
游客
登录 | 注册 方可回帖
返回
//