首页
社区
课程
招聘
[求助]Armadillo 搞不定,反调试
发表于: 2005-4-6 11:49 4766

[求助]Armadillo 搞不定,反调试

2005-4-6 11:49
4766
http://www.sunisoft.cn/diaryone/diaryone_setup_cn.exe

用peid查是Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks [Overlay]
实际上使用了%s%s..的OutputDebugString漏洞,应该是Armadillo4.x的.
双进程的.OpenMutexA方法可跳过双进程,但用ollydbg跟踪跟踪,没到Magic Jump就退出了
郁闷,搞不定啊.
请高人指教.

ps:只针对脱壳技术请教,非要求破解.

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 312
活跃值: (760)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
要到Magic Jump按F9时要注意堆栈中的变化内容,只有找准了目标才能到达光明的地方。
2005-4-6 20:39
0
雪    币: 383
活跃值: (786)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
3
如果只是到MagicJmp, 试试我这个脚本(注:不对付Anti),其它的自己来

/*
可能是 arm4.xx 版以后双转单进程修 MagicJmp(简单方案那个MagicJmp)脚本
OS: OllyScript0.92,Ollydbg110_DIY版,忽略所有异常
*/

dbh
var MutexName
var count
var check
var breakpoint
var codebase
var csize
mov count,0
gmi eip, CODEBASE
cmp $RESULT, 0
je err
mov codebase, $RESULT
gmi codebase, CODESIZE
cmp $RESULT, 0
je err
mov csize, $RESULT

gpa "OpenMutexA", "kernel32.dll"
bp $RESULT

lab1:
esto
cmp eip, $RESULT
jne lab1
mov MutexName, esp
add MutexName, 0C
mov MutexName,[MutexName]

begin:
  exec
    PUSHAD
    PUSH {MutexName}
    PUSH 0
    PUSH 0
    CALL kernel32.CreateMutexA
    POPAD
    JMP kernel32.OpenMutexA
  ende
bc $RESULT
//Clear bp OpenMutexA//

loop2:
gpa "OutputDebugStringA", "kernel32.dll"
bphws $RESULT, "x"
mov breakpoint, $RESULT
eob doc
esto

doc:
cmp eip, breakpoint
jne err
inc count
cmp count,2 // I just passed 2 times in one app
jne loop2

cob
gpa "GetModuleHandleA", "kernel32.dll"
bphws $RESULT, "x"
mov count,0
eob lab3

lab2:
run

lab3:
cob
cmp $RESULT,eip
jne err
rtu
mov check,eip
add check, 6

lab4:
log check
inc count
log count
cmp [check], A10E0489 //  mov dword ptr ds:[esi+ecx],eax -> mov eax
jne lab2
add check, 8
cmp [check], 75061C39 //  cmp dword ptr ds:[esi+eax],ebx -> jnz
jne lab2
add check, 18
cmp [check], A10E0489 //  mov dword ptr ds:[esi+ecx],eax -> mov eax
jne lab2
add check, 8
cmp [check], 0F061C39 //  cmp dword ptr ds:[esi+eax],ebx -> je
jne lab2

bphwc $RESULT // clear  bp GetModuleHandleA

add check, 3
bphws check, "x" // bp Magic Jmp
cob
eob lab5
run

lab5:
cmp eip,check
jne lab6
mov !ZF,1 //Modify flag When broken in Magic Jmp  
run

lab6:
cob
bphwc check // clear bp Magic Jmp
cmp eip, breakpoint // OutputDebugStringA
jne err
bphwc breakpoint // clear //此处下面可退出脚本
gpa "GetCurrentThreadId","kernel32.dll"
bp  $RESULT
run
cmp eip, $RESULT
jne err
bc $RESULT
rtu

bprm codebase, csize
run
bpmc
ret

err:
msg "Occurrence exception! and Terminal!"
ret
2005-4-6 21:19
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
DiaryOne不是标准壳
Armadillo V4.X CopyMem-II + IAT乱序 + 远地址
2005-4-6 21:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
新手请教,“IAT乱序” “ 远地址”是什么?是Armadillo里面的功能吗?
2005-4-8 03:18
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
Armadillo的保护效果
下载Armadillo看看其加壳选项
2005-4-8 09:11
0
雪    币: 255
活跃值: (207)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
7
哪位仁兄写个DiaryOne脱壳教程,谢谢!
2005-4-8 10:22
0
游客
登录 | 注册 方可回帖
返回
//