首页
社区
课程
招聘
fly 大哥能把你哪个脱这个壳的全过程序说一下吗?
发表于: 2005-4-9 18:54 8711

fly 大哥能把你哪个脱这个壳的全过程序说一下吗?

2005-4-9 18:54
8711
arm的,我以前有脱过这个壳,但实在太郁闷了,,,我下断点他就运行程序,,要不然就终止了....试了好多次

这种壳我也看了很多次,还是会出错,我按你的输入表做过了,也照样会出错..

可能我是出dumped的时候弄错方法了...

你能简单的说下思路吗?

相关贴子:http://bbs.pediy.com/showthread.php?s=&threadid=12750

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (27)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
004F1214  push dumped_.00522D04                 ; ASCII "___CPPdebugHook"
004F1219  push 0
004F121B  call <jmp.&kernel32.GetModuleHandleA>
004F1220  push eax
004F1221  call <jmp.&kernel32.GetProcAddress>
004F1226  mov dword ptr ds:[5319A8],eax
004F122B  cmp dword ptr ds:[5319A8],0
004F1232  jnz short dumped_.004F123E
004F1234  mov dword ptr ds:[5319A8],offset dump>
004F123E  retn
2005-4-9 19:25
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
看雪论坛精华6
2005-4-9 19:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
1到6我全看了....还是有点不明白啊,,,我脱好后就无法运行
还非法
用OD根本没办法运行

还有,我按
Arm 3.x CopyMem-ll +Debug-Blocker 的脱壳
这种办法脱

下BP WaitForDebugEvent这个断成功
在下Bp WriteProcessMemory这个就运行程序

要不然就运行在这个WaitForDebugEvent断点....(我已经F2取消了,可不知道是怎么回事)

首先要dump出程序

用OD载入后设断:BP WaitForDebugEvent
运行中断在后,此时堆栈窗口中:

0012DAEC   005658E6  /CALL 到 WaitForDebugEvent
0012DAF0   0012EB9C  |pDebugEvent = 0012EB9C             右键转随跟随
0012DAF4   000003E8  \Timeout = 1000. ms

0012EB9C  C4 EB CA 00 04 EC 12 00  碾.?.
0012EBA4  1C 00 00 00 B8 FE 12 00  ...羹.
0012EBAC  9C 00 00 00 00 F0 FD 7F  ?...瘕
0012EBB4  00 00 00 00 00 ED 12 00  .....?.
0012EBBC  4F DE E5 77 F8 EC 12 00  O掊w?.

取消WaitForDebugEvent断点,再 Bp WriteProcessMemory, shift+F9运行中断后转存窗口中:bp debugactiveproces
0012EB9C  01 00 00 00 8C 06 00 00  ...?..
0012EBA4  DC 02 00 00 01 00 00 80  ?....?
0012EBAC  00 00 00 00 00 00 00 00  ........
0012EBB4  CA 14 40 00 02 00 00 00  ?@....
0012EBBC  00 00 00 00 94 14 40 00  ....?@.
2005-4-9 19:46
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
Armadillo有几种加壳选项
自己看说明去
2005-4-9 19:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
晕,你写下思路不行吗?
2005-4-9 20:47
0
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
7
在那张锁掉的帖子里,fly已经给你答案了
2005-4-9 20:57
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
标准壳
精华6里面有教程
2005-4-9 20:58
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
标准壳
有脚本可以彻底脱的。
2005-4-9 21:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
用哪个脚本.....
2005-4-10 09:22
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
/*
-------------------------------------------------------------------
MEPHiST0s - ARMADiLLO DETECTiVE v1.00 for olly script
-------------------------------------------------------------------
tested on Olly Debug v1.1.0, and Olly Script v0.92 on WinXP
-------------------------------------------------------------------
- DETECTS Original Entry Point of most ARMADILLO v3.xx
- DETECTS and REPAIRS Code Splicing.
- DETECTS and REPAIRS Magic IAT jump.
- DETECTS Import Elimination...
- DETECTS Most Armadillo Version infos.
- Allows 1 execution for full working dump file in most cases.
___________________________________________________________________
[DEBUGGING OPTIONS]:
REMOVE ALL Hardware Breakpoints on the Target
Select ALL items in Debugging Options-Exceptions:
ALSO: aDD C000001D(ILLEGAL ISTRUCTION) aND C0000005(ACCESS ViO)
aND C000001E(INVALID LOCK SEQUENCE) in custom exceptions
___________________________________________________________________
*/
var adata
var rdata
var Armadillo_Version
var called
var codesplice
var crcfix
var dbcheck
var debugblock
var Magic_Jump_Location
var impelim
var impelimmem
var impelimmem0
var mem
var mem0
var mem1
var mem2
var Original_Entry_Point
var strcheck
var time
var temp
var VirtualAlloc

