自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 算法题:带冲突的背包问题

为了快速判断两个物品是否存在冲突,可以使用一个大小为 n 的数组 conflict,其中 conflict[i] 是一个位掩码,表示与物品 i 冲突的所有物品。标准的0-1背包问题只考虑物品的重量和价值,但本题增加了物品之间的冲突关系,使得选择物品的组合不仅要满足重量限制,还需要保证所选物品之间没有冲突。例如,状态 mask 的第 i 位为1表示选择了第 i 个物品,为0表示未选择。最后遍历所有可能的 mask,对于满足 dp[mask] ≤ W 的状态,计算对应的总价值,取其中的最大值即为答案。

2024-12-21 10:39:28 556

原创 逆向工程分析OpenSSL加密函数的实现

OpenSSL 是一个强大的工具包,提供了各种加密算法的实现,包括对称加密、非对称加密、哈希函数等。libcrypto:提供底层的加密算法实现。libssl:实现 SSL 和 TLS 协议,基于 libcrypto 构建。了解 OpenSSL 的架构对于逆向工程工作至关重要。本文将重点关注 libcrypto 中的加密函数实现。本文通过逆向工程技术,深入解析了 OpenSSL 中加密函数的实现细节。通过反汇编和代码分析,理解了 AES 和 RSA 等算法在 OpenSSL 中的具体实现过程。

2024-12-20 15:50:03 1589

原创 深入C++运行时类型识别(RTTI)与反射机制的逆向分析

在现代C++应用中,RTTI(Run-Time Type Information)和反射技术扮演着重要角色:RTTI提供typeid与等基础设施,从而在运行时获取对象的确切类型信息;而各类自定义反射框架则使得应用能够在运行时动态探索类、成员变量、成员函数的元数据,类似于脚本语言中的。从逆向工程(Reverse Engineering)角度来看,理解并掌握RTTI与反射框架的工作原理可以让我们在分析被混淆或缺少源代码的C++二进制目标时事半功倍。通过识别RTTI结构、typeinfo。

2024-12-16 10:01:29 1619

原创 itunes登录协议分析(详细的)

看到这个函数,很明显是一个反调试的函数,还用到了 GetTickCount() 来避免程序断点,CheckRemotDebuggerPresent 和isDebuggerpresent。如上图,现在这个函数已经无效了,下TerminateProcess断点,继续运行。看有没有其他地方,运行发现已经没有断下来了,程序已经可以正常调试了。然后恢复进程,发现程序依然退出并未断下来,可能用的其他函数,先不猜这个。这里可以直接使用反反调试插件,但出于好奇还是看了看。发现程序直接退出,有反调试的,不过只是应用层的。

2024-10-25 17:25:30 3137

原创 Apple登录协议Apple网页登录协议分析,SRP算法(附C++加密代码)

步骤3,4的值均来自官网的js文件 webSRPClientWorker.js 中的计算。注意c并没有用到,而是在下次发包时候带上,作用是一个SessionID之类的。网页登录有点不同于Itunes,这里加密后的值若登录后会作废。官网的登录协议存在一个加密,似乎叫SRP 加密什么的。到此Apple 网页登录所需的所有加密值都有了。a 是通过本地私钥计算的,获取过程大致为。下面自己编写一下 m1,m2的计算过程。这里的 a() 是初始化函数。实际发包中步骤2可以省略。

2024-10-25 17:00:17 1343 3

原创 C++实现虚拟机内外的通讯【命名管道法】

实现虚拟机内部和外部的通讯

2023-04-07 17:47:44 665

原创 VS设置背景图 Visual Studio 使用ClaudiaIDE插件 详细教程

修改VS背景图、美化VS背景

2023-03-09 19:32:48 7946 5

原创 让其他程序强行执行自己的 ShellCode【C++】

让其他程序执行自己的代码

2022-09-08 17:56:25 737

原创 C++隐藏线程

防止线程被检测

2022-09-08 11:05:30 806

原创 通过开发深入解外挂原理【01】

通过开发程序了解外挂的基本原理

2022-09-04 13:46:48 932 3

原创 【C++代码实现文件拷贝把一个文件夹复制到另一个文件夹】

c++文件夹文件拷贝

2022-08-27 17:44:42 6185

原创 企业微信实现多开C++逆向

HOOK实现多开企业微信

2022-06-18 15:30:23 1585 5

