自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 收藏
  • 关注

原创 YJX基础66 多线程与临界区 重点

// 线程关键区五人抢厕所.cpp : 定义控制台应用程序的入口点。// 5个线程进行存尿和上厕所的循环。厕所(临界区)同一时间只能一人用。//每个线程上完5次厕所即结束本线程#include "stdafx.h"#include <windows.h>#include<time.h> //为了用time(0)当随机种子//定义临界区对象CRITICAL_SECTION bathroom;DWORD WINAPI seize_bathroom(L...

2021-08-29 15:58:07 137

原创 YJX基础65 键盘指示灯

// 检测numlock状态.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"windows.h"int main(){ printf_s("get into main \n"); bool num_light_on = ((GetKeyState(VK_NUMLOCK) & 1) != 0); //GetKeyState的高位表示此键是否按下 低位表示指示灯状态 if (num_light_on)...

2021-08-28 20:01:45 206

原创 YJX基础65 进程管理

// 关闭进程B.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include <windows.h> //为了用 DWORD OpenProcess 等#include<tlhelp32.h> //为了调用 CreateToolhelp32Snapshot函数BOOL myKillProcess(DWORD ProcessId);DWORD GetProcessID(const char *ProcessName);...

2021-08-28 17:46:07 149

原创 YJX基础64 用Active启动

1在注册表中添加路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{E92B03AB-B707-11d2-9CBD-0000F87A369E}在此位置StubPath写入自启动程序A的完整路径此时重启,程序A会运行。再次重启,程序不会运行。原因 重启后系统会建立克隆键值2在注册表中删除克隆键值HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setu

2021-08-28 12:36:03 102

原创 YJX基础64 注册表自启动

注册表是启动程序藏身之处最多的地方,主要有以下几项: 1.Run键 Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_ USER\Software\Microsoft\Windows\CurrentVersion\Run]和[HKEY_ LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],其下的所有程序在每次启动登录时都会按顺序自动执行。 还有一个不被注意的Run键,位于注册...

2021-08-28 11:10:42 88

原创 YJX基础62 手动后门

cmd命令 查看端口状态netstat -an

2021-08-27 18:08:33 61

原创 YJX基础63动态数据链接库dll

1 VS->win32console->dll 空项目 ex->完成创建一个ex.c文件__declspec(dllexport) int myadd(int a,int b){ return a + b; }编译此时会生成 ex.lib ex.dll两个文件(在debug文件夹中)关闭项目2 新建win32console exe 项目im新建一个im.c文件#include<stdio.h> #pragma...

2021-08-27 18:02:39 96

原创 YJX基础59 简易UDP通信

发送端// UDP_B_发送端.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdio.h>#include <winsock.h>#pragma comment(lib, "Ws2_32.lib")//void handle_error(void); /* Error handler routine */int main(){ printf_s("进入main函数,请...

2021-08-26 19:18:08 135

原创 YJX基础58 网络基础知识

物理层 10101100数据链路层该层将不可靠的物理信道处理为可靠的通道该层的数据单元为帧(frame)IEEE标准将该层又分为介质访问控制层(MAC)和逻辑链路控制层( LLC )介质访问控制确定共享介质环境(冲突域)中的计算机哪一台可以发送数据的协议。网络层将网络逻辑地址转换成物理机器地址: IP=>MAC。决定服务质量(如消息的优先权), ...

2021-08-25 20:51:21 84

原创 YJX基础48 没啥

一个补全函数参数的技巧:int WINAPI WinMain() //光标放在小括号内,按下tab键,会自动补全4个参数{}本节课的内容是创建一个Win32 Application程序很繁琐。手动设置各种窗体参数 各种消息处理函数...

2021-08-25 18:50:25 64

原创 YJX基础44 __declspec(naked)