gmi eip,MODULEBASE
find $RESULT,#2E6164617461#
mov adata,$RESULT
add adata,0c
mov adata,[adata]
gmi eip,MODULEBASE
add adata,$RESULT
log adata
gmi eip,MODULEBASE
find $RESULT,#2E7264617461#
mov rdata,$RESULT
add rdata,0c
mov rdata,[rdata]
gmi eip,MODULEBASE
add rdata,$RESULT
log rdata
dbh
gpa "OpenMutexA", "kernel32.dll"
mov mem,$RESULT
bp mem
esto
esto
rtr
sti
bc mem
gpa "time", "MSVCRT.dll"
mov time,$RESULT
bp time
mov dbcheck,[eip]
and dbcheck,0000FFFF
cmp dbcheck,0000C085 //checking for debug blocker
je db
jmp csbreak

db:
msg "This File is protected with Armadillo's Debug Blocker Feature or CopyMEM2."
mov debugblock,1
mov eax,1
jmp csbreak

csbreak:
gpa "strchr", "MSVCRT.dll"
mov mem0,$RESULT
bp mem0
esto
cmp mem0,eip
jne lblerror
cmp time,eip // checking for code splicing
je cs
esto
cmp time,eip
je cs
cmp mem0,eip
je iatj
esto
cmp mem0,eip
jne lblerror
jmp iatj

cs:
rtr
sti
find eip,#6A406800100000#
find $RESULT,#8985????????83BD????????0074??#
bp $RESULT
esto
bc $RESULT
cmp $RESULT,eip
jne iatj
mov codesplice,1
msg "This File is protected with Armadillo's Code Splicing Feature."
mov eax,adata
jmp iat1

iat1:
bp mem0
esto
cmp mem0,eip
jne lblerror
bc mem0
rtr
sti
jmp iatmain

iatj:
cmp time,eip
je cs
rtr
sti
mov strcheck,[eip]
and strcheck,00FFFFFF
cmp strcheck,00405959
je iatmain
jmp iatm

iatm:
esto
jmp iatj

iatmain:
bc mem0
mov mem2,eip
find mem2,#FF15????????595985C07511#
mov Magic_Jump_Location,$RESULT
find Magic_Jump_Location,#7511#
mov Magic_Jump_Location,$RESULT
repl Magic_Jump_Location, #7511#, #EB13#, 4
find Magic_Jump_Location,#0F8598000000#
mov temp,$RESULT
repl temp, #0F8598000000#, #90E998000000#, 14
find temp,#83BD????????0074??8B85??#
mov crcfix,$RESULT
bp crcfix
esto
bc crcfix
repl Magic_Jump_Location, #EB13#, #7511#, 4
repl temp, #90E998000000#, #0F8598000000#, 14
find eip,#FFD78BD85F8BC35E5BC3# //find call edi
mov called,$RESULT
gpa "VirtualProtect", "kernel32.dll"
mov impelimmem,$RESULT
bp impelimmem
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
bc impelimmem
cmp impelimmem0,eip
je elimination
cmp debugblock,1
je elimloop
jmp na

elimloop:
gpa "VirtualProtect", "kernel32.dll"
mov impelimmem,$RESULT
bp impelimmem
bp called
bc time
esto
cmp called,eip
je finish
esto
rtr
sti
find eip,#A1????????8A80????????8885# //elimination signature
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
cmp called,eip
je finish
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
cmp called,eip
je finish
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
cmp called,eip
je finish
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
cmp called,eip
je finish
esto
rtr
sti
find eip,#A1????????8A80????????8885#
mov impelimmem0,$RESULT
cmp impelimmem0,eip
je elimination
bc impelimmem
jmp na

elimination:
msg "This File might be Protected with Armadillo's Import Elimination Feature"
bc impelimmem
mov impelim,1
jmp na

na:
find eip,#FFD78BD85F8BC35E5BC3#
mov called,$RESULT
bp called
cmp called,eip
je finish
esto
cmp called,eip
je finish
esto
cmp called,eip
je finish
esto
cmp called,eip
je finish
esto
cmp called,eip
je finish
jne lblerror

finish:
bc impelimmem
bc called
find called,#61726D56657273696F6E3E??????????????????????????????????????#
find called,#332E??????????????#
mov Armadillo_Version,$RESULT
sti
mov mem,[eip]
and mem,0000FFFF
cmp mem,0000D7FF
je finish
jmp tagx

tagx:
log " "
log " M E P H i S T 0"
log " "
log " ARMADiLLO DETECTiVE v1.00 - FOR olly SCRiPT"
log " "
cmp debugblock,1
je log_db
cmp codesplice,1
je log_cs
cmp impelim,1
je log_impelim
jmp tag1

tag1:
mov Original_Entry_Point,eip
cmt Original_Entry_Point," = Original Entry Point"
log " "
log Original_Entry_Point
jmp tagmain

