能力值:
( LV12,RANK:300 )
|
-
-
2 楼
你所指的“没多加任何模块”指的是可执行模块(exe,dll),还是映像文件区块(如.text、.data等)?
如果指的是可执行模块(exe,dll),那当然完全可以不增加。
感染型病毒一般在文件最末添加一个区块(或把最后一个区块增大),在区块中写入病毒代码。并修改程序入口点,指向新区块中的病毒代码。这样程序加载之后,就会首先运行病毒代码,最后才跳到原入口点运行。
看楼主指的在0x01300000后加了病毒的内容,似乎应该是这种情况。
当然,也有不增大文件大小,而直接利用已有区块中的空隙填充代码,化整为零的。同时,也不一定是修改入口点直接时入病毒代码,也可以修改原程序中的一个call,跳进病毒代码里,执行完病毒代码后再还原call语句,后跳回原位置继续运行,这样跳入病毒代码的call在不同的被感染文件中处于不同位置,甚至有时可能根本不会被程序调用到,给对病毒的查杀带来困难,这就是EPO技术。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我在论坛查epo,符合条件的很少啊!
加区和写入我能找到资料,可是如何定位自己程序入口点地址呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
程序执行时在内存的入口地址 可以找到
好像是基地址(ImageBase)+程序执行入口RVA(ddressOfEntryPoint) 吧!
不过静态文件偏移地址 俺就不知道了!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
哦,这样的话,那么我也可以做个类似的软件了啊!
如果我写个dll,在目标软件里加一个区,然后把dll都复制进去,这样的话,我用楼上的方法跳转到
基地址(ImageBase)+程序执行入口RVA(ddressOfEntryPoint)时,是不是就相当于loadlibrary这个dll了?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
实际试了一下,不行!!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谁有资料?
我很想做个玩玩。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
好复杂,
学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
新手 过来学习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
谁来帮帮?请求帮助
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
建议楼主把PE文件格式仔细研究一下
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
"哦,这样的话,那么我也可以做个类似的软件了啊!
如果我写个dll,在目标软件里加一个区,然后把dll都复制进去,这样的话,我用楼上的方法跳转到
基地址(ImageBase)+程序执行入口RVA(ddressOfEntryPoint)时,是不是就相当于loadlibrary这个dll了? "
错! 编译出来的DLL 或 EXE 已经是一个完整的整体了里面包含了程序运行所需要的很多资源
其中包括PE头还有代码段,数据段,堆栈段.....! 而被送入CPU执行的指令部分正常是放到代码
段中的 代码段中的代码不是说复制到其他程序任何段都可以使用的
比如说:程序运行时需要到到已初始化数据段中读取一个常量! 但是如果你把整个DLL都放到
了令一个程序中的区段里 然后当EIP指向上面的这么一条指令那他要到哪里去读取 这个常量呢?
...........( 我是菜菜鸟! 我是怎么理解了!)
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
哦,楼上说的好象很有道理啊!
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我是菜菜鸟 C编程我不大会!
所以我不擅长使用 loadlibrary 类似的函数名
只知道他在内存中被CALL的时候是一串16进制
但我想不管哪一类编程语言写出来的程序都必须
遵循操作系统提供的运行规则............(这----可能是扯淡了)
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
LoadLibrary参数是文件名,返回是的句柄啊。
|
能力值:
(RANK:260 )
|
-
-
16 楼
得到目标进程对象,OpenProcess;
向目标进程地址空间申请堆内存 VirtualAllocEx,
写进程内存空间,WriteProcessMemory
然后启动远程线程 CreateRemoteThread。h
手下没有MSDN,不知道API的名字写对没有,但应该大概就是这么个思路。问那些写过进行ShellCode溢出攻击的大牛们,他们知道。
执行感染动作的可以是另外的进程,不必加载到被感染进程的地址空间去。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
GetProcAddress可以返回DLL中函数的地址。
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
搞不懂。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
小菜发话::
16楼说的是 内存型病毒~ 额技术有点像内存补点,楼主的病毒应该是文件型病毒
(这两种感染型就是两种补丁技术的缩影)
感觉楼主的猜想挺好~可惜没有人试验 也没又结果上传~
|
|
|