首页
论坛
专栏
课程

一个小花招

2006-4-6 20:42 12609

一个小花招

2006-4-6 20:42
12609
简单却有用,themida的小花招

[公告][征集寄语] 看雪20周年年会 | 感恩有你,一路同行

上传的附件:
最新回复 (39)
csjwaman 24 2006-4-6 20:47
2
0
不敢玩:)
jskew 1 2006-4-6 20:51
3
0
呵呵
softworm 30 2006-4-6 20:54
4
0
最初由 csjwaman 发布
不敢玩:)


安全的。
q3 watcher 2006-4-6 21:00
5
0
这一招驱动版里就有了,不怕断点,但对野猪力量无效.
kanxue 8 2006-4-6 21:05
6
0
谢谢softworm费心,一个非常有意思的技巧,以前只是听说,没实际跟过.看来以后采用这技巧的程序会多起来了.
jskew 1 2006-4-6 21:22
7
0
不看代码都不知道怎么下断点

如果配合花指令,那就更难发现了
堀北真希 1 2006-4-6 22:01
8
0
最初由 q3 watcher 发布
这一招驱动版里就有了,不怕断点,但对野猪力量无效.


完全有效, 中招了
jskew 1 2006-4-6 22:04
9
0
最初由 堀北真希 发布
完全有效, 中招了