tagmain:
log " "
log Magic_Jump_Location
log " "
log Armadillo_Version
log " "
log "File is Ready for dumping - Magic Jump Patched - IAT is ready for Rebuilding"
bc mem0
bc mem1
bc mem2
bc time
jmp lblw00t

log_cs:
log " "
log " -= ARMADiLLO Code Splicing has BEEN DETECTED - AND REPAIRED =- "
log " "
cmp impelim,1
je log_impelim
jmp tag1

log_impelim:
log " "
log " -= ARMADiLLO Import Elimination has BEEN DETECTED =- "
log " "
jmp tag1

log_db:
log " "
log " -= ARMADiLLO Debug Blocker has BEEN DETECTED - AND REPAIRED =- "
log " "
cmp codesplice,1
je log_cs
cmp impelim,1
je log_impelim
jmp tag1

lblw00t:
msg "Found the OEP - You can now DUMP the target file - IAT Magic JUMP is Patched: IAT is READY for REBUILDING: Please Check the LOG Window"
ret

lblerror:
msg "Errors Have Occured, Please Check LOG. the File might be protected with Copymem2, or hardware breakpoints may exsist"
ret

//
2005-4-10 09:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
.............不会用..
郁闷

Arm 3.x CopyMem-ll +Debug-Blocker 的脱壳
我以前按这个方法都能脱的出来,现在下断第二个就运行程序,就算脱出来也会无法运行...

可能我出dump程序的时候弄错了,可是又不会修正...技术太差...
2005-4-10 09:56
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
是双进程的壳就看这篇文章
Armadillo COPYMEMEII之DUMP的一个LOADPE小插件
脱文修订加录像版Arm 3.x CopyMem-ll +Debug
结合起来看。看不懂就没办法了
2005-4-10 10:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
谢谢啊,我看下....
脱文修订加录像版Arm 3.x CopyMem-ll +Debug
这个我会了

Armadillo COPYMEMEII之DUMP的一个LOADPE小插件
这个是插件???
在哪下载?
2005-4-10 10:22
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
15
最初由 鸡蛋壳 发布
是双进程的壳就看这篇文章
Armadillo COPYMEMEII之DUMP的一个LOADPE小插件
脱文修订加录像版Arm 3.x CopyMem-ll +Debug
结合起来看。看不懂就没办法了


鸡蛋壳不要误导别人,双进程标准壳看什么CopyMem-ll?!
2005-4-10 10:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
运行脚本后出现错误

无法读取调试进程内存.位于77c16b79处的断点已删除

接着就运行程序
2005-4-10 10:52
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
猪猪问的一定是魔力 又更新了?
2005-4-10 16:20
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
晕,什么啊,和上回的强度没什么差别。穿山甲用成这样,真是PFPF,有起哄的嫌疑。
2005-4-10 16:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这次不只是为了游戏,纯属想学习
2005-4-10 18:34
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
脱FZ的H版对于学习脱壳的意义不大,3分钟就能搞定的,要练手找CC。不知道000666的老大原来是不是玩加密解密的,比起99系列他们的保护完全可以忽略,现在的外挂做的这样温柔真是奇怪。
2005-4-10 19:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
我也是从没玩过破解和加密的....后来兴致来了,就很想玩玩...朋友交的多了点,也就知道怎么脱ARM了,但具体的也有点不太明白,接着就更用心的去研究这个了,,,为了去研究这些,连玩游戏的时间都不给了...出去玩的时候就更别说了,天天呆电脑前,开着OD使尽的研究啊研究...头疼啊
想学更多点

对了,你是哪位?

破不破000666的都无所谓...

目地还是想让他多改改程序,然后我专从他程序中下手去学习....

他加的网络验证,也是自己硬研究的...
2005-4-10 20:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
呼,我太笨了....经过朋友的指点
总算搞定了
2005-4-10 20:25
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
我同学好多都玩魔力,还有的是你们论坛的收费成员。我是只玩单机经典的,只是没事和他们聊聊。我也看过你原来破的108A,有一个函数识别错误了,这样会导致2000和98下无法运行。还有你把原来旧版的区段和资源通通绑定,还包括穿山甲的垃圾区段,个人感觉没有必要。弄个正版,抓包分析,找到加密点,然后直接回填,没必要弄的那么大。
2005-4-10 20:27
0
雪    币: 215
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
最初由 q3 watcher 发布
弄个正版,抓包分析,找到加密点,然后直接回填,没必要弄的那么大。


怎么做?
就是分析出返回的包?直接修改成正确的包?
2005-4-10 20:34
0
雪    币: 215
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
最初由 q3 watcher 发布
还有你把原来旧版的区段和资源通通绑定,还包括穿山甲的垃圾区段,个人感觉没有必要。


指的是在ImportREC的过程,应该写好rva和size么?
2005-4-10 20:43
0
游客
登录 | 注册 方可回帖
返回
//