预览模式: 普通 | 列表

学习汇编的重要意义!!  

几日前,在一位仁兄的blog里看到如下一番话:其实我发现中国的教育还是有很大问题的,你们得让你们的学生认识到这门课的作用啊,有些师兄说到出去工作了才发现汇编的作用。 
  我觉得值得庆幸的是这位仁兄在在校期间的学习中及时地意识到了汇编的重要性,并做出了正确的选择。然而这位仁兄提到的“老师没有让学生认识到汇编的重要性”和“有些师兄工作了才发现汇编的重要性”这些在计算机专业教育中存在的客观事实,再次让我心情沉重! 
  为了让更多的计算机学习者意识汇编语言的重要性,我就抛砖引玉,发表一下对汇编语言的理解,希望能够让更多的计算机技术的学习者对汇编语言的作用有一个正确的认识。 
1.汇编语言 
  汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最最接近本质的语言。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约,指令操作更直接,从汇编开始学习更符合循序渐进的学习原理!所以,对于计算机技术初学者或者自学者,汇编语言重要性无可替代! 

查看更多...

分类:智慧人生 | 固定链接 | 评论: 1 | 查看次数: 5168
Writer:yykingking

 Rk always use HOOK important functions to hide something , and some ARK first recover these hookers ( common by harddisk files) and then call the function.
And this is another way to HOOK in the kernel by DRX register. About the DRX register ,you can google it, there should be much info. So i only post some simple code next because of my poor english, if you know chinese, you can get the comment. 

查看更多...

分类:内核探究 | 固定链接 | 评论: 0 | 查看次数: 6186

XDE反汇编引擎源代码

网上流传的一个代码,能看懂的自己看吧。主要用到一下几个文件。
、、、、、

文件名:xde.c

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 9353

四个人的故事(看了,你终生决不后悔)

请照主旨之顺序读:
1》误会;2》钉子;3》且慢下手;4》宽大。

1》误会:
早年在美国阿拉斯加地方,有一对年轻人结婚,婚後生育,他的太太因难产而死,遗下一孩子。

查看更多...

分类:智慧人生 | 固定链接 | 评论: 1 | 查看次数: 5260

手工加载exe到内存(loadEXE.cpp)

//*******************************************************************************************************
// loadEXE.cpp : Defines the entry point for the console application.
//
// Proof-Of-Concept Code
// Copyright (c) 2004

查看更多...

Tags: 代码 文件 pe 格式 添加

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 7258

进程防注

只给出一个代码有兴趣的朋友自己测试一下


