- 博客(627)
- 资源 (50)
- 收藏
- 关注
原创 gcc源代码分析的方法【总结】
看gcc-1.40有段时间了,14年左右看了一段时间,15年左右看了一段时间。现在可以说基本上明白了gcc的大部分代码。如果说能快速的明白其中的原理,总结我看代码的方法捷径我列举以下几条。第一,gcc版本低,这是成功的前提,也是一条捷径。第二,分析最基本的hello.c文件,就一条函数调用,但是已经足够。第三,发现了debug_rtx ()函数和debug_tree ()函数。
2015-01-09 19:35:38 3775 1
原创 linux-0.11硬盘集成盘的制作方法
2014年1月9日 by chenghao0511@gmail.com制作方法:把bootsect 替换 原来的makedd bs=8192 if=Image of=/dev/hd5 c h s 60 16 63之后需要更改img的分区表,需要你先备份然后再拷贝回去0x1BE到0x1CF是这个分区1的数据001231048165041E2C01000031750
2014-01-09 20:06:02 2489 2
原创 关于 bison源代码分析--gcc源代码分析之语法分析部分 的说明
已经出版的相同选题的书:LEMON语法分析生成器(LALR(1))源代码情景分析 Bison是bash的语法分析器是gcc的语法分析器。Linux其实是有三部分组成。第一部分,内核(oldlinux论坛已有讨论和linux内核完全注释等专著)。第二部分,gcc编译器,其中代码中最难也是最精彩的就是语法分析部分,靠的也是bison。第三部分,bash,bas...
2013-12-26 08:17:34 3412 1
原创 nc的一个bug,nc ip port -e cmd.exe 命令后ctrl+c后不会关闭连接[已解决]
nc112.rar by chenghao0511#gmail.com现象是nc ip port -e cmd.exe一端的cmd.exe没有销毁。nc -lp port的一端nc输入没有反应。需要ctrl+c结束。doexec.c里面的一段:BOOLdoexec( SOCKET ClientSocket
2013-04-20 13:13:15 3604
原创 linux-0.11调试教程,minix-386-fd0-by-chenghao0511,最小的操作系统,只有360k。
http://pan.baidu.com/share/link?shareid=269130&uk=453348606minix-386-fd0-by-chenghao0511,最小的操作系统,只有360k。CSDN下载地址:minix-386-fd0-by-chenghao0511,最小的unix操作系统需要下载Bochs,下载安装后。解压下载的文件,直接
2013-02-06 23:55:13 4647 44
原创 linux-0.11调试教程,源起,从linux内核完全注释的几处错误说起
本系列文章调试linux-0.11,大部分都是一些新内容,小部分是对代码的一些印证。 另写了一些调试工具,比如readizone,readblock,readinode这些工具对学习linux-0.11操作系统很有帮助。当然还需要stat和hexdump工具的配合。 fdisk for linux-0.11 开始到-13/3/15的文章
2013-01-15 11:32:14 4779
原创 winlogon!InitializeGlobals函数中的g_IsTerminalServer
winlogon!InitializeGlobals函数中的g_IsTerminalServer,typedef enum _SUITE_TYPE { SmallBusiness, Enterprise, BackOffice, CommunicationServer, TerminalServer, SmallBusinessRestricted, EmbeddedNT, DataCenter, SingleUserTS, P
2024-12-17 18:58:43 427
原创 OSF_CCALL::ActivateCall断点函数分析之三处关键赋值特别是CallId
OSF_CCALL::ActivateCall断点函数分析之三处关键赋值特别是CallId
2024-12-16 15:09:52 597
原创 NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用
NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用
2024-12-14 09:07:17 873
原创 services.exe的主函数SvcctrlMain函数中ScesrvInitializeServer函数的的作用
services.exe的主函数SvcctrlMain函数中ScesrvInitializeServer函数的的作用
2024-12-11 16:45:02 420
原创 KeServiceDescriptorTableShadow和KeAddSystemServiceTable函数的关系
KeServiceDescriptorTableShadow和KeAddSystemServiceTable函数的关系
2024-11-19 10:42:30 706
原创 tftpd的前半生和tftpd的后半生
tftpd的前半生第一部分:主要是RtlpStartThreadpoolThread函数位置:[d:\srv03rtm\base\ntos\rtl\worker.c @ 520]创建线程,startaddress为RtlpWorkerThreadtftpd的后半生主要是运行RtlpWorkerThread线程里面的RtlpApcCallout函数Function(Status, Context1, Context2) ;
2024-11-05 15:51:16 632
原创 Tftpd.exe源代码分析----TftpdIoPostReceiveBuffer函数分析
Tftpd.exe源代码分析----TftpdIoPostReceiveBuffer函数分析
2024-10-23 19:04:39 811
原创 tftpd.exe源代码分析第一篇get 2.txt
tftpd.exe源代码分析第一篇get 2.txt第一部分:TftpdIoCompletionCallback函数调用TftpdProcessReceivedBuffer函数第二部分:TftpdProcessReceivedBuffer函数调用TftpdReadRequest函数第三部分:TftpdReadRequest函数调用TftpdContextAquire函数和然后调用TftpdContextAllocate函数
2024-10-21 20:57:51 354
原创 xxxCreateWindowEx函数分析
xxxCreateWindowEx函数分析xxxShowWindow(pwnd, sw | TEST_PUDF(PUDF_ANIMATE));
2024-10-13 17:11:28 646
原创 xxxRealInternalGetMessage分析之While循环分析----后传第二部分win32k!xxxDoPaint函数分析
xxxRealInternalGetMessage分析之While循环分析----干货第二部分win32k!xxxDoPaint函数分析
2024-10-09 17:24:54 504
原创 OutputDebugString函数分析
此函数允许应用程序将字符串发送到其调试器用于显示。如果应用程序未被调试,但系统调试器处于活动状态,系统调试器将显示字符串。 否则,此功能无效。
2024-10-05 17:01:09 1078
原创 MMain函数定义为WinMain函数看port1632.h和pwin32.h文件
MMain函数定义为WinMain函数看port1632.h和pwin32.h文件
2024-09-25 20:31:35 247
原创 遍历9个格子winmine!StepBlock和遍历8个格子winmine!StepBox的对决
++i 返回加1后的值,碰到X1Y7cBombs等于0,所以++iStepMac等于2 if (++iStepCur != iStepMac)成立所以会遍历8个格子。其他情况iStepMac等于1,++iStepCur等于1,直接返回了。所以会到X1Y7的时候会遍历8个格子。X0Y6 X1Y6 X2Y6X0Y7 X3Y7X0Y8 X1Y8 X2Y8返回,继续遍历第五个格子X2Y7
2024-09-23 16:42:12 584
原创 扫雷windbg调试X3Y8位置
先遍历完8个部分后,在向下一层递归 x = rgStepX[iStepCur]; y = rgStepY[iStepCur];遍历的时候遇到周围有0个雷的时候iStepMac会加一。
2024-09-23 10:26:29 908
原创 扫雷源代码gcc通过
/存放排查出的雷的信息用于显示。//存放布置好的雷的信息。上面两条处理后可以在vs2019里面编译通过。#include <stdlib.h>去掉。scanf改为scanf_s。//坐标位置雷的个数。
2024-09-19 23:14:32 668
原创 csrss源码分析
csrss源码分析winsrv!TerminalServerRequestThreadwinsrv!NotificationThreadCSRSRV!CsrApiRequestThreadCSRSRV!CsrSbApiRequestThreadwin32k!RawInputThreadwin32k!xxxDesktopThreadwinsrv!Win32CommandChannelThread
2024-09-13 21:10:29 353
原创 win2003_prepatched_v6b有效期到2021年4月2日,所以编译win2k3会有错误
openssl 查看证书pfx过期时间win2003_prepatched_v6b有效期到2021年4月2日,所以编译win2k3会有错误要使用OpenSSL查看PFX(也称为PKCS#12)证书的过期时间,你可以使用以下命令:openssl pkcs12 -in your_certificate.pfx -nokeys -passin pass:YourPassword | openssl x509 -noout -dates
2024-09-08 21:36:37 407
原创 xxxRealInternalGetMessage分析之While循环分析----干货
xxxRealInternalGetMessage分析之While循环分析----干货
2024-09-02 10:49:20 896
原创 揭秘gapfnScSendMessage数组大部分都是NtUserMessageCall
揭秘gapfnScSendMessage数组大部分都是NtUserMessageCallclient/clmsg.c里面的RealDefWindowProcWorker函数里面大量调用了CsSendMessage函数第一部分B:client/usercli.h文件里有CsSendMessage函数的宏定义#define CsSendMessage(hwnd, msg, wParam, lParam, xParam, pfn, bAnsi) \ (((msg) >= WM
2024-08-31 20:51:07 406
原创 PsConvertToGuiThread函数调用前传
第一部分:位置ch@chenghaodeiMac base % grep "Kss_ErrorHandler" -nr ././/ntos/ke/i386/trap.asm:1026:Kss_ErrorHandler:.//ntos/ke/i386/trap.asm:1220: jae Kss_ErrorHandler ; if ae, try to convert to GUI thread第二部分:指定的系统服务号不在范围内。尝试转换为
2024-08-25 15:44:31 744
原创 InputApc()函数是如何调用ProcessKeyboardInput()函数的?
InputApc()函数是如何调用ProcessKeyboardInput()函数的?
2024-08-20 19:05:05 931
原创 设备驱动里面调用了IoCallDriver()函数
设备驱动里面调用了IoCallDriver()函数文件位置:Win2K3/drivers/input/mouser/io.cSerialMouseReadComplete ()函数和SerialMouseStartRead ()函数
2024-08-17 12:05:13 849
原创 IRP的结构
因此,唯一可以使用Not I/O的驱动程序是直接从I/O管理器输入的驱动程序,上面没有中间驱动程序,并且可以在调用过程的上下文中处理(通常是完成)I/O操作。因此,对于指向两个驱动程序堆栈的I/O请求,I/O管理器将尝试使用具有三个I/O堆栈位置的IRP后备列表中的一个IRP。然而,它可以被任何类型的驱动程序使用,这些驱动程序希望在用户缓冲区和外围设备之间直接传输数据,而不需要重新拒绝数据的开销(就像缓冲区I/O的情况一样),也不必在调用过程的上下文中执行传输(就像两者都没有I/O的情况那样)。
2024-08-17 06:54:40 490
原创 IopfCompleteRequest函数代码分析
·确定此I/O请求是否是一个要在发起者线程环境中完成的同步I/O,若是,则IopfCompleteRequest 函数立即返回,而由该I/O请求的发起者来完成它。在这种情况下,当前线程必定是发起者线程,因而可以避免使用APC机制来通知完成,从而消除了由APC机制带来的额外开销(包括软中断、处理器的线程切换等)。注意,发起者线程需要调用IopCompleteRequest函数,以进一步完成此I/O请求,读者可以参考IopSynchronousServiceTail函数中IoCallDriv
2024-08-15 22:19:47 573
netcat.dll(UDP版) by chenghao0511
2013-05-20
netcat 1.15-3 by chenghao0511
2013-05-16
netcat 1.15-2 by chenghao0511
2013-05-14
netcat 1.142 by chenghao0511
2013-05-05
netcat 1.14 by chenghao0511
2013-05-03
samba rpm包 for centos-5.5
2013-03-25
bash 1.05 by gcc-1.40 in minix-386 第二版
2013-02-23
fdisk-by-chenghao0511 for linux-0.11
2013-02-16
readinode for linux-0.11 by chenghao0511
2013-02-15
readblock for linux-0.11 by chenghao0511
2013-02-15
isbn十位转13位.xlsx
2020-05-09
cute http file server 开发API
2018-11-01
Prime numbers and the Riemann zeta function.by Jørgen Veisdal
2018-03-27
initramfs-tools_0.103
2015-01-29
linux-0.11硬盘集成盘14年1月9日by chenghao0511
2014-01-09
调试shoelace的winiboot所需的img文件
2014-01-08
readline used in linux-0.11 made in minix
2014-01-04
linux-0.11内核文件备份
2014-01-03
TUTORIAL FOR INSTALLING MINIX-386
2013-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人