文档库 最新最全的文档下载
当前位置:文档库 › Injective Code inside Import Table(输入表代码注入)

Injective Code inside Import Table(输入表代码注入)

Injective Code inside Import Table(输入表代码注入)
Injective Code inside Import Table(输入表代码注入)

Injective Code inside Import Table

输入表代码注入

作者:Ashkbiz Danehkar

译者:小楼听雨

站点:https://www.wendangku.net/doc/7413236587.html,

本译文保留原文内容,您也可以直接点击下面链接阅读原文。

原文地址: https://www.wendangku.net/doc/7413236587.html,/KB/system/inject2it.aspx

Contents

1.Into Import T able

2.Import Descriptor at a glance

3.API redirection technique

4.Protection again reversion

5.Runtime Import Table Injection

6.Trojan horse

7.Consequences

目录

1.输入表简介

2.初识输入表描述符

3.API重定位技术

4.反逆向保护

5.运行时输入表注入

6.特洛伊木马

7.总结

Let's imagine we could redirect the thoroughfare of the imported function's entrances into our especial routines by manipulating the import table thunks, it could be possible to filter the demands of the importations through our routines. Furthermore, we could settle our appropriate routine by this performance, which is done by the professional Portable Executable (PE) Protectors, additionally some sort of rootkits employ this approach to embed its malicious code inside the victim by a Trojan horse.

假如我们可以通过修改输入表thunks控制函数的入口点,将其重定位到我们指定的例程,通过我们的例程过滤对输入表的请求将成为可能。进一步说,我们可以使用这种性能去执行我们的例程。这种技术早已为专业的PE保护人员所用,而且某些rootkits使用它嵌入恶意代码到受感染程序中。

In the reverse engineering world, we describe it as "API redirection technique". Nevertheless I am not going to accompany all viewpoints in this area by source code, this article merely represents a brief aspect of this technique by a simple code. I will describe other issues in the absence of the source code; I could not release code which is related to commercial projects or intended for malicious motivation, however, I think this article could be used as an introduction to this topic.

在逆向工程领域,我们把它描述为“API重定向技术”。然而我将不会通过源代码这个领域的所有观点,本文也仅仅通过一份简单的代码简述了这种技术的某一方面,在描述其他方面时不提供源代码。我不能提供商业代码以及可能被恶意利用的代码,不过,本文可以用来入门。

1. Into Import Table

The portable executable file structure consists of the MS-DOS header, the NT headers, the Sections headers and the Section images, as you observe in Figure 1. The MS-DOS header is common in all Microsoft executable file formats from the DOS days until the Windows days. The NT headers idea was abstracted form the Executable and Linkable Format (ELF) of UNIX System, indeed the Portable Executable (PE) format is Sister to the Linux Executable and Linkable Format (ELF). The PE format headers consists of the "PE" Signature, the Common Object File Format (COFF) header, the Portable Executable Optimal header and the Section headers.

输入表简介

PE结构包含DOS头,PE头,区块表,区块,如图1所示。从DOS时代到windows时代,微软的可执行文件一直包含DOS头。PE头的概念其实来自UNIX系统的ELF(Executable and Linkable Format)文件格式。PE头包括PE signature、Common Object File Format (COFF) header、Portable Executable Optional header 、Section headers

Figure 1 - Portable Executable file format structure(PE结构)

The definition of the NT headers can be found in header file of Virtual

C++ included directory. This information can be retrieved very easy by

using ImageNtHeader() from DbgHelp.dll. You can also employ the DOS header

in order to fetch the NT headers, so the last position of the DOS header, e_lfanew , represents the offset of the NT headers.

PE 头的定义可以在Visual C++的include 目录下的winnt.h 头文件中找到。这些信息你可以使用DbgHelp.dll 中的ImageNtHeader()轻易获得,或者你也可以使用DOS 头中的e_lfanew 字段获取,因为它代表PE 头的偏移。

Collapse typedef struct _IMAGE_NT_HEADERS {

DWORD Signature;

IMAGE_FILE_HEADER FileHeader;

IMAGE_OPTIONAL_HEADER OptionalHeader;

} IMAGE_NT_HEADERS, *PIMAGE_NT_HEADERS;

In the Portable Executable Optional header, there are some data directories which delineate the relative location and the size of the principal information tables inside the virtual memory of the current process. These tables can hold the information of resource, import, export, relocation, debug, thread local storage, and COM runtime. It is impossible to find a PE executable file without the import table; this table contains the DLL names and the Functions names which are essential when the program tend to request them by their virtual addresses. The resource table is not found in the Console executable files; nevertheless it is vital part of the Windows executable files with Graphic User Interface (GUI). The export table is necessary when a dynamic link library inclines to export its function outside and also in OLE Active-X container. The .NET virtual machine could not be executed without being escorted by the COM+ runtime header. As you discerned, each table has especial commission in PE format, Figure 2.

在PE 可选头中有一些数据目录描述了进程内存空间中信息表的相对位置和大小。这些表包含了资源,输入表,输出表,重定位表,Debug ,TLS ,COM 。基本不可能找到没有输入表的PE 文件,输入表包含程序所要调用函数的函数名以及函数所在的DLL 名,控制台程序中没有资源表,不过对于windows GUI 可执行文件,它却至关重要。一个含有导出函数的dll 文件或者OLE Active-X 容器都包含输出表。Dot NET 虚拟机在没有COM+ runtime header 时不能被执行。正如你看到的,在PE 格式中每个表都有特定的任务。

Figure 2 - Data Directories (数据目录) 0 Export T able 1 Import T able

2 Resource Table

3 Exception Table

4 Certificate File

Data

Directories 5 Relocation Table

6 Debug Data

7 Architecture Data

8 Global Ptr

9 Thread Local Storage Table

10 Load Config Table

11 Bound Import Table

12 Import Address Table

13 Delay Import Descriptor

14 COM+ Runtime Header

15 Reserved

Collapse

//

#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16

// Optional header format.

typedef struct _IMAGE_OPTIONAL_HEADER

{

...

IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; } IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;

// Directory Entries

#define IMAGE_DIRECTORY_ENTRY_EXPORT 0// Export Directory

#define IMAGE_DIRECTORY_ENTRY_IMPORT 1// Import Directory

#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2// Resource Directory

#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5// Base Relocation Table

#define IMAGE_DIRECTORY_ENTRY_DEBUG 6// Debug Directory

#define IMAGE_DIRECTORY_ENTRY_TLS 9// TLS Directory

We can obtain the position and size of the import table with only two or three lines. By knowing the position of the import table, we move to the next step to retrieve the DLL names and the Function names, it will be discussed in the succeeding section.

通过两三行代码即可获得输入表的位置和大小,知道输入表的位置后,下一步我们获取DLL名字和函数名字,我们将会在下一节讨论。

Collapse

PIMAGE_NT_HEADERS pimage_nt_headers = ImageNtHeader(pImageBase);

DWORD it_voffset = pimage_nt_headers->OptionalHeader.

DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;

PIMAGE_DOS_HEADER pimage_dos_header = PIMAGE_DOS_HEADER(pImageBase);

PIMAGE_NT_HEADERS pimage_nt_headers = (PIMAGE_NT_HEADERS)

(pImageBase + pimage_dos_header->e_lfanew);

DWORD it_voffset = pimage_nt_headers->OptionalHeader.

DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress;

2. Import Descriptor at a glance

The import directory entry of the import table leads us to the position of the import table inside the file image. There is a container for each imported DLL, import descriptor, which embraces the address of first thunk and the address of original first thunk, the pointer to DLL name. The First Thunk refers to the location of the first thunk; the thunks will be initialized by PE loader of Windows during running the program, Figure 5. The Original First Thunk points to the first storage of the thunks, where provide the address of the Hint data and the Function Name data for each functions, Figure 4. In the case, the First Original Thunk is not present, the First Thunks refers to where the Hint data and the Function Name data are

located, Figure 3.