原创 防止软件被破解反调试防破解防逆向C++

防止自己软件被动态调试

2022-06-13 14:02:28 3514

原创 【HOOK切换微信聊天窗口】C++

我的微信版本是3.2.1.154,其他版本原理也都一样的可以通过找当前聊天wxid来找到,这里我说一下更简单的方法先下UpdateWindow函数断点然后切换窗口发现在此处断下,我们点右边第一行反汇编窗口跟随。到这一步,继续返回到这一步,其实这里就是需要的代码字段了,可以下断点试一下。然后下断点分析参数分析后eax 就是需要切换的 wxidecx 是调用的函数地址里面的基址就自己找吧有问题可以咨询本人QQ:1836557912看完对你有帮助点一下赞哦!......

2022-05-22 15:42:42 811

原创 C++各种字符转换。CString、string、char*、TCHAR*、UTF82WCS

记一下CString和string的转换CString和string的转换//从CString转换到stringCString str1 = "ABC";string str2 = str1.GetBuffer();//从string转换到CStringstring str1 = "ABC";CString str2 = str1.c_str();char*、TCHAR*转换CStringCString str(****)下面详细写一下其它转换函数: TransCStrin

2022-04-15 14:29:32 1172

原创 动态规划01爬楼梯(C++)

爬楼梯题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。用递归的思路来解的话,先找return点f(0)=0;f(1)=1;f(2)=2;然后找循环的点,可以可以画一下图 假设n为5的情况。可以发现爬上第五个台阶的方法就等于第四阶加第三阶。所以得出f(n)=f(n-1)=f(n-2)很像斐波那契数列。然后用递归写出代码#include<iostream>#inclu

2021-09-10 16:53:38 6103 3

原创 汽水瓶OI赛题C++最简单解法

题目有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入空瓶得到喝多少瓶水。可以设空瓶为 X ,喝 Y 瓶水。找到规律,一共分两种情况。当 X%3>0 时,Y+=Y

2021-09-08 14:44:01 666

原创 兰顿蚂蚁算法题(C++写法详解)

题目描述兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。蚂蚁的头部朝向为:上下左右其中一方。蚂蚁的移动规则十分简单:若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。蚂蚁的路线

2021-09-07 20:28:41 1066

原创 [编程入门]猴子吃桃的问题(JAVA解法)

题目描述猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。要求输入天数N,输出桃子总数样例输入10,输出1534....

2021-09-04 17:28:41 684

原创 Java抽奖题随机N个不重复数(例题详解)

今天借朋友问我一个题为例子,写一个简单的小算法。这个题用数组会很好理解,职员数组、幸运儿拟定数组分别表示。 String[] strNmae={"张三","李四","王五","赵六","小白","小明","小红"}; int []strSum=new int[5];然后通过Random随机数添加到strSum数组(幸运儿数组);Random r = new Random(); String[] strNmae={"张三","李四","王五","赵六","小白","小明","小红"};

2021-09-04 15:54:20 1403

原创 算法题JAVA杨辉三角,含C++代码,不使用数组。

import java.util.Scanner;public class Apublic static void main(String[] args) {f();}public static void f(){System.out.println(“请输行数:”);Scanner sca = new Scanner(System.in);int sum = sca.nextInt();int[] a = new int[lines+1];//int previous = 1;//原先

2020-07-02 20:47:18 184

curl下载curl包下载

curl下载curl包下载

2022-06-03

cacert.pem文件

cacert.pem文件

2022-06-03

C++封装过的JSON转换包,功能齐全

基本调用方法 #include "rapidjson/writer.h" //#include "rapidjson/prettywriter.h"//<这个多了格式 #include "rapidjson/stringbuffer.h"// rapidjson::StringBuffer buf; rapidjson::Writer<rapidjson::StringBuffer> writer(buf); //rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buf); // it can word wrap writer.StartObject(); writer.Key("dwtype"); writer.String(“1”); writer.Key("MyId"); writer.String(“2”); writer.EndObject(); string content = buf.GetString()

2022-05-30

HOOK切换微信聊天窗口_C++

通过HOOK切换微信聊天窗口,C++编写。 用于微信量大的情况下,通过好友标识 直接跳转至该微信好友的聊天界面。 代码包含详细的注释以及调用方法。 欢迎下载学习!

2022-05-12

空空如也

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

TA关注的人

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