如何查看C语言,内库的源代码?

如何查看C语言,内库的源代码?,第1张

如果是“.cpp”文件并且有VC++的环境,可直接双击文件打开或者先打开编译环境,在新建一个控制台下的源文件,然后轮笑,选择file菜单下的open找到你的文改镇件导入,然后编译运行;如果是其他格式的,如txt文件,也可先打开编译环境,新建核桐粗一个控制台下的源文件,然后直接复制粘贴进去,然后编译运行;

便已运行的 *** 作如图:

__cplusplus 是 C++ 编译器内迟尺衡置的宏

当使用 C++ 编译码做器的时候,这会起作用

代码中加上 extern "C"

可以防止函数名称按 C++ 规则而加入一些 @@$$?? 之类的

按 C 规则生成最后的困中符号

当然这都是用 C++ 编译器的问题,用 C 编译器则完全不用理

一般有4种方法:

1)DLL挂靠大发

程序改写为DLL结构,挂靠Explorer.exe上运行

好处:没进程实体,普通进程查看无效

缺点:可以通过代码叫Explorer.exe Unload你的Dll,呵呵,还有Explorer出错时,会重新启用,那个时候需要重新挂靠你的DLL

改进:用Debug权限挂靠WinLogon.exe,哈哈,安全系数就高很多,WinLogon死了,你也就死机了

LYSoft主页的http://ly.activepower.net/projects/No Ctrl+Alt+Del.rar是DLL挂靠方法的例子,修改就可用

2)API Hook大发

关闭程序的实质是什么?TerminateProcess的API!

只要你的Application.Title:=‘’就不会出现在任务管理器的第一页

第二页会出现的,但不怕,我Hook了TerminateProcess就可以保证安全了

TerminateProcess可以Hook?可以,但Hook了没用,Handle是未知的

因此实质上要Hook的是OpenProcess,只要是我的进程就拒绝打开

好处:不怕你见的到,你就是关不了我

缺点:CMD下的命令行方法Hook不到

改进:能够Hook系统服务就一定可以,可惜难度大,需要编写驱动

LYSoft主页的http://ly.activepower.net/projects/API Hook.rar是API Hook方法的例子,修改就可用

3)NT内核修改大发

修改NT系统内核对象PsLoadedModuleList上的ActiveProcessLink链表就可以在系统上“失踪”了,但实现这个功能需要驱动支持,没驱动的方法只能适合XP/2003,因为Nt5.1以上的ZwSystemDebugControl API才能支持内核访问

好处:你怎么都见不到进程的

缺点:难度过大埋历,用内核工具仍然可以看见的,很多RootKit木马就用这个方法的

改进:几乎是终极大法,没什么别的好方法了。

LYSoft主页的http://ly.activepower.net/projects/NTLowLevel.exe是演示程序,不提供代码,涉及技术机密,不便奉告

关键代码如下

function HideProcess: boolean

label Err

var

EProcess : DWord

hPM, FLink, BLink: Cardinal

begin

Result := false

EProcess := GetCurrentEProcess

if EProcess <1 then Exit

if not ReadVirtualMemory(EProcess+$88, @FLink, 4) then Exit

if not ReadVirtualMemory(EProcess+$8C, @BLink, 4) then Exit

if not WriteVirtualMemory(FLink+4, @BLink, 4) then Exit

if not WriteVirtualMemory(BLink, @FLink, 4) then Exit

Result := true

end

不要问为弯凳搜什么了,你需要NTDDK的知识才能明白的粗此:)

4)远程线程大发

没有实体的存在,没进程,没DLL,只有代码

把代码直接注入进程空间VirtualAllocEx,用CreateRemoteThread运行,

好处:没可见的实体,隐蔽性最强

缺点:适合于简单代码,复杂的难以保证其可靠性和稳定性,病毒的最爱

改进:不需要什么了

这个没演示了,呵呵:)

注入某个进程空间,要涉及到API定位等一系列病毒式 *** 作,在对方的身体运行呀

简单的代码可以,复杂的功能就很不适合,一般的程序根本就不适合,所以除非写病毒,否则不建议用这样的方法,因为连调试都变得很难


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12271433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存