输入表的输入目录入口能把我们带到文件映象的输入表处。对于输入的每一个DLL都有一个相应的IMAGE_IMPORT_DESCRIPTOR结构,包含first thunk、original first thunk的地址和指向DLL名字的指针。First Thunk字段指向first thunk的位置,程序运行时PE装载器将会对thunks进行初始化,图5. Original First Thunk字段指向thunks存储的最初数据,这些数据提供了Hint的地址和函数的名字(INT),图4.这种情形下,First Original Thunk不会再更新,First Thunks指向了定位后的Hint数据和函数。

The import descriptor is represented with IMAGE_IMPORT_DESCRIPTOR structures as the following definition:

输入表描述符用下面的IMAGE_IMPORT_DESCRIPTOR结构体表示:

Collapse

ypedef struct _IMAGE_IMPORT_DESCRIPTOR {

DWORD OriginalFirstThunk;

DWORD TimeDateStamp;

DWORD ForwarderChain;

DWORD Name;

DWORD FirstThunk;

} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;

Members

?OriginalFirstThunk

It points to the first thunk, IMAGE_THUNK_DATA, the thunk holds the

address of the Hint and the Function name.

指向first thunk,IMAGE_THUNK_DATA结构,该thunk拥有Hint和函数名字的地址。

?TimeDateStamp

It contains the time/data stamp if there is the binding. If it is 0, no bound in imported DLL has happened. In new days, it sets to 0xFFFFFFFF to describe the binding occurred.

它包含绑定发生的时间戳,如果输入dll中没有绑定发生,值为0.最近,如果绑定发生它会被置为0xFFFFFF。

?ForwarderChain

In old version of binding, it acts as referee to the first forwarder chain of API.

It can be set 0xFFFFFFFF to describe no forwarder.

在老版的绑定中,它引用API的第一个forwarder chain(传递器链表)。它可被设置为0xFFFFFFFF以代表没有forwarder。

?Name

It shows the relative virtual address of DLL name.

表示DLL名字的RVA。

?FirstThunk

It contains the virtual address of the first thunk arrays that is defined

by IMAGE_THUNK_DATA, the thunk is initialized by loader with function

virtual address. In the absence view of the Original First Thunk, it points to the first thunk, the thunks of the Hints and The Function names.

包含用IMAGE_THUNK_DATA结构定义的first thunk的VA,该thunk将会在程序加载时被初始化为函数的VA。在没有Original First Thunk的情况下,first thunk

指向包含hint和函数名的thunks。

Collapse

typedef struct _IMAGE_IMPORT_BY_NAME {

WORD Hint;

BYTE Name[1];

} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;

typedef struct _IMAGE_THUNK_DATA {

union {

PDWORD Function;

PIMAGE_IMPORT_BY_NAME AddressOfData;

} u1;

} IMAGE_THUNK_DATA, *PIMAGE_THUNK_DATA;

Figure 3 - Import Table View

Figure 4 - Import Table View with Orignal First Thunk

These two import tables (Figure 3 and Figure 4) illustrate the different between import table with and without the original first thunk.

上面两处(图3和图4)显示了有和没有original first thunk时输入表的不同之处。

Figure 5 - Import Table after overwritten by PE loader

We can use Dependency Walker, Figure 6, to observe the whole information of the import table. By the way, I have provided another tool, Import Table viewer, Figure 7, with simple and similar operation. I am sure its source will help you to understand better the main representation that is done by this kind of equipments.

Dependency Walker可以查看输入表的整个信息(图6)。Import Table viewer,我提供的另外一款工具(图7),功能相似操作更加简单。我肯定它的源代码会使得你理解它的原理更加透彻。

Figure 6 - Dependency Walker, Steve P. Miller

Here we observe a simple source which could be used to display the import DLLs and the import Functions with a console mode program. However, I think my Import Table viewer, Figure 7, has more motivation to follow the topic because of its graphic user interface.

下面是一份控制台下显示输入DLL和输入函数的源代码。不过我认为我写的Import Table viewer(图7)更加生动地反映了主题。

Collapse

PCHAR pThunk;

PCHAR pHintName;

DWORD dwAPIaddress;

PCHAR pDllName;

PCHAR pAPIName;

//----------------------------------------

DWORD dwImportDirectory= RVA2Offset(pImageBase, pimage_nt_headers-> OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].

VirtualAddress);

//----------------------------------------

PIMAGE_IMPORT_DESCRIPTOR pimage_import_descriptor= (PIMAGE_IMPORT_DESCRIPTOR)

(pImageBase+

dwImportDirectory);

//----------------------------------------

while(pimage_import_descriptor->Name!=0)

{

pThunk= pImageBase+pimage_import_descriptor->FirstThunk;

pHintName= pImageBase;

if(pimage_import_descriptor->OriginalFirstThunk!=0)

{

pHintName+= RVA2Offset(pImageBase, pimage_import_descriptor->

OriginalFirstThunk);

}

else

{

pHintName+= RVA2Offset(pImageBase, pimage_import_descriptor->

FirstThunk);

}

pDllName= pImageBase + RVA2Offset(pImageBase, pimage_import_descriptor-> Name);

printf(" DLL Name: %s First Thunk: 0x%x", pDllName,

pimage_import_descriptor->FirstThunk);

PIMAGE_THUNK_DATA pimage_thunk_data= (PIMAGE_THUNK_DATA) pHintName;

while(pimage_thunk_data->u1.AddressOfData!=0)

{

dwAPIaddress= pimage_thunk_data->u1.AddressOfData;

if((dwAPIaddress&0x80000000)==0x80000000)

{

dwAPIaddress&= 0x7FFFFFFF;

printf("Proccess: 0x%x", dwAPIaddress);

}

else

{

pAPIName= pImageBase+RVA2Offset(pImageBase, dwAPIaddress)+2;

printf("Proccess: %s", pAPIName);

}

pThunk+= 4;

pHintName+= 4;

pimage_thunk_data++;

}

pimage_import_descriptor++;

}

Figure 7 - Import Table viewer

3. API redirection technique

We perceive all essential knowledge regarding the import table, so it is the time to establish our redirection method. The algorithm is so simple, creating an extra virtual space inside the virtual memory of the current process, and generate instructions to redirect with JMP to original function location. We can perform it by absolute jump or relative jump. You should take care in the case of the absolute jump, you can not perform it simply as in Figure 8, you should first move the virtual address to EAX and then a jump by JMP EAX. In pemaker6.zip, I have done a redirection by relative jump.

我们已经学完了相关知识,是引出API重定位的时候了。方法相当简单,在当前进程的虚拟内存中开辟空间,在原函数的位置处添加JMP指令进行重定向。可以使用绝对jump或者相对jump。在绝对跳转到时你一定要小心,千万不能只是像图8那样,首先你需要把VA放入EAX 中,然后通过jmp eax进行跳转。pemaker6.zip中,我使用相对跳转完成了重定向。

Figure 8 - Overview of a simple API redirection by the absolute jump instruction

This PE maker was created in the consequence of my previous article [1], I suggest you to read it if you are interested to know how it works. In this version, I have modified the Import table fix up routine, as you see in the following lines, I wrote some lines to generate relative JMP instruction to the real position of the function. It is important to know, you could not perform the API redirection for all DLL modules. For instance, in CALC.EXE, some thunks of MSVCRT.DLL will be accessed from inside of CALC.EXE code section during the runtime initialization. Therefore, it will not work in the case of the redirection.

PE maker是我之前的文章[1]中创建的,有兴趣的读者可以去阅读一下。正如你下面看到的一样,我在这个版本中稍稍做了修改,使用相对跳转指令跳转到函数的真正位置。你一定要知道,不是所有的DLL都可以进行API重定向。例如,CALC.exe中的MSVCRT.DLL在运行时会从代码段内部访问。因此,在重定向的是将不起作用。

Collapse

_it_fixup_1:

push ebp

mov ebp,esp

add esp,-14h

push PAGE_READWRITE

push MEM_COMMIT

push 01D000h

push 0

call _jmp_VirtualAlloc

//NewITaddress=VirtualAlloc(NULL, 0x01D000, MEM_COMMIT, PAGE_READWRITE);

mov [ebp-04h],eax

mov ebx,[ebp+0ch]

test ebx,ebx

jz _it_fixup_1_end

mov esi,[ebp+08h]

add ebx,esi // dwImageBase + dwImportVirtualAddress

_it_fixup_1_get_lib_address_loop:

mov eax,[ebx+0ch] // image_import_https://www.wendangku.net/doc/7413236587.html,

test eax,eax

jz _it_fixup_1_end

mov ecx,[ebx+10h] // image_import_descriptor.FirstThunk

add ecx,esi

mov [ebp-08h],ecx // dwThunk

mov ecx,[ebx] // image_import_descriptor.Characteristics

test ecx,ecx

jnz _it_fixup_1_table

mov ecx,[ebx+10h]

_it_fixup_1_table:

add ecx,esi

mov [ebp-0ch],ecx // dwHintName

add eax,esi // image_import_https://www.wendangku.net/doc/7413236587.html, +

// dwImageBase = ModuleName

push eax // lpLibFileName

mov [ebp-10h],eax

call _jmp_LoadLibrary // LoadLibrary(lpLibFileName);

test eax,eax

jz _it_fixup_1_end

mov edi,eax

_it_fixup_1_get_proc_address_loop:

mov ecx,[ebp-0ch] // dwHintName

mov edx,[ecx] // image_thunk_data.Ordinal

test edx,edx

jz _it_fixup_1_next_module

test edx,080000000h // .IF( import by ordinal )

jz _it_fixup_1_by_name

and edx,07FFFFFFFh// get ordinal

jmp _it_fixup_1_get_addr

_it_fixup_1_by_name:

add edx,esi // image_thunk_data.Ordinal +

// dwImageBase = OrdinalName

inc edx

inc edx // https://www.wendangku.net/doc/7413236587.html,

_it_fixup_1_get_addr:

push edx // lpProcName

push edi // hModule

call _jmp_GetProcAddress // GetProcAddress(hModule,lpProcName);

mov [ebp-14h],eax //_p_dwAPIaddress

//================================================================

// Redirection Engine

push edi

push esi

push ebx

mov ebx,[ebp-10h]

push ebx

push ebx

call _char_upper

mov esi,[ebp-10h]

mov edi,[ebp+010h]

_it_fixup_1_check_dll_redirected:

push edi

call __strlen

add esp, 4

mov ebx,eax

mov ecx,eax

push edi

push esi

repe cmps

jz _it_fixup_1_do_normal_it_0

pop esi

pop edi

add edi,ebx

cmp byte ptr [edi],0

jnz _it_fixup_1_check_dll_redirected

mov ecx,[ebp-08h]

mov eax,[ebp-014h]

mov [ecx],eax

jmp _it_fixup_1_do_normal_it_1

_it_fixup_1_do_normal_it_0:

pop esi

pop edi

mov edi,[ebp-04h]

mov byte ptr [edi], 0e9h // JMP Instruction

mov eax,[ebp-14h]

sub eax, edi

sub eax, 05h

mov [edi+1],eax // Relative JMP value

mov word ptr [edi+05], 0c08bh

mov ecx,[ebp-08h]

mov [ecx],edi // -> Thunk

add dword ptr [ebp-04h],07h

_it_fixup_1_do_normal_it_1:

pop ebx

pop esi

pop edi

//==============================================================

add dword ptr [ebp-08h],004h // dwThunk => next dwThunk

add dword ptr [ebp-0ch],004h // dwHintName => next dwHintName jmp _it_fixup_1_get_proc_address_loop

_it_fixup_1_next_module:

add ebx,014h // sizeof(IMAGE_IMPORT_DESCRIPTOR) jmp _it_fixup_1_get_lib_address_loop

_it_fixup_1_end:

mov esp,ebp

pop ebp

ret 0ch

Do not think the API redirection is discharged with this simple method in professional EXE protectors; they have an x86 instruction generator engine which is used to create the code for redirection purpose. Some time this engine is accompanied with metamorphism engine, that makes them extremely complicated to analyze.

不要认为专业的exe保护人员不屑于使用API重定向;他们有x86指令生成引擎,可以用来生产重定向相关代码。有时这些代码会加花指令,使得它们很难被解析。

How does it work?

The preceding code works according to the succeeding algorithm:

1.Create a separated space to store the generated instructions

by VirtualAlloc().

2.Find the function virtual address

by LoadLibrary() and GerProcAddress().

3.Check if DLL name is match with valid DLL list. In this example, we

recognize KERNEL32.DLL, USER32.DLL, GDI32.DLL, ADVAPI32.DLL,and SH

ELL32.DLL as valid DLL name to be redirect.

4.If DLL name is valid, go to redirect routine, otherwise initialize the thunk with

the original function virtual address.

5.To redirect API, generate the JMP (0xE9) instruction , calculate the relative

position of the function position in order to establish a relative jump.

6.Store the generated instructions inside the separated space, and refer the

thunk to the first position of these instructions.

7.Continue this routine for other the Functions and the DLLs.

1.使用VirtualAlloc()开辟空间存储生成代码。

2.使用LoadLibrary()和GerProcAddress()确定函数的虚拟地址。

3.检查DLL名字是在有效列表中,在本例

中 KERNEL32.DLL, USER32.DLL, GDI32.DLL,

ADV API32.DLL,和SHELL32.DLL为有效DLL。

4.如果DLL名有效,转入重定向例程,否则,用函数原地址初始化thunk。

5.重定向API,生成跳转指令JMP (0xE9),计算跳转相对位置。

6.存储生成代码到所开辟空间中,令thunk指向这些指令的起始位置。

7.函数返回。

If you implement this performance on CALC.EXE, and trace it by OllyDbg or a similar user mode debugger, you will perceive this code generated a view as similar as the following view:

如果你在CALC.exe中实现这种技术,并且使用用户模式的调试器比如OllyDbg进行跟踪,你会发现生成的代码如下:

Collapse

008E0000 - E9 E6F8177C JMP SHELL32.ShellAboutW

008E0005 8BC0 MOV EAX,EAX

008E0007 - E9 0F764F77 JMP ADVAPI32.RegOpenKeyExA

008E000C 8BC0 MOV EAX,EAX

008E000E - E9 70784F77 JMP ADVAPI32.RegQueryValueExA

008E0013 8BC0 MOV EAX,EAX

008E0015 - E9 D66B4F77 JMP ADVAPI32.RegCloseKey

008E001A 8BC0 MOV EAX,EAX

008E001C - E9 08B5F27B JMP kernel32.GetModuleHandleA

008E0021 8BC0 MOV EAX,EAX

008E0023 - E9 4F1DF27B JMP kernel32.LoadLibraryA

008E0028 8BC0 MOV EAX,EAX

008E002A - E9 F9ABF27B JMP kernel32.GetProcAddress

008E002F 8BC0 MOV EAX,EAX

008E0031 - E9 1AE4F77B JMP kernel32.LocalCompact

008E0036 8BC0 MOV EAX,EAX

008E0038 - E9 F0FEF27B JMP kernel32.GlobalAlloc

008E003D 8BC0 MOV EAX,EAX

008E003F - E9 EBFDF27B JMP kernel32.GlobalFree

008E0044 8BC0 MOV EAX,EAX

008E0046 - E9 7E25F37B JMP kernel32.GlobalReAlloc

008E004B 8BC0 MOV EAX,EAX

008E004D - E9 07A8F27B JMP kernel32.lstrcmpW

008E0052 8BC0 MOV EAX,EAX

For your homework, you can practice changing the PE Maker source with the absolute jump instruction by this code:

作为作业,你可以练习使用绝对跳转指令修改PE maker的代码。

Collapse

008E0000 - B8 EBF8A57C MOV EAX,7CA5F8EBh // address of SHELL32.ShellAboutW 008E0005 FFE0 JMP EAX

What do you call this?

This time, I want to change the function of an API by this technique. I am not sure if we can call it "API redirection" again. In this sample, I redirect

the ShellAbout() dialog of CALC.EXE to my "Hello World!" message box

in pemaker7.zip. You will see how easy it is implemented by a few changes in the following code:

接下来,我将使用这种技术改变API的功能。我不肯定能否称之为“API 重定向”。在本例中,我把CALC.exe的ShellAbout()对话框重定向到我的"Hello World!"消息框。

Collapse

...

//==============================================================

push edi

push esi

push ebx

mov ebx,[ebp-10h]

push ebx