千年难得那么一回,美女也中招了
大师兄 2006-4-6 22:31
10
0
学习。。。明天仔细研究
pendan2001 4 2006-4-7 01:16
11
0
我也不敢玩
zlmsdn 2006-4-7 01:20
12
0
没有什么技术,实在不敢恭维。。。下下来看看吧
linex 7 2006-4-7 09:01
13
0
将API的代码复制到新申请到的内存空间去执行,再下断点当然无效啦.
00A2CCDE    8BFF            mov     edi, edi
00A2CCE0    55              push    ebp
00A2CCE1    8BEC            mov     ebp, esp
00A2CCE3    833D 1821E777 0>cmp     dword ptr [77E72118], 0
00A2CCEA    74 24           je      short 00A2CD10
00A2CCEC    64:A1 18000000  mov     eax, fs:[18]
00A2CCF2    6A 00           push    0
00A2CCF4    FF70 24         push    dword ptr [eax+24]
00A2CCF7    68 442FE777     push    77E72F44
00A2CCFC    FF15 D012E177   call    [<&KERNEL32.InterlockedCompareEx>; kernel32.InterlockedCompareExchange
00A2CD02    85C0            test    eax, eax
00A2CD04    75 0A           jnz     short 00A2CD10
00A2CD06    C705 402FE777 0>mov     dword ptr [77E72F40], 1
00A2CD10    6A 00           push    0
00A2CD12    FF75 14         push    dword ptr [ebp+14]
00A2CD15    FF75 10         push    dword ptr [ebp+10]
00A2CD18    FF75 0C         push    dword ptr [ebp+C]
00A2CD1B    FF75 08         push    dword ptr [ebp+8]
00A2CD1E    E8 4D040000     call    00A2D170
00A2CD23    5D              pop     ebp
00A2CD24    C2 1000         retn    10

foretell 2006-4-7 09:55
14
0
不懂 没干看
鸡蛋壳 2006-4-7 10:02
15
0
00974587    FF35 90D3E477   push dword ptr ds:[77E4D390]             ; user32.77DF0000

user32.77DF0000

->
00401122  |.  68 3C504000   push MessageB.0040503C                   ;  ASCII "MessageBoxA"
00401127  |.  68 30504000   push MessageB.00405030
0040112C  |.  6A 00         push 0
0040112E  |.  FFD0          call eax
00401130  |.  68 00800000   push 8000                                ; /FreeType = MEM_RELEASE
00401135  |.  6A 00         push 0                                   ; |Size = 0
00401137  |.  57            push edi                                 ; |Address
00401138  |.  FF15 04404000 call dword ptr ds:[<&KERNEL32.VirtualFre>; \VirtualFree

ASCII "MessageBoxA"

那就断这个试试:
KERNEL32.VirtualFree

loveboom 53 2006-4-7 11:01
16
0

themida大有杀鸡取卵之嫌.
softbihu 3 2006-4-7 12:02
17
0
恩,先取MessageBoxA的代码,然后放到其他内存地址然后去CALL

恩,我的方法是
1,找到他申请空间的地方然后执行访问中断
2,是将MessageBoxA代码复制部分,然后再他执行到窗口出来的时候,进行下代码查找,就可以知道他的代码复制到哪个地方,然后下硬件执行,关闭再装载就可以断下来了
q3 watcher 2006-4-7 15:55
18
0
Themida.exe  | 00A9D0F4 | LoadLibraryA(00A9C346: "USER32.dll") returns: 77D10000
Themida.exe  | 00A9D0FE | LoadLibraryA(00A9C351: "ADVAPI32.dll") returns: 77DA0000
Themida.exe  | 00A9D112 | LoadLibraryA(00A9C35E: "NTDLL.dll") returns: 7C920000

Themida.exe  | 00AB78B6 | GetSystemDirectoryA(009BE557, 00000104) returns: 00000013
Themida.exe  | 00AB78F2 | CreateFileA(009BE557: "D:\WINDOWS\system32\KERNEL32.dll", 80000000, 00000001, 00000000, 00000003, 00000004, 00000000) returns: 00000044
Themida.exe  | 00AB78FC | GetFileSize(00000044, 00000000) returns: 00117600
Themida.exe  | 00AB7906 | VirtualAlloc(00000000, 00117600, 00001000, 00000040) returns: 014B0000
Themida.exe  | 00AB7910 | ReadFile(00000044, 014B0000, 00117600, 009BEBBB, 00000000) returns: 00000001
Themida.exe  | 00AB78F2 | CreateFileA(009BE557: "D:\WINDOWS\system32\USER32.dll", 80000000, 00000001, 00000000, 00000003, 00000004, 00000000) returns: 00000048
Themida.exe  | 00AB78FC | GetFileSize(00000048, 00000000) returns: 0008C000
Themida.exe  | 00AB7906 | VirtualAlloc(00000000, 0008C000, 00001000, 00000040) returns: 001A0000
Themida.exe  | 00AB7910 | ReadFile(00000048, 001A0000, 0008C000, 009BEBBB, 00000000) returns: 00000001
Themida.exe  | 00AB78F2 | CreateFileA(009BE557: "D:\WINDOWS\system32\ADVAPI32.dll", 80000000, 00000001, 00000000, 00000003, 00000004, 00000000) returns: 0000004C
Themida.exe  | 00AB78FC | GetFileSize(0000004C, 00000000) returns: 000A4A00
Themida.exe  | 00AB7906 | VirtualAlloc(00000000, 000A4A00, 00001000, 00000040) returns: 015D0000
Themida.exe  | 00AB7910 | ReadFile(0000004C, 015D0000, 000A4A00, 009BEBBB, 00000000) returns: 00000001
Themida.exe  | 00AB78D4 | CloseHandle(0000004C) returns: 00000001
Themida.exe  | 00AB78DE | CloseHandle(00000048) returns: 00000001
Themida.exe  | 00AB78E8 | CloseHandle(00000044) returns: 00000001
动作太过明显,申请的位置可以改的,所以......
Lenus 3 2006-4-7 16:56
19
0
请问一下...q3兄用的是什么工具得到上面的数据?

感觉这样GetFileSize不是很保险...访问数据段,重定位等等都存在问题吧!
cxts 2006-4-7 20:03
20
0
不懂
q3 watcher 2006-4-7 20:16
21
0
最初由 Lenus 发布
请问一下...q3兄用的是什么工具得到上面的数据?

感觉这样GetFileSize不是很保险...访问数据段,重定位等等都存在问题吧!

http://wasm.ru/baixado.php?mode=tool&id=313
补丁 2006-4-7 22:14
22
0
想下载一下看看是什么东西
ah007 2 2006-4-7 22:48
23
0
楼主费心了!支持!
落海听潮 2006-4-7 23:27
24
0
下来看看先~~~顶个!
myd 2006-4-8 12:26
25
0
是汇编写的吗?
fhwclq 2006-4-8 13:33
26
0
看马也知道是VC写的吗
Lenus 3 2006-4-8 14:38
27
0
最初由 q3 watcher 发布
http://wasm.ru/baixado.php?mode=tool&id=313

cool...
forgot 26 2006-4-8 20:14
28
0
问题:

这么说user32应该不会被重定位吧?

菜鸟教学:

1.根据dll大小分配内存,把dll读入
2.获得api的地址,根据dll块表找到physoffset
3.调用 空间地址+physoffset
4.释放内存
jskew 1 2006-4-8 20:22
29
0
嘿嘿,脱壳机
softworm 30 2006-4-8 20:40
30
0
forgot终于浮出来了

themida在查找函数地址的时候用的是gzgzlxg文章介绍的
方式。我用GetProcAddress只是图省事。

我想这个玩艺能工作是用了绑定输入
forgot 26 2006-4-9 09:17
31
0
最初由 Lenus 发布
请问一下...q3兄用的是什么工具得到上面的数据?

感觉这样GetFileSize不是很保险...访问数据段,重定位等等都存在问题吧!


数据段指向真正的user32.dll,
如果有绝对地址都会访问真的dll
相对地址比如jmp/call因为都是固定偏移,也不存在重定位的问题。

======================
to softworm

这招真的不错啊,用来做krnl/usr/gdi/adv等系统dll的IAT加密还能防断点。

windows肯定都有bound imports

甚至可以在写myGetProcAddr的时候判断一下timestamp,把bound的都用这种方式,只是浪费一点点内存:)
joyside 2006-4-9 11:22
32
0
下来看看。~~~~~~~~~~~~~~
exicyu 2006-4-10 10:40
33
0
看见想看的东西了不能潜水了
netsowell 11 2006-4-10 15:07
34
0
研究研究。
wzysjob 2006-4-11 08:25
35
0
KERNEL32.VirtualFree
是什么函数,申请空间吗?
9521 2006-4-11 09:32
36
0
强帖,这个可以用在反hook上的吧
云重 1 2006-4-11 12:53
37
0
强帖,这个可以用在反hook上的吧
也就?付你自己呃?的人反HOOK 好用吧 ,?付其他人未必好用阿
9521 2006-4-11 14:22
38
0
感觉有人身攻击嫌疑,什么叫就只能对付我这样的人.
戒烟未遂 2006-4-11 17:35
39
0
学习中,呵呵
doa007 1 2006-4-11 20:44
40
0
走的时候 切断了别人与你的一切联系方法 后来“青蛙王子”还问我知不知你上那里去了 ,我一看QQ里都找不到你了
游客
登录 | 注册 方可回帖
返回