能力值:
(RANK:10 )
|
-
-
2 楼
这里不是OEP 你脱壳干嘛?
|
能力值:
(RANK:350 )
|
-
-
3 楼
先用Armadillo find protected 1.3扫一下用了哪些保护类型。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
Armadillo find protected 1.3信息:
★ 目标为Armadillo保护
Version 4.40 (Public Build)
保护系统级别为 (专业版)
◆所用到的保护模式有◆
标准保护 或 最小保护模式
【备份密钥设置】
固定的备份密钥
【程序压缩设置】
较好/较慢地压缩方式
【其它保护设置】
不是OEP?蒙了,郁闷啊,我找OEP都找的头大了,请各位老大指点小弟!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这个用脚本就能找到OEP
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
用FI查壳是4.0的!
感谢大家的帮助,看了很多教程,还是不懂,找不到OEP
程序走到这里,已经茫然了!
这里因该是OPE所在的区域,不知道该从那里进去!
100018FD /75 09 jnz short 10001908
100018FF |E8 621A0000 call 10003366 垃圾代码删除
|
能力值:
(RANK:350 )
|
-
-
7 楼
找一个临时空间放上原程序,这样容易解决问题。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢斑竹!我主要是想知道方法,现在在学习中,希望有能力的人帮我看看,把方法帖出来,让我知道自己错在那里!
自己学习也看了很多教程,还是不得要领啊,需要高手们的指点!谢谢大家!
附件这里
|
能力值:
(RANK:350 )
|
-
-
9 楼
忽略所有异常
用GetModuleHandleA 下断
0B515CFB FF15 BC62530B call [B5362BC] ; kernel32.LoadLibraryA
0B515D01 8B0D AC40540B mov ecx, [B5440AC]
0B515D07 89040E mov [esi+ecx], eax
0B515D0A A1 AC40540B mov eax, [B5440AC]
0B515D0F 391C06 cmp [esi+eax], ebx
0B515D12 0F84 2F010000 je 0B515E47 //magic JMP
0B515D18 33C9 xor ecx, ecx
Alt+M对.text1下断,会中断如下,单步走过去,再Alt+M对.text1下断
0B52F68F 8B12 mov edx, [edx]
0B52F691 8955 DC mov [ebp-24], edx
0B52F694 834D FC FF or dword ptr [ebp-4], FFFFFFFF
0B52F698 EB 11 jmp short 0B52F6AB
0B52F69A 6A 01 push 1
0B52F69C 58 pop eax
0B52F69D C3 retn
OEP:
0052C935 55 push ebp
0052C936 8BEC mov ebp, esp
0052C938 6A FF push -1
0052C93A 68 48BA6100 push 0061BA48
0052C93F 68 A4A35200 push 0052A3A4
0052C944 64:A1 00000000 mov eax, fs:[0]
0052C94A 50 push eax
0052C94B 64:8925 0000000>mov fs:[0], esp
0052C952 83EC 58 sub esp, 58
0052C955 53 push ebx
0052C956 56 push esi
0052C957 57 push edi
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
多谢斑竹,我用he GetModuleHandleA+5下段,怎么走的不一样?
0B315CE1 8B0D AC40340B mov ecx,dword ptr ds:[B3440AC]
0B315CE7 89040E mov dword ptr ds:[esi+ecx],eax
0B315CEA A1 AC40340B mov eax,dword ptr ds:[B3440AC]
0B315CEF 391C06 cmp dword ptr ds:[esi+eax],ebx
0B315CF2 75 16 jnz short 0B315D0A
0B315CF4 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
0B315CFA 50 push eax
0B315CFB FF15 BC62330B call dword ptr ds:[B3362BC] ; kernel32.LoadLibraryA
0B315D01 8B0D AC40340B mov ecx,dword ptr ds:[B3440AC]
0B315D07 89040E mov dword ptr ds:[esi+ecx],eax
0B315D0A A1 AC40340B mov eax,dword ptr ds:[B3440AC]
0B315D0F 391C06 cmp dword ptr ds:[esi+eax],ebx
0B315D12 0F84 2F010000 je 0B315E47----------JMP.Magic?
0B315D18 33C9 xor ecx,ecx
0B315D1A 8B07 mov eax,dword ptr ds:[edi]
0B315D1C 3918 cmp dword ptr ds:[eax],ebx
0B315D1E 74 06 je short 0B315D26
斑竹走到的是0B515E47 。我 0B315E47 怎么到这里了?
|
能力值:
(RANK:350 )
|
-
-
11 楼
最初由 korron 发布 多谢斑竹,我用he GetModuleHandleA+5下段,怎么走的不一样?
0B315CE1 8B0D AC40340B mov ecx,dword ptr ds:[B3440AC] 0B315CE7 89040E mov dword ptr ds:[esi+ecx],eax 0B315CEA A1 AC40340B mov eax,dword ptr ds:[B3440AC] ........
Armadillo会申请内存,将执行代码复制过去执行,因此在不同系统,同一段代码前的地址不同是正常的。你不要看地址,看右边的汇编。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
前面都对了,就是我打开内存的时候,程序就跑飞了,百思不解啊,斑竹能否说的详细些啊,我们这些菜鸟也许太菜了!
ALT+M在00401000处F2
SHIFT+F9
0B321A78 42 INC EDX
0B321A79 5E POP ESI
0B321A7A 60 PUSHAD
0B321A7B 54 PUSH ESP
0B321A7C ^ 7F 9B JG SHORT 0B321A19
0B321A7E 33243E XOR ESP,DWORD PTR DS:[ESI+EDI]--程序返回到这一行了!
0B321A81 E0 05 LOOPDNE SHORT 0B321A88
0B321A83 D979 19 FSTCW WORD PTR DS:[ECX+19]
0B321A86 8360 C7 4C AND DWORD PTR DS:[EAX-39],4C
0B321A8A E2 56 LOOPD SHORT 0B321AE2
0B321A8C 382B CMP BYTE PTR DS:[EBX],CH
0B321A8E F6 ??? ; 未知命令
0B321A8F CA 6B03 RETF 36B ; 远返回
|
能力值:
(RANK:10 )
|
-
-
13 楼
别用ALT+M在00401000处F2
如果要用的话 在处理Magic Jump的时候用点小技巧 或者把OD隐藏好即可
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
楼上的要说就说的清楚点,这不和没说一样吗,什么技巧,我知道技巧的话,还问什么?我知道你知道,但是我不知道,所以我要问,你说了,还不如说的清楚点,否则跟没说一样!
我就是想学点东西,有些东西自己琢磨是没有出口的!
|
能力值:
(RANK:10 )
|
-
-
15 楼
你在这里请教别人问题 还这么凶?
再说了论坛上关于Armadillo的教程一堆
搜索不会啊?还特地开一个帖子
我已经告诉你了另外一个方法
把OD隐藏撒
真是狗咬。。。。
|
|
|