push ebx

call _char_upper

mov esi,[ebp-10h]

mov edi,[ebp+010h] // [ebp+_p_szShell32]

_it_fixup_1_check_dll_redirected:

push edi

call __strlen

add esp, 4

mov ebx,eax

mov ecx,eax

push edi

push esi

repe cmps //byte ptr [edi], byte ptr [esi]

jz _it_fixup_1_check_func_name

jmp _it_fixup_1_no_check_func_name

_it_fixup_1_check_func_name:

mov edi,[ebp+014h] // [ebp+_p_szShellAbout]

push edi

call __strlen

add esp, 4

mov ecx,eax

mov esi,[ebp-18h]

mov edi,[ebp+014h] // [ebp+_p_szShellAbout]

repe cmps //byte ptr [edi], byte ptr [esi]

jz _it_fixup_1_do_normal_it_0

_it_fixup_1_no_check_func_name:

pop esi

pop edi

add edi,ebx

cmp byte ptr [edi],0

jnz _it_fixup_1_check_dll_redirected

mov ecx,[ebp-08h]

mov eax,[ebp-014h]

mov [ecx],eax

jmp _it_fixup_1_do_normal_it_1

_it_fixup_1_do_normal_it_0:

pop esi

pop edi

mov ecx,[ebp-08h]

mov edi,[ebp+18h]

mov [ecx],edi // move address of new function to the thunk _it_fixup_1_do_normal_it_1:

pop ebx

pop esi

pop edi

//==============================================================

...

I summarize this routine successively:

1.Check if DLL name is "Shell3

2.DLL".

2.Check if Function name is "ShellAboutW".

3.If condition 1 and 2 are true, redirect the thunk of ShellAbout() to new

function.

接着总结一下流程:

1.检查DLL名字是否为"Shell3

2.DLL"

2.检查函数名字是否为"ShellAboutW"

3.满足条件1和条件2,将ShellAbout()重定向到新函数。

This new function is a simple message box:

新函数是一个简单的消息框:

Collapse

_ShellAbout_NewCode:

_local_0:

pushad // save the registers context in stack

call _local_1

_local_1:

pop ebp

sub ebp,offset _local_1 // get base ebp

push MB_OK | MB_ICONINFORMATION

lea eax,[ebp+_p_szCaption]

push eax

lea eax,[ebp+_p_szText]

push eax

push NULL

call _jmp_MessageBox

// MessageBox(NULL, szText, szCaption, MB_OK | MB_ICONINFORMATION) ;

popad // restore the first registers context from stack

ret 10h

When you plan to replace an API with a new function, you should consider some important notes:

?Do not corrupt the Stack memory by missing the stack point. Therefore, it is necessary to restore finally the original stack point by ADD ESP,xxx or RET xxx.

?Try to keep safe the most of the thread registers except EAX by capturing and restoring them with PUSHAD and POPAD.

As you see, I have employed the PUSHAD and POPAD to reclaim the thread registers. For this case, ShellAbout(), it has 4 DWORD memebers so the stack point is increased 0x10 while returning.

After redirecting ShellAbout(), you can try About Calculator menu item

form Help menu, you will see what it has done on target CALC.EXE.

当你准备替换到新函数时,你必须考虑以下几点:

l要保持堆栈平衡,必须使用ADD ESP,xxx或者RET xxx恢复堆栈。

l使用PUSHAD和POPAD确保除EAX以外的其它寄存器安全。

如你所见,我使用PUSHAD和POPAD恢复了线程寄存器。本例中,ShellAbout()有4个DWORD类型的参数,所以返回的时候栈顶必须增加0x10。

当你重定向完成以后,点击Help菜单下的About Calculator按钮,你讲看到目标程序CALC.EXE的变化。

Figure 9 - The redirection of About Calculator to a dialog message box

The EXE protectors manipulate the target in this way; they establish the redirection to their extra memory space, the next section will discuss.

Exe保护人员用这种方法修改目标程序,他们建立指向额外空间的重定向,下一节继续讨论。

4. Protection again reversion

It is extremely difficult to reconstruct an import table with complex API redirection technique. Sometimes the tools like Import REConstructor, Figure 10, will be confused to rebuild the import table, especially if the redirection is accomplished with polymorphism code image. Import REConstructor is a famous tool in

the reverse world; it will suspend the target process in order to capture the import information. If you make a redirection like a simile JMP, it certainly will be reconstructed with this tool. Nevertheless, if we encrypt the Function name and bundle it with polymorphism code inside the memory, it will be befogged to retrieve the correct import table. We present our EXE protector according to this technique, "Native Security Engine", [6] is a packer which follow this way. It has an x86 code generator plus a metamorphism engine, both of them help to establish a complex redirection structure.

网络传播概论-最终版本

网络传播概论 名词解释: 1、信息图表:将信息数据等可视化的一种方式。(含图表、图解、图形、表格、地图、列 表)。(新闻信息图表:它是那些具有新闻价值或者可以传达、解释新闻信息的图表,其特点是形象性与直观性。) 2、网络新闻专题:以网络为平台,运用各种媒体手段,对特定的主题或事件进行组合或连 续报道的形式。 3、社会化媒体营销:是指运用各种社会媒体平台和手段开展的品牌营销、产品销售、客户 服务、企业公关等活动。 4、网络论坛:通常是指以各种话题讨论为主的BBS。它是利用网络手段所开展的一种多对多的交流方式,是网民意见表达的主要渠道,也是网民评论的主要栖息地。 5、语义网:就是能够根据语义进行判断的网络。也可以说,语义网是一种能理解人类语言的智能网络,它不但能够理解人类的语言,而且还可以使人与电脑之间的交流变得像人与人之间的交流一样轻松。 6、微博:也称为微博客,它是一种基于社交关系网络进行信息传播的方式。用户可以利用手机、电脑等终端,在微博平台上发表简短的消息,这些消息可以即时地传送给关注自己的那些对象。尽管它常常被拿来与博客相比,但微博不是博客的一种简单延伸,它把即时通信、SNS和博客等的特点结合起来,从而在人际交流与公共信息传播方面形成了综合优势。 7、网络社会:网络社会是一种全新的社会结构,这一社会结构源于社会组织,社会变化以及由数字信息和通信技术所构成的一个技术模式之间的相互作用。(百度)从微观来看,该“网络社会”是从原现实社会中分化出来的比特世界与原子世界分离与统一的新的现实社会。从宏观视之,它是由人们的交往实践主体与主体通过网络这一中介客体构成的一个相互交错或平行的交往大系统,是现代世界交往、互动联系的媒介,是交往实践全球化的共在结构。 8、网络营销:指借助于互联网络、电脑通信技术和数字交互式媒体,实现营销目标的一种营销方式。 9、媒介素养:是指媒介受众对各种媒介信息的解读批判能力,以及媒介信息为个人生活、社会发展所用的能力。 问答: 一、网络新闻报道单元 是对日常稿件进行整合的一种手段,常常是围绕一个特定的主题,由不同层次不同形式的信息和手段等共同组成一个小的集合,通过他们的相互补充相互配合,达到更好的新闻传播效果。与新闻专题相比它的规模要小得多,且针对的是各种具有较大新闻价值的日常报道,而不一定是重大报道题材。 作用:(1)克服新闻碎片化现象;(2)体现网络媒体竞争力; 特点:(1)以某一稿件为主干,其他稿件为其服务、报道线索明确;

互联网传播媒介的优缺点 特征和解决方案