BOOL Lock_CurrentProcess()
{

查看更多...

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 5389

内核钩子实例 

#include <ntddk.h>
#include <ntimage.h>

#pragma pack(1)
typedef struct ServiceDescriptorEntry {

查看更多...

分类:内核探究 | 固定链接 | 评论: 0 | 查看次数: 9058

Rootkit技术之内核钩子原理


总是离不开系统内核所提供的服务,比如它要使用内存的时候,只要跟操作系统申请就行了,而不用自己操心哪里有空闲的内存空间等问题,实际上,这些问题是由操作系统的内核来代劳的。站在黑客的角度讲,如果能够控制内核,实际上就是控制了内核之上的各 
一、系统调用表 

系统调用表又称系统服务表或者服务描述符表,是Windows 内核在进行各种系统操作时所需的一个函数指针表。也就是说,这个表中存放的是提供系统服务的各种函数的地址。当然,该表所指向的都是系统自身的一些函数,但是,如果我们对它做了手脚后,就可以让它指向我们自己的函数。这正是本文要讲解的重点。 

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 5264

不用驱动进入内核模式

不用驱动进入内核模式并且利用APIC得到中断的信息
说明:原文地址 http://www.codeproject.com/system/soviet_kernel_hack.asp
转载请说明译者:WH  QQ: 19552451,  QQ Group: 5497193
介绍:
尽管使user-mode的应用程序进入kernel绝对是一件令人激动的体验,但是这已经不是什么新鲜事了/还有很多事情我们从未听说过。Matt Pietrek是第一个完成这件事的人(许多年前他在windows95上做过了)。他的技术后来被Prasad Dabak, Sandeep Phadke和 MilindBorate修改了一下用到了windows NT上。为了从一个应用程序进入kernel,其中一个方法是去调用全局描述表(Global Descriptor Table(GDT))中的门调用描述符(call gate descriptor),所以一个应用程序能够通过门调用进入kernel。然而一旦 user-mode代码不允许进入GDT,上面作者使用的kernel-mode 驱动就是为了去调用一个描述门。那么,有个很合乎逻辑的问题会被提出,如果你始终需要用一个驱动来起作用那么离开驱动来实现这个功能其最关键的是什么?毕竟,用驱动的方法仅仅是达到了这个目的,难道你不认为吗?

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 6666

进程创建和映像装入 windows 

关于Windows的进程创建和映像装入的过程,“Microsoft Windows Internals 4e”一书的第六章中有颇为详细的说明。本文就以此为依据,夹译、夹叙、夹议地作一介绍。书中说,创建进程的过程分成六个阶段,发生于操作系统的三个部分中,那就是:Windows客户端即某个应用进程的包括Kernel32.dll在内的动态连接库,Windows的“执行体”、即内核(确切地说是内核的上层),以及Windows子系统的服务进程Csrss中。这六个阶段是:
    1. 打开目标映像文件。
    2. 创建Windows的“执行体进程对象”,也就是内核中的“进程控制块”数据结构。
    3. 创建该进程的初始(第一个)线程,包括其堆栈、上下文、以及“执行体线程对象”,即内核中的“线程控制块”数据结构。
    4. 将新建进程通知Windows子系统。

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 6375

进程控制块pcb

进程控制块(Process Control Block)存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。


在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也不一样,通常PCB应包含如下一些信息。

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 6292

存储管理的基本原理

1 内存管理方法
内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。

下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 5460

windows下堆溢出的几种利用方式

1.利用RtlAllocHeap 
这是ISNO提到的,看这个例子 
main (int argc char *argv[]) 

char *buf1 *buf2; 

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 5605

ms09002漏洞分析

绿盟公告:
Internet Explorer的CFunctionPointer函数没有正确地处理文档对象,如果以特定序列附加并删除了对象,
就可以触发内存破坏,导致以当前登录用户的权限执行任意代码。

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 5861

简析内存分页机制

其实分页机制并不复杂,无论关于cpu的技术文章还是操作系统技术的文章都会提到分页机制,这是一种虚拟存储器的实现方法。 
        虚拟存储器的思想是程序、数据和堆栈的大小都有可能超过物理内存大小,由操作系统把当前使用的放在内存,而不需要的放在磁盘。 
        而绝大部分操作系统使用的虚拟存储器技术就是分页技术。 
        在虚拟存储器中,程序所产生的地址为虚拟地址,虚拟地址构成了虚拟地址空间。(当然了在没有虚拟存储器的系统上,程序产生的地址就是物理地址。其实程序并不知道,只是操作系统和处理器知道。下面都是按照使用虚拟存储器的系统来说)这些虚拟地址通过MMU(内存管理单元)映射为物理地址。 
        采用分页机制的系统,虚拟地址空间以页面为单位进行划分,虚拟地址空间会被划分成多个等大小的页面。物理地址空间也按页面为单位进行划分每一块成为页帧,或者页框。每一虚拟页面可以随意对应到物理页框,也可以对应到磁盘的页面文件的上。 

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 6917

进程防注

BOOL Lock_CurrentProcess()
{
   HANDLE hProcess = ::GetCurrentProcess();
   SID_IDENTIFIER_AUTHORITY sia = SECURITY_WORLD_SID_AUTHORITY;
   PSID pSid;

查看更多...

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 6223

中文域名在谷歌搜索优化有优势吗?

 到目前为止,很多人都只停留在欣赏中文域名的阶段,当我接到客户的新网站的同时也在问:要不要给客人使用中文域名。很长时间,国内站长都在讨论:中文域名的优势到底在哪?浏览器的支持,搜索引擎的收录,等等问题接踵而至。但我们可以从以下几个例子可以看出:其实中文域名还是有不少优势的,而且谷歌Google搜索引擎已经成功将中文域名纳入收录对象。 
  通过搜索教育电视台的“师说”栏目,你可以在谷歌上寻找数页之后,发现www.师说.cn。再用"site:"语句来查询收录情况,你会发现,只有首页被收录,同样的道理,你在yahoo,中文老大百度上面去搜,却无法发现中文域名的影子。难道说这是一道技术门槛?谷歌先行出击,技术过硬,这一点我们从来不予怀疑,今天我们只说一下中文域名在搜索引擎上的表现状况。

  谷歌搜索引擎上看到的中文域名

查看更多...

分类:智慧人生 | 固定链接 | 评论: 1 | 查看次数: 4751

PEB获取GetProcAddrees函数地址

1.fs寄存器指向TEB结构
2.在TEB+0x30地方指向PEB结构
3.在PEB+0x0C地方指向PEB_LDR_DATA结构
4.在PEB_LDR_DATA+0x1C地方就是一些动态连接库地址了,如第一个指向ntdll.dll,第二个就是kernel32.dll的地址。
其结构示意图如图

查看更多...

Tags: 溢出 缓冲区

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 8164

写给计算机专业的大学生

admin:过几天我也要去大学读书了,读的也是这个专业,当作勉励一下自己拉。

首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。

   进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。这就是中国计算机人才下一代的悲哀!

查看更多...

分类:智慧人生 | 固定链接 | 评论: 2 | 查看次数: 5119

常用sql注入语句

检测可否注入

http://127.0.0.1/xx?id=11 and 1=1 (正常页面)

http://127.0.0.1/xx?id=11 and 1=2 (出错页面)

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 6208
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