能力值:
( LV2,RANK:10 )
|
-
-
2 楼
大神,这是啥龟壳?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
查过吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
(⊙o⊙)哦
|
能力值:
( LV5,RANK:78 )
|
-
-
6 楼
bp kernel32.VirtualAlloc 101A4115 nop //IAT encode 101A41D0 jmp oep F7 Dump Fix Iat 因为是DLL所以需要修复重定位.ReloX这个东西可以修复 网上教程很多..我就不发了..
挺简单的一个壳..
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
楼上的厉害
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
膜拜我竹子师傅!
|
能力值:
( LV12,RANK:238 )
|
-
-
9 楼
bambooqj
bp kernel32.VirtualAlloc101A4115 nop //IAT encode101A41D0 ...
载入后会检测到OD。如何破,需要重新配置SOD?
|
能力值:
( LV5,RANK:78 )
|
-
-
10 楼
VirtualAlloc 推荐你直接断这个.然后重载..别跑起来就好;他tls有处理东西.所以 你需要单独去调试下tls.并不是换个OD就好的事情.断下后按照我的那个操作调试即可.
|
能力值:
( LV12,RANK:238 )
|
-
-
11 楼
好的,谢谢。TLS回调函数是在线程执行前调用。该动态库(加壳)不包含TLS段,在壳解密代码后开启新线程前调用TLS? 测试了一下,3次VirtualAlloc断点后,程序被检测到OD存在。无法执行到第二步(101A4115 nop //IAT encode)的操作。 另外,查资料说SOD中包含了TLS的相关处理,仍然被检测出是检测方法升级,还是存在新的检测手段?
|
能力值:
( LV12,RANK:238 )
|
-
-
12 楼
找了下。再第二次VirtualAlloc断点返回后(地址:101A7CD1开始),开始检测是否存在调试器。 101A7D16 E8 28050000 call ajin.101A8243 // 解码检测函数。 // ebp+4b31 的内存段存储检测函数
// 以下为调用CheckRemoteDebuggerPresent检查是否被调试。【ebp+4b67】存储是否调试标识。我OD就是在这个地方被检测到。(这些函数应该被anti了啊,不知道是不是SOD没配置好?)
101A7DA0 FF95 354B0000 call dword ptr ss:[ebp+4B35] ; KERNEL32.CheckRemoteDebuggerPresent
101A8A70 76AEE3D0 jmp 到 KERNELBA.IsDebuggerPresent 101A8A74 76AF2B80 KERNEL32.CheckRemoteDebuggerPresent 101A8A78 76AEDA90 KERNEL32.GetVersionExA 101A8A7C 76AF98B0 jmp 到 KERNELBA.CreateFileA 101A8A80 76AE4820 KERNEL32.GetCurrentProcessId
101A7D31 8903 mov dword ptr ds:[ebx],eax ; KERNEL32.CheckRemoteDebuggerPresent
|
能力值:
( LV12,RANK:238 )
|
-
-
13 楼
另外程序入口为1A3F0F,bp CreateThread后,发现当输入法创建线程后,还会调用入口地址,不知道是不是就是TLS的回调函数引起。难道入口地址和TLS回调函数重叠?哪位大神科普下。
|
|
|