互联网传播媒介 特征: 一.无可比拟的时效性和全时性 二.传播内容的海量性和开放性 三.传播过程的双向性和交互性 四.传播方式的虚拟性 五.传播形态的多媒体 六.传播环境的个性化 优点: 1.匿名性。减少产生信息传递和反馈的顾虑,一定程度上保证公众的话语权,使得调研能够进行; 2.大众传播的宠儿。最广泛的影响,最低成本的投入,最丰富的媒介应用,最宽阔的信息平台,最受关注的经济成长方式,最广大的发布载体; 3.互动性。实时互动,无边界交流和反馈,已经成为重要的公关利器,尤其是在公关危机处理方面; 4.公共会议。表现在公共关系有线和可视会议方面。 缺点: 1.信息的选择困难; 2.对虚假信息和不利信息的处理非常棘手; 3.3.垃圾信息导致相关公共关系调研的效果大打折扣; 4.安全危机时刻出现。网络病毒和黑客已经成为威胁企业信息的重要对象。 分析原因: 1.信息量巨大,甄别困难,不确定信息多; 2.由于信息发布者可以采用假名,并且网络信息发布商和论坛非常多,对这些信息的阻截不会有太大成效,对流言和恶语无法有效地直接制止; 3.政府对小程度上的信息欺瞒采取放之任之的模糊态度; 4.部分网民涵养不够,对于发布信息的态度不严谨,导致信息良莠不齐。 解决方案: 1.完善政府管理和监督机制,加强政府互联网的掌握力度,有效杜绝不确定或不良信息的发布及传播; 2.进一步发展教育,提高网民的自我修养和素质,净化消息来源,传播正面消息; 3.对网络环境的改善:完善网络自我监管,对不确定或不良消息进行屏蔽和删除; 4.建立有效的法律体系,对传播不良信息者进行适当的惩罚,违法必究,执法必严,严厉打击违法者。

拓展网络传播道德正能量渠道

拓展网络传播道德正能量渠道 《光明日报》( 2013年07月31日 10 版) “网络是分享生活的地方,更是我分享感动的地方。”77岁的退休教师崔秀清说。前不久,崔秀清在邻居的推荐下玩起了微博,她说上微博不为别的,只为关注“中国好人”微博群。2011年,南京在全国率先推出“中国好人”微博群,拓展了网络传播道德正能量的渠道。 一条传播正能量的新渠道 “‘诚’,分开就是‘言’与‘成’;合起来就是承诺的事就要办……”近日,一条关于诚信的微博在网上被数万名网友转发,博主柴乾岳说,用自己的言行感召他人是件快乐的事情。 柴乾岳是2008年“中国好人”、首届“南京好市民”。两年前,南京推出“中国好人”微博群,柴乾岳便加入了其中。“每一次发微博,都会被大量转发,这让我看到网络传递正能量的强大作用。”柴乾岳说。 近年来,南京先后产生了63个全国、省市道德模范个人和群体,108位“中国好人”,1094位南京好市民。南京市委常委、宣传部长徐宁说,这些先进典型,是社会主义核心价值体系的模范实践者,是推进公民道德建设最有说服力、最有影响力的鲜活教材。“中国好人”微博群正是利用微博这一新兴技术平台,搭建了一个让先进典型说道德、议道德、传道德的空间。 一个凝聚群众力量的新平台 “群里的博主们都是被市民推举出来的好人,他们的话有分量、能服众,更能凝聚群众力量。”南京市文明办张海毅说。对此,志愿者吴苏华深有感触。 2011年7月,吴苏华在自己参与募捐并筹建的玉树“拉布朗诗希望小学”给孩子们拍合照时,发现了一个没有鼻子的小女孩——更松拉毛。小拉毛扑闪的大眼睛让吴苏华格外难过,他决心要帮助小拉毛。几经波折后,拉毛终于有了漂亮挺拔的人造鼻子。但就在大家憧憬着孩子的美好未来时,拉毛却被诊断出“脊

论新兴网络传播媒介对社会生活的影响

论新兴网络传播媒介对社会生活的影响 论新兴网络传播媒介对社会生活的影响 自从人类的诞生,新闻传播便随之而来。从开始时的人内传播,人际传播,迈步扩展,后期便有了群体传播,组织传播及日益重要的大众传播。 传播无时不有,无处不在,传播通过的媒介手段便也日新月异,方式也层出不穷。理论家麦克卢汉指出:媒介即万物,万物皆媒介,而所有媒介都能与人体发生某种联系,如石斧是手的延伸,车轮是脚的延伸,书籍是眼的延伸,广播是耳的延伸,衣服是皮肤的延伸新闻传播简而言之,就是新闻传播者对新闻信息源加以采集,通过新闻传播媒介传给新闻收受者的过程。若这里的传播者是点,而收受者作为面,则该类传播称为大众传媒。 早期的大众传播媒介即为报纸,油墨印于纸上,新闻事件浮之于上,使大众逐渐对于新闻有所认识。后期,广播事业的诞生,使人可以快速身临其境的体验新闻。电视的出现结束了听而不视的瞎子新闻。使人可以更加直观的了解新闻动态,纸张,书本,无线电广播,电视信号,这是狭义上的媒介。进而,推而广之,凡是能使人与人、人与事物或事物与事物之间产生联系或发生关系的物质都是广义的媒介。 从古至今传播媒介经历了六个阶段,即原始传播、口语传播、书写传播、印刷传播、电子传播、互动传播。毋庸置疑,新兴的互动传播方式正在成为时代传播的主旋律。网络媒介作为这种新兴传播媒介的代

表,在人们的社会生活中所处的地位日益提升。 一、网络的起源 网络又称互联网、因特网,英文为 Internet ,它的前身是20世纪60年代美国军方的阿帕网(ARPANET),本是为对付核打击而开发的分散控制式通讯系统。70年代基于信息包交换技术的通讯协议(TCP/IP)研究成功,80年代以此为基础建立了互联网并转向民用,从此开辟了人类信息通讯的新纪元。90年代多媒体和超文本界面的万维网(Web)兴起,使互联网真正进入了寻常百姓家。 二、新兴网络传播媒介的特点 1.集成性。目前的网络集成了电视、广播、报纸的各种功能。其功能的强大超越了之前的任意媒介。 2.普及性。随着中国互联网事业的飞速发展,互联网再也不为人所陌生,而正像电视机的普及一样,快步走入了广大民众的家庭。新闻广播信号要有其一定的接收装置,而电视的不可伴随性,广播的不可见,报纸体积的巨大等种种弊端日益显著。而目前民众人手一台的手机都可以随时随地地连入互联网,获取最新的信息。笔者认为中国正努力改造的3G项目将为互联网新闻事业的起飞加上强劲的助推器。手机报、手机网、手机新闻也将在未来的新闻传播事业中占据不可撼动的地位。 3.互动性。受者与传者之间的交流叫做新闻传播的反馈。类似收视率这一类的指标无疑对新闻事业朝何方向发展指明了方向。获得受众的一点建议可能使栏目蒸蒸日上,反之,缺少这一点也可能会使栏目昙

网络信息传播渠道(作业,资料整理分析).