(在写驱动时)如果函数前不加__declspec(naked)编译时编译器会自作主张补上栈移动和return,这样会破坏栈平衡void __declspec(naked) NTSTATUS _MyNtGetThreadContext(HANDLE hThread, PCONTEXTpcontext){ __asm{ jmp dword ptr[g_NtGetThreadContext] //...

2021-08-25 11:40:45 2379

原创 YJX基础36 汇编指令集

在c中添加汇编的方法:int a,b;__asm{ mov a,3; mov b,4;}数据传送指令movpushpopXCHG交换算术指令ADD 加SUB 减INC 加1DEC 减1NEG 取补(相反数)逻辑运算指令and or xor not test跳转指令cmpjmpjne...短循环指令loop 通常看不到此指令。只有手写汇编时才会...

2021-08-25 10:55:27 107

原创 vcYJX基础4.VC集成环境编译方式的区别

本节课讲了debug和release两种发布方法F10单步步过 F11单步步入本人用vs2015仿照视频实测进入main函数后的地址:00C517A0准备call printf时的地址:00C517C3被call的地址:0C5131Bh相关源代码:int main(){ int a, b, c; printf("helloworld!\n"); a = 1; b = 3; c = 9; _gettch(); return...

2021-08-24 19:00:06 402

原创 vcYJX基础3.用CL.exe编译C程序

12323123123123123123

2021-08-24 17:08:55 198

原创 2021-04-17 非对称加密为什么不能用公钥解密?

非对称加密为什么不能用公钥解密?因为加密过程中的一步使用了模运算,模运算是不可逆的23%3=2 但是由2和3是无法逆推回23

2021-04-17 08:17:44 552

原创 2021-04-11 局域网访问apache 表单

如何在局域网中访问我的apache?httpd.conf找到onlineoffline tag - don’t remove,将原来的Require local替换为Require all granted;===========================================================主页面<form action="c1.php" method="post" name="form1">名字:<input type=...

2021-04-11 23:14:36 130

原创 2021-04-10 php操作数据库

<?php//选择数据库文件$host ="127.0.0.1"; //mysql地址$username="root";$password="";$dbname="db_study"; //数据库名字$tablename="tb2"; //表名echo"现在开始尝试连接mysql"."<br>";if($connID= mysqli_connect($host,$...

2021-04-11 23:07:22 158

原创 2021-04-09 第二次配置wamp 开始php mysql

第二次配置wamp=============以下内容来自网页https://www.cr173.com/soft/259379.html=============11、左键单击,再点击“www 目录”会打开安装wampserver默认存放网页文件夹,但是很多时候,我们存放网页的文件夹并不是在那个目录下的,怎么才能改掉这个目录呢?当然有办法,打开wampserver的安装目录,在打开里面的“script”文件夹,用记事本打开里面的config.inc.php,找到“$wwwDir = $c_insta

2021-04-09 10:24:28 105

原创 2021-04-08 初次phpmyadmin

初次phpmyadmin这个phpmyadmin的安装过程有点迷糊,莫名其妙就装成功了步骤1 从phpmyadmin官司网下载 解压后 把内容转移到 H:\phpMyAdmin步骤2 配置H:\phpMyAdmin\libraries 下的config.default.php $cfg['PmaAbsoluteUri'] = 'H:\phpMyAdmin\'; $cfg['Servers'][$i]['ho...

2021-04-08 18:01:09 94

原创 2021-04-07 标志寄存器

标志寄存器多数情况下push 后 esp会-4 例如push eax (eax是32位寄存器) 再例如 push dword ptr ds:[123abc] (dword 双字 32位)少数情况下push后esp会-2 例如push ax (ax是16位寄存器) 再例如 push wor...

2021-04-07 11:56:46 107

原创 2021-04-06 函数的参数是如何入栈出栈的

函数的参数是如何入栈出栈的制作逆向靶 建议用debug版而不是release版,因为release版会自作聪明把很多东西省略掉在调试器中 寄存器EIP 表示当前程序走到哪一步了ctrl+G 光标定位到某一地址在单步调试中 右侧哪个寄存器变红了 就是哪个寄存器发生了变化call 的第一个作用就是 将EIP的值改为函数所在的地址由硬编码知识 可以计算出返回地址的值,举例E8 84 FF FF FF (call stack.00401005) 这行硬编码是5个字节 所以 call完的返

2021-04-06 19:33:52 138

原创 2021-04-06 字节 xor加密 汇编指令举例 堆栈

字节 xor加密1个字节 0~FF 即0~255 即0~11111111原文件 xor 密钥 = 加密文件加密文件再次 xor 密钥 = 原文件

2021-04-06 13:14:43 378

原创 2021-04-05 可执行文件的PE结构

可执行文件的PE结构 proble execute任何可执行文件 都有 文件头 代码区 数据区 这三个部分知道了相应的16进制数字所代表的意义 就能从一堆1010中看懂一个文件比如 55 8B 就是函数头 2C 或者3C 就是函数尾...

2021-04-05 21:12:17 79

原创 2021-04-03 cmp与jne配合实现if判断

逆向插入汇编代码cmp与jne配合cmp a,b 如果a==b 那么寄存器ZF会变为1 否则为0当ZF为0时,也就是a不等于b时, jne会完成跳转

2021-04-03 09:14:59 797

原创 2021-04-02 如何使用wamp环境中的mysql?

如何使用wamp环境中的mysql?1 将集成环境的mysql添加到电脑环境路径 注意分号与上一个路径隔开 ;H:\wamp\bin\mysql\mysql5.7.24\bin2 win7服务列表打开 开始->管理工具->服务 然后点击下方标签 选择<标准> 在服务列表中 发现sql的名字叫 <wampmysqld64>3 开始->运行 cmd-> net startw...

2021-04-02 10:16:11 656

原创 2021-04-01 放弃apache mysql php改用wamp

apache php mysql 想配置好并非易事 折腾了许久最终放弃使用了wamp (windows apache mysql php)安装结束后 要配置httpd开头的两个文件 不然dreamweaver里新建的网页打不开

2021-04-01 18:48:55 87

原创 2021-03-30 php的安装

php的安装php比apache难装的多 耗费时间一上午 查询了多个网页结合才摸索出安装方法php7.4的安装需要VC15 我从《我的电脑》上看下 我最高只有VC++2015,对应的大概是VC14.实际上这个也够用了 不要再新装VC15步骤1 从php官网上下载php windows版,线程安全版 php7.4步骤2 解压后 将php.in.development。重命名为php.ini 并打开。 将扩展目录一行 改为extension_dir = "H:\php7...

2021-03-30 12:00:44 238

原创 2021-03-29 apache安装过程记录

apache安装过程记录apache和iis都是网站服务端 但是apache比iis好太多

2021-03-29 22:07:02 172

原创 除法div

格式 :          div reg             或   div 内存单元 被除数默认放在 DX和AX中如果除数为8位 则 AX当被除数如果除数为16位 则DX*10000+AX 当被除数  DX放高十六位 AX放低十六位除数放在一个reg或者一个内存单元中例题  求100001 / 100        既186A1H / 100          ...

2018-12-17 20:51:08 909

原创 word ptr 按字处理 byte ptr按字节处理

名字 seg:60 +00 DEC 单位 +03 Huawei 年龄 +0C 34 收入 +0E 7000 产品名 +10 PDP 任务 将年龄改为 35 , 将产品名改为 COMmov ax,segmov ds,axmov bx,60mov word ptr [bx].0ch, 35         ...

2018-12-17 20:32:33 3774

原创 用 word ptr 和 byte ptr 指明内存单元的长度

以下的操作 都是字操作mov ax,1            mov bx,ds:[0]            mov ds,ax          mov ds:[0], ax        inc ax add ax,1000以下的操作 都是字节操作mov al,1mov al,blmov al,ds:[0]mov ds:[0], alinc a...

2018-12-17 19:53:56 1064

原创 双层循环 利用栈存储变量算子

进入内层循环前 1把cs 压入栈                          2重新赋值cs                          3 内层循环                          4 从栈中取出cs                          5 loop 外层 ...

2018-12-17 19:32:38 130

原创 and or 字符型数据 灵活定位内存地址

and用来抠0 or用来填1al第6位设为0的方法是 and al,10111111B al第7位设为0的方法是 and al,01111111B 用单引号写的字符型数据 'unIX' 在编译的时候 会被转化为相应的ASCII码字母A的ascii码是 41H 也就是65        01000001小写字母的ascii码是61H                    0110...

2018-12-17 19:05:02 220

原创 多个段的程序

程序取得空间的方法 1 l加载时提分配空间 2 执行过程中向系统申请(第二种先不讨论) 如果要将 cs:10 ~ cs:2F 当栈用 则SS:SP 要指向栈底 指向 CS:30下面是多个段的程序assume cs:code,ds:data,ss:stackdata segment              dw 0123h,0456h,0789h,0abch,0defh,0...

2018-12-17 18:39:25 116

原创 g p [bx] 段前缀 DOS安全区域

在debug分步运行程序时, 如果想快进到CS:0012 前面的跳过 怎么办? g 0012分步运行到循环 想快进到循环结束, p   当然也可以用g 后面的标号 我们想 mov al,[0]  在debug中这样写可以, 但是在编译器中这样写, 会被翻译成mov ax,0于是 方法1                      mov bx,0               ...

2018-12-17 18:17:14 129

原创 loop循环 FFFF:0006单元中的内容 乘以3 结果存储在dx中

分析1 FFFF:0006 是一个字节单元 0~255 . dx是两个字节的空间 0~65535. 前者乘以3 不会越界2 以dx为目标结果 先让(dx)=0, 让(ax)=(FFFF6), 再用dx加三次ax3 ax两字节 FFFF:0006 一字节, 如何赋值? 让(ah)=0 ,(al)=(FFFF6) assume cs:abcabc segment      ...

2018-12-16 11:12:17 430

原创 loop循环 2^12

如果说求 2^3 的方法是mov ax,2add ax,axadd ax,ax==================================================================那么,如何求2^12?      循环次数用cx表示assume abc:codecode segment       mov ax,2       mo...

2018-12-15 20:50:43 250

原创 简洁描述的约定

先看几句代码的解释mov ax,[0]          将一个内存单元(字单元)放入ax , 内存单元长度为2字节, 存放一个字, 段地址是DS 偏移地址是0mov al,[0]          将一个内存单元(字节单元)放入ax , 内存单元长度为1字节, 存放一个字节, 段地址是DS 偏移地址是00表示的是偏移地址 具体长度(类型)由其操作对象决定mov ax,[bx]  ...

2018-12-15 11:54:24 290

原创 用debug来执行exe

用debug来执行exe运行dosboxmount c k:\c:debug 1.exe此时 1.exe的内容被加载到内存中 位置是DS 或者说DS+10H :0  (10H 是十进制的16) DS代表的是段地址 换算成字节要乘以16  所以10H的空间是 16*16=256字节这256个字节的空间 叫PSP,是DOS用的 与程序本身没关系 不深究程序正式开始的内存...

2018-12-15 11:11:57 2074

原创 初次汇编程序 masm5

下载masm5.zip  解压到 k: \masm5                    (汇编语言编译工具包)下载debug.exe 放在k:下载dosbox 并运行mount c k:\                                    把k盘加载到C盘c:debug                                           ...

2018-12-14 21:03:15 961

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除