网络信息传播渠道 应用最多的渠道是即时通讯工具,其次是论坛、视频网站和博客,各占到了 22.8%、15.6%和14% 网上发布广告的渠道和形式众多,各有长短,企业应根据自身情况及网络广告的目标,选择网络广告发布渠道及方式。在目前,可供选择的渠道和方式主要有: (一主页形式 建立自己的主页,是一种必然的趋势。它不但是形象的树立,也是宣传产品的良好工具。在互联网上做广告的很多形式都只是提供了一种快速链接公司主页的途径,所以,建立公司的Web主页是最根本的。主页地 址也会像公司的地址、名称、电话一样,是独有的,是标识,是无形资产。 (二网络内容服务商 如新浪、搜狐、网易等,它们提供了大量的互联网用户感兴趣并需要的免费信息服务,包括新闻、评论、生活、财经等内容,因此,这些网站的访问量非常大,是网上最引人注目的站点。目前,这样的网站是网络广告发布的主要阵地,但在这些网站上发布广告的主要形式是旗帜广告。 (三专类销售网 这是一种专业类产品直接在互联网上进行销售的方式。现在这样的网站越来越多,著名的如Automobile Buyer’s Network、AutoBytel等。走 入这样的网站,消费者只要在一张表中填上自己所需商品的类型、型号、制造商、价位等信息,然后按一下搜索键,就可以得到你所需要商品的各种细节资料。 (四企业名录

这是由一些Internet服务商或政府机构将一部分企业信息融入他们的主页中。如香港商业发展委员会的主页中就包括汽车代理商、汽车配件商的名录,只要用户感兴趣,就可以通过链接进入选中企业的主页。 (五免费的E-mail服务 在互联网上有许多服务商提供免费的E-mail服务,很多上网者都喜欢使用。利用这一优势,能够帮助企业将广告主动送至使用免费E-mail 服务的用户手中。E-mail 已经是互联网用户进行沟通联系的重要工具,同时可以提供准确的读者数据,企业可以选择最符合产品消费要求的用户,直接将广告发到其E-mail 中。 (六黄页形式 在Internet上有一些专门用以查询检索服务的网站,如Yahoo!、Infoseek、Excite等。这些站点就如同电话黄页一样,按类别划分,便于用户进行站点的查询。采用这种方法的好处,一是针对性强,查询过程都以关键字区分;二是醒目,处于页面的明显处,易于被查询者注意,是用户浏览的首选。 (七网络报纸或网络杂志 随着互联网的发展,国内外一些著名的报纸和杂志纷纷在Internet上建立了自己的主页;更有一些新兴的报纸或杂志,放弃了传统的“纸”的媒体,完完全全地成为一种“网络报纸”或“网络杂志”。其影响非常大,访问的人数不断上升。对于注重广告宣传的企业来说,在这些网络报纸或杂志上做广告,也是一个较好的传播渠道。 (八新闻组 新闻组是人人都可以订阅的一种互联网服务形式,阅读者可成为新闻组的一员。成员可以在新闻组上阅读大量的公告,也可以发表自己的公告,或者回复他人的公告。新闻组是一种很好的讨论和分享信息的方式。广告主可以选择与本企业产品相关的新闻组发布公告,这将是一种非常有效的网络广告传播渠道。

网络传播的特点和优势

网络传播的特点和优势 对于什么是网络传播,比较普遍的看法是:所谓网络传播,就是通过国际互联网这一信息传播平台,以电脑、电视机及移动电话等为终端,以文字、声音、动画、图像等形式来传播信息。网络传播可以理解为利用互联网这一媒介进行的信息传递,是一种兼具人际、组织传播内涵的新型大众传播。 网络传播能够在短时间内迅猛发展,主要是由其不同于传统媒体的优势和特点决定的。网络传播信息的速度和规模、影响的地域范围以及表现形式等都远远超过以往的大众媒体,极大地开阔了人们的视野、丰富了人们的文化生活。按照学者们的归纳,网络传播主要有以下优势: 信息量大,速度快。网络以其超链接的方式将存储信息的容量无限放大,而传统媒体却要受版面、频道、时间等因素限制,无法任意扩大和丰富所发布的信息内容。在信息传播效率上,传统媒体所要发布的信息都必须经过采集、筛选、加工等多个环节才能够传递给受众,而网络传播将这个过程大大缩短,网络信息可以实现即时更新,大到国际、国家大事,小到生活琐事,均能在网上得到同步反映。 传播手法多样。网络传播不仅集传统媒体传播手段之大成,而且在传播过程中可以把文字、声音、图像等融为一体,实现以往各种传统传播手段的整合,满足了受众多方面需要。 传播过程多向互动。传统的报纸、广播、电视等媒体是以传播者为中心的单向、线性传播,传播主体和受众之间存在信息不对称。而在网络信息传播中,传播者和受众可以任意互换角色,受众既是信息的接受者,也可以成为信息的传播者。受众的主体地位得以体现,不

仅可以主动地获取或发布信息,而且可以实现无时空限制的交流沟通。 交流具有开放性。在网络上,人们可以在不同国家、不同民族之间就文化传统、思想观念、宗教信仰和生活方式等各个方面进行交流。网络传播是完全开放的,全球共享、广泛参与是其鲜明特征。 传播主体广泛。传统信息发布主体是某个具体的电台、电视台或者报社、杂志社。而在互联网上,每个网民都可以是信息发布者。同时,网络还具有传统媒体所没有的虚拟性,网络传播主体可以匿名,网民随意出入自由发言,发言机会均等。

网络谣言的特点和传播渠道及应对措施

网络谣言的特点和传播渠道及应对措施 在互联网快速发展的今天,我们在享受其带来的便利的同时,也体味到了这之中的劣势,网络谣言无疑是一个最具有代表性的例子。谣言,即一种没有根据来由的语言,而网络谣言性质与之相同,不同的是在传播的介质上,借助网络进行传播。由于网络现今已经与我们的生活密切相关,谣言借助网络传播的速度之快也超出想象,且波及的范围很大,比如突发事件、名人官员、传统背离等,这些现象对网络环境造成了很大的破坏,社会生活也遭到损害,尤其是当事者所受到的影响是巨大的。 为了改善这一现状,除了网民自身增加辨别是非的能力、提升道德品质修养、树立正确的世界观人生观以外,外部监督管理手段也是必不可少的。 网络谣言的特点和传播渠道 网络谣言的特点有三:一是变异性,主要是一些散布者的恶意心机而成,由此衍生网络谣言的迷惑性、破坏性和炒作性;二是反复性,有些已经沉默了一段时间的谣言,不久之后便又纷争四起;三是快捷性,只要信息上传网络,传播的快速程度超出想象。 谣言在网络中的传播渠道大约有如下四种。 第一是论坛。网络论坛已经普及到人们的生活,许多言论在此充斥,不辨真假。制造谣言和传播谣言似乎乐此不疲,也正是此类原因导致很多人不相信论坛中的一些消息。但是论坛上的信息并不是全部虚假,一些真实而且具有价值的消息在这种浑浊的环境下被忽略,无法实现,而一些故意造谣热点的谣言却在现实生活中得到传播。 第二是网络新闻。网络的优势在于便捷,这一优势与人们的款节奏生活相匹配,网络新闻成为网民了解世界的首选,媒体自然不会放过这一机会,诸多构建了自家网站。但由于一些新闻网站只为获得浏览量,扩大自身名气,就构造虚假信息,长此以往,人们对网络新闻的真实度不再认可。 第三是电子邮件。电子邮件的传播速度很快,而且由于是私人自己发送的,很多情况下会被人信以为真,并且在发出的短时间内便可以涉及范围极广的群体。一些邮件还带有威胁性言语,使得一些网民在思想的影响下成为其谣言传播的助力。 第四是聊天工具。网络社会中,聊天软件快捷了人们之间的交流,并且真实性更加浓厚,在这一环境载体中所呈现出的言语基本上会被认为真实可靠。同时在网络中只要复制就可以传播,便大大增加了谣言的传播速度。 谣言在网络中传播的原因

网络传播2

网络传播 课程目标和要求 目标:随着互联网的崛起,网络传播作为一种全新的信息传播方式快速崛起。本课程围绕网络传播这一核心议题,介绍和讨论网络传播的类型、网络传播中的受众及其行为、网络媒介特性、网络传播效果、网络舆论、网络广告、电子商务等内容。 要求:熟悉网络媒介,结合自身的网络使用,理解网络传播的相关内容;并以此为基础,扩展对网络传播的了解。及时阅读相关材料。 第一章网络传播概述 什么是网络传播 网络传播学的学科性质 对传播学知识的影响 (一)什么是网络传播 媒介技术发展与信息传播 媒介与传播:每一次媒介技术的突破,都会带来信息传播方式的革命,从而推动社会生活的变革。 媒介与社会:信息传播技术和传播方式的变革,对人们的思考方式、行为方式、认知能力,以及社会结构、文化形态都会发生深刻的影响。 什么是媒介 媒介一词从20世纪20年代开始使用,指使事物发生关系的中介体、手段、工具等(张国良:《新闻媒介与社会》)。 广义的媒介指人体的延伸,如麦克卢汉说衣服是皮肤的延伸,车轮是脚的延伸,电话是耳朵的延伸等。 狭义的媒介指传播媒介,包括个人媒介、组织媒介和大众传播媒介等。 媒介即信息 因尼斯:媒介的偏向 麦克卢汉:真正影响和改变人们的,不是传播媒介中的具体内容,而恰恰是媒介本身。媒介即信息,社会为媒介的性质而不是媒介的内容所影响。 波兹曼:媒介塑造了我们对世界的理解

梅罗维茨:媒介形塑着人们的行为方式 媒介在传播中的作用 媒介是人类传播活动中,达到传播目标的重要工具。 媒介是影响人们态度、情感、思维和行为的重要变量。 个人形象的建构与发展,受媒介的影响和制约。 媒介有自己的偏好,对传播内容有深刻的影响,指导着我们看待和了解事物的方式。 阅读材料:媒介的影响 波兹曼在《娱乐至死》中,举过三个例子,分析媒介对于文化的影响(《娱乐至死·童年的消逝》第18-21页,广西师范大学出版社,2009年)。 没有书面文字的非洲部落如何解决纠纷 大学博士论文口试中对于引用的态度 苏格拉底的辩护 传播的历史 关于传播的历史,传播学者唐·彭伯说: 我们假定人类现代历史的4万年为一年,此时正值12月31日深夜,该年的最后一天。那么,机械印刷初现于12月27日,距今五天以前。报纸的前身新闻书诞生于1610年,或曰三天半前。广播和电影作为媒介现身于20世纪初,即今晨6点。电视于上世纪30年代首现美国,即今日下午3点。大众传播尽管存在时间不长,却已开始真正主宰我们今天的生活。传播发展三阶段(麦克卢汉) 部落时代:主要依赖声音,大部传播通过言语或其他嗓音发生,听觉非常重要,但不限于听觉,生活在感觉平衡中。 印刷时代:文字的出现,改变了部落时代的感觉平衡,听觉、触觉、嗅觉、味觉等不再重要,眼睛成了处理信息的中心,人们以线性方式处理信息。 电子时代:回归于与部落时代相似的传播方式,电子媒介创造了“地球村”。重大事件的媒介报道,会让人们经历巨大的“集体情感”;缺少线性、缺乏逻辑、更为即时和接近部落祖先的思维方式重新兴起。 口头传播 口头传播:语言是传播的基本媒介,集体记忆是信息的惟一存储方式,信息传播和交流通过面对面的直接交流完成。在口头传播时期,信息资源无法实现全社会共享,而依赖于信息持有者的个体记忆和控制。

网络传播

网络传播 新闻1102 李珊珊1164082 模式(Pattern)其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。 1948年,拉斯韦尔明确提出了传播过程及其五个基本构成要素,即:谁(Who),说了什么(Says what),通过什么渠道(In Which Channel),对谁说(To Whom),取得了什么效果(With What Effect)。这就是著名的5W传播模式。这个模式简明而清晰,是传播过程模式中的经典。后来的很多学者都对此进行过各种修订、补充和发展,但大都保留了它的本质特点。这一模式还奠定了传播学研究的五大基本内容:即“控制分析”、“内容分析”、“媒介分析”、“受众分析”以及“效果分析”。“谁”就是传播者,在传播过程中担负着信息的收集、加工和传递的任务。传播者既可以是单个的人,也可以是集体或专门的机构。 “说什么”是指传播的讯息内容,它是由一组有意义的符号组成的信息组合。 “渠道”,是信息传递所必须经过的中介或借助的物质载体。 “对谁”,就是受传者或受众。 “效果”,是信息到达受众后在其认知、情感、行为各层面所引起的反应。 循环模式是施拉姆在奥斯古德的基础上提出的。这一模式突出了信息传播过程的循环性。这就内含了这样一种观点:信息会产生反馈,并为传播双方所共享。另外,它对以前单向直线模式的另一个突破是:更强调传受双方的相互转化。它的出现打破了传统的直线单向模式一统天下的局面。其缺点是未能区分传受双方的地位差别,因为在实际生活中传授双方的地位很少是完全平等的。其次,这个模式虽然能够较好地体现人际传播尤其是面对面传播的特点,对大众传播过程却不能适用 马莱兹克的系统模式说明,社会传播是一个极其复杂的过程,评价任何一种传播活动,解释任何一个传播过程即便是单一过程的结果,都不能简单地下结论,而必须对涉及该活动或过程的各种因素或影响力进行全面的、系统的分析。 1、影响和制约传播者的因素--传播者的自我印象、人格结构、同僚群体、社会环境、所处的组织、媒介内容的公共性所产生的约束力、受众的自发反馈所产生的约束力、来自讯息本身以及媒介性质的压力和约束力。

网络传播的发展及影响

网络传播的发展及影响 由于电脑、电话等的普及,使得大众传播媒介的传播方式发生了变化,如大众传播媒介无论是采集信息,还是开播“热线”节目,都离不开电话;电脑则成为写作、编辑的重要工具等等。由于这些媒介的加盟,大众传播媒介得到了改进和完善,同时,这些媒介也悄悄改变了大众传播媒介的面貌,改变着大众传播的一些本质,正在对大众传播进行着“和平演变”。 一、人类传播的发展历程 在人类的进化时期只是利用有声的符号和信号,后来人类学会了把声音同它们所代表的事物分离开来,用语言符号(声音)来代表具体事物和抽象意义即语言传播。口头语言是人类最初的传播形式,原始阶段的口头语言传播满足了人类最初的交流愿望。但语言传播存在着传播范围小、数量小、速度慢、容易走样和不易保存等先天性缺点。文字传播是人类传播的第二阶段,人们将声音同发出声音的人也分离开,这就产生了文字。它使信息有了便于记录、携带和传播的载体,但信息难于大量复制,也不易普及,传播只能在特定的群体中进行。造纸术和印刷术的发明和运用,使报纸、杂志在社会上迅速普及开来成为重要的传播媒介,人类第一次具有了大批量、高速度复制信息的能力。人类传播进入了第三个阶段———印刷时代。19世纪40年代至70年代,电报、电话相继发明,20世纪20年代至50年代,无线电广播、电影、电视、录像等一系列模拟式电子传播技术与媒介相继出现,人类传播进入了一个新的发展阶段———大众传播时代。所谓大众传播,是大规模的媒介组织向大范围的受众传递大批量信息的点对面的单向传播过程,它的最大特点就是遵 循“大数”原则,根据有限的不精确的反馈信息和传播者对公众需要的估测及传播政策的要求,传送出被认为是适合大多数受众需要的信息。它的传播媒介都是以点对面的单向线性传播,受众始终处在“你登我读”“你说我听”“你播(演)我看”的被动地位,传播的时间完全由传播者来决定。信息传播时间的限制剥夺了受众进行选择的机会。随着社会的发展,它的缺陷也越来越明显,愈来愈不能适应社会发展的需求。而网络化传播以双向互动传播代替了大众传播的点对面的单向传播,以个人的点播式服务代替了大众传播的批量生产,以综合的媒体形式代替了大众传播的单一形式。如今,网络化传播以迅猛的速度进入了人们的生活,使大众传播也进入了一个新型的传播形式之中。 二、网络化传播的特点 网络化传播与传统的传播方式相比,既具备了现有传播媒介的一切

网络传播的特点

网络传播的特点 当前,关于网络传播的特点主要从技术层面加以描述,这一观察角度是否妥贴,本文对此提出质疑,以待商榷。传播的目的在于实现信息的交流和共享,从传播的本质出发,本文就传播的异质性特点在网络传播中的地位提出了看法。 关键词:传播;网络传播;互联网; 一、网络传播特点描述现状综述及其评价 当前,关于网络传播特点的描述,择其大端约可归为以下几个方面,即,(1)信息的海量性和开放性;(2)空前的强时效性;(3)多媒体功能;(4)高度的交互性与易检性;(5)传播环境的个性化。从传播的本质观察,这一观点似乎不无值得商榷之处。 ▲特点概述: (1)信息的海量性和开放性: 每一个网民,当其步入网络领域的起始,就被置于一个浩如烟海的信息海洋里。具有超大储存能力的计算机与网络连接在一起,把人们带进了“信息爆炸”的时代。网络技术使人人都可成为发布信息的信息源,无数的信息源就像涓涓细流汇集成信息的海洋。在网上什么样的信息,从圣诞老人的住处到核武器的制作,可以说包罗万象、应有尽有。如1999年国务院新闻办公室主任赵启正就曾以此来驳斥美国指责中国窃取美国核技术的《考克斯报告》。赵启正在记者招待会上指出,近年来,在国际互联网上随时可以看到美国从早期的MK-1到最新装备的核弹头W88的性能数据。他让工作人员接通互联网进行现场演示,中外记者看到,美国煞有介事地污蔑中国“窃取”的“绝密”情报,原来可以从国际互联网上信手拈来。网络传播内容的海量性还取决于计算机提供的强大的搜索功能,如你可以在单位或在家里,轻松地检索到包括英国大不列颠图书馆和美国国会图书馆等世界上600多个国家图书馆和400多个专业机构的馆藏目录,以及各种专业数据库和商业数据库的数据资料、各种市场信息、科技信息、社会政治信息等。网络传播这种海量性和开放性的完美结合,大大拓展了人们选择和利用信息资源的内容和范围,真正实现了在全球范围内的“信息共享”。各种信息和不同文化通过互联网交流、沟通、对话、碰撞、互相融合和取长补短,促进了社会文化的多元整合和人类的文明进步。 (2)空前的强时效性: 任何传播都是在一定的时间和空间中进行的,时效性是网络传播最突出的特点。在互联网出现以前,传统媒体在传播的时效性方面虽然做了很多的改进,如尽可能缩短报纸的采写、编辑、印刷和发行的时间,电视上开办24小时滚动播出的新闻频道等等,但传统媒体作为专业的传播机构,必须由专业人士来运作,采集、制作和发布信息的成本较高,且有一套较为复杂的流程,因此要做到随时随地对新闻事件进行实时报道几乎是不可能的。而基于计算机技术、多媒体技术、网络技术的网络传播具有方便快捷,时效性强的特点,在任何地方、任何时间发生的事件,只要有一台计算机和一条电话线,就可以在第一时间内将“新近发生的事实”传播出去,实现“我见即你见”。互联网的运用,大大加快了信息传播的速度,使人们能够更加迅速地了解周围世界发生的新情况、新经验、新问题,帮助人们消除对事物认识的种种不确定性。它不但极大减少了信息在传播过程中的衰减和失真,降低了信息传播的成本,而且对社会的政治、经济、文化的发展起着直接的促进作用。 (3)多媒体功能: 互联网从本质上讲是一种多媒体的综合性的信息平台。所谓多媒体,就是利用计算机技术把文字、图形、声音、静态图像、视频动态图像和动画等多种媒介形态综合一体化,使之成为逻辑连接,并能对其压缩、编码、编辑、加工处理、存储和展示的信息产品。换句形象

网络传播复习要点

网络传播课复习要点 ★网络群体传播的特点: 1、成员身份公开性与匿名性并存 2、重新赋权 3、群体压力程度与成员对群体的认同度有关 网络中的组织传播分类: (1)内联网:主要实现组织内的传播 (2)互联网:主要实现组织外的传播 ★内联网与组织传播 1、内联网可以实现的功能主要有: Web、电子邮件、公告板、论坛、短信、ftp等 2、内联网给传统组织传播带来的影响: (1)内联网改变了传统的组织结构,实现了信息的共享 使组织的结构由“金字塔”式变为“网络式”。 (2)内联网改变了组织成员间的交流方式 在互联网上,组织宣传活动主要是以建立网站的形式展开。 与传统的宣传活动相比,网络宣传具有以下特点: 1、组织在宣传活动中可以更好地掌握主动权 2、组织的网络宣传活动的效果,很大程度上取决于其网站的影响力 ★网络虚拟社会的特点: (1)自由性 (2)开放性 (3)虚拟性(虚拟实在是指在效果上,而不是在实质上)。 (4)非人性化 ★互联网的雏形是阿帕网(ARPAnet)于1969年诞生于美国 ★1998年5月联合国新闻委员会正式确认网络是“第四媒体”。 ★网络传播其实就是指通过计算机网络进行的人类信息(包括新闻、知识等信息)传播活动。 ★网络传播的优点: (一)更具经济性。 (二)更具保存性。 (三)更具检索性。 (四)更具互动性。 ★网络传播细可分为网络人际传播、网络群体传播、网络组织传播、网络大众传播 网络人际传播是指个体间借助计算机和互联网,以文字和网络符号为主要手段所进行的传递信息、交流情感的传播活动。

★网络人际传播主要可分为同步与非同步的两大类型。 (一)、非同步网络人际传播 非同步(nonsynchronous)交流主要是通过电子邮件(E-mail)、电子公告牌(BBS)进行的。 (二)、同步网络人际传播 同步(synchronous)即通过网络实时的交流空间进行的人际交流。其基本形式有Web聊天、聊天软件(ICQ、OICQ)和互动游戏等形式。 网络作为人际传播平台时,受众的心理包括: 1、要求被认同的心理; 2、渴望交流的心理; 3、代入的心理(指受众无力实现却又想获得虚幻满足的心态); 4、逃避心理; 5、自我表露与隐匿; 6、网上印象与表演; 7、求“异”思维与情感诉求。 ★网络人际传播的特点: 1.网络人际传播是一种以文字交流为主的传播。既挑战语言文字,又挑战交际策略。2.网络人际传播具有广泛性。 3.网络人际传播常常具有偶然性。 4.网络人际传播具有匿名性。 5.个体在网络人际传播中具有多重性。 网络人际传播的利用: (一)个体对网络人际传播的利用 1.网上积极的人际交流,能扩展人们的交际范围与能力,增加不同地域、不同文化背景的人们的交流机会。 2.网上人际交流如E-mail可以有效地提高工作效率。 3.网上交流,在一定意义上,可以缓解人们的现实生活压力,调节心情。有时可起到心理治疗的作用。但滥用则可能带来相反的效果。 (二)新闻传播与人际传播 1.E-mail或聊天,可以成为一种采访手段。 2.通过E-mail这种方式,来加强读者与编辑之间的交流。 3.通过聊天室来加强读者之间、读者与专家之间、读者与名人之间、读者与报道对象之间或读者与记者编辑之间的交流。 4.传统媒介可以利用网络人际传播,加强传播效果。例如在广播电视直播节目中,开通聊天室或BBS。 ★网络群体的形成途径: (1)将物理世界已经存在的群体复制到网上:班级 成员相对固定、交流模式变化不大、稳定性较强、具有一定的排外性等等 (2)通过网络形成的新群体:红客联盟、论坛里面、网络同居等 来源面宽、流动性大、稳定性不够、易消失等

试比较作为大众传播媒介的网络传播媒体与广播电视媒体的异同精编版

试比较作为大众传播媒介的网络传播媒体与广播电视媒体的异同 一、大众传播媒介释义 大众传播媒介是指在信息传播过程中处于职业传播者和大众之间的媒介体。指复制、传递信息的机械和传播组织、团体及其出版物和影视、广播节目。二、网络传播媒体释义 是一种互动性强的新兴媒体一定的组织或个人,在以计算机为核心的各种多媒体交互式数字化信息传输网络上,建立的提供各种新闻与信息服务的相对独立的站点。 三、广播电视媒体释义 包含广播和电视等多个方面的组合,是现代生活的的精神文化 四、大众传播媒介的网络传播媒体与广播电视媒体的异同比较 (一)不同点:(1)网络传播媒体:随着信息技术的不断发展,互联网的不断普及,网络传媒在大众传播媒介中的作用日渐凸显。相较于传统媒介来说,网络媒介凭借其独特的优势在大众传播中异军突起。时代的发展和社会的进步,人们对新闻信息的时效性、个性化、多角度、深入性等方面要求越来越高。现实表明,传播媒介之间的竞争,正是满足受众需要、获取更多受众竞争。网络媒介可以随时随地把信息传输给用户,与传统的单项传播不同,各种信息平台上的信息传输是双向的,快速便捷,具有较强的互动性。 以湖南卫视的网络传播媒介芒果TV为例成功的原因: ①节目资源丰富优质。芒果TV直播频道拥有以湖南卫视、湖南经视、金鹰 卡通和青海卫视等20个频道提供实时同步节目内容直播。 ②多种平台的技术支持。作为广播电视新媒体,数字电视、手机电视和互 联网电视技术的飞速发展,为芒果TV进行多平台的资源共享提供了良好 的平台支撑。 ③对湖南卫视节目资源的深度加工。芒果TV借助湖南卫视的东风对湖南广 良性循环。 ④创新广告运营模式。网络电视台的平台优势使得芒果TV在广告运营方面 具有得天独厚的优势,分为网站页面广告投放和网络视频广告投放。

相关文档
相关文档 最新文档