CoderAldrich
码龄10年
关注
提问 私信
  • 博客:485,503
    社区:2
    485,505
    总访问量
  • 24
    原创
  • 1,632,989
    排名
  • 422
    粉丝
  • 1
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2014-12-24
博客简介:

CoderAldrich的专栏

查看详细资料
个人成就
  • 获得425次点赞
  • 内容获得127次评论
  • 获得623次收藏
  • 代码片获得254次分享
创作历程
  • 7篇
    2021年
  • 19篇
    2019年
  • 51篇
    2018年
  • 5篇
    2017年
  • 5篇
    2016年
  • 6篇
    2015年
成就勋章
TA的专栏
  • windows平台
    29篇
  • Android逆向
    8篇
  • 网络编程
    7篇
  • 分布式
    6篇
  • C++
    18篇
  • 随笔
  • USB协议
    1篇
  • Lua
    4篇
  • 设计模式
    25篇
兴趣领域 设置
  • 网络与通信
    https
  • 测试
    postman
  • 运维
    devops自动化
  • 网络空间安全
    系统安全
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++单元测试框架Catch1.x简介

Getting CatchThe simplest way to get Catch is to download the latest single header version. The single header is generated by merging a set of individual headers but it is still just normal source code in a header file.The full source for Catch, includin
转载
发布博客 2021.11.23 ·
360 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Visual C++ 里的异常处理

简介微软Visual C++是Win32最广泛使用的编译器,因此Win32反向器对其内部工作非常熟悉。能够识别编译器生成的粘合代码有助于快速集中于程序员编写的实际代码。它还有助于恢复程序的高级结构。我将集中讨论MSVC编译程序中的堆栈布局、异常处理和相关结构。假设对汇编程序、寄存器、调用约定等有一定的了解。名词解释:Stack frame — 堆栈帧,函数使用的堆栈段的片段。通常包含函数参数、返回调用方地址、保存的寄存器、局部变量和其他特定于此函数的数据。在x86(和大多数其他架构)上,调用者和被调
转载
发布博客 2021.10.22 ·
1231 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

IsBadReadPtr函数和异常处理

起因是优化代码性能,注意到这个函数,搜了一下发现是微软弃用的函数,说是有线程安全问题。经过一系列操作发现,处理大文件时这个函数会导致耗时变长,于是就研究一下这个函数。首先看函数开头:mov edi, edipush ebpmov ebp, esppush 0FFFFFFFEhpush offset stru_77991A20push offset FindResourceExA_SEHmov eax, large fs:0push ea
原创
发布博客 2021.10.21 ·
2374 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C++ Runtime Code Reload

Quick prototyping and fast iteration times are incredibly important concepts for modern game development. Being able to hot swap an asset while the game is up and running can make the difference between a succesfull or a mediocre game simply because artist
转载
发布博客 2021.09.10 ·
373 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

https的中间人攻击和防范

https的中间人攻击和防范这里的中间人场景主要是Windows平台下的C/S架构劫持,技术指的是SSL劫持攻击,即SSL欺骗,剥离攻击暂不涉及。整体原理是伪造证书,既充当请求方的server角色,又充当真正server的请求方。以此来获取和篡改通信的明文报文数据。整体流程使用openSSL制作证书编写代理程序根证书添加到可信任发布机构设置系统代理证书制作首先装个openSSL,安装包下载地址:http://slproweb.com/products/Win32OpenSSL.html
原创
发布博客 2021.09.09 ·
934 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

maven 配置指南

maven 配置指南打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在<mirrors></mirrors>标签中添加 mirror 子节点:<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url&g
转载
发布博客 2021.09.02 ·
128 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ssl证书

随着SSL证书的广泛应用,申请SSL证书的人也越来越多,但是很多使用SSL证书的用户其实并不太了解SSL证书。他们仅仅是因为要把站点从HTTP转换到HTTPS而申请使用SSL证书,而最终用户也只是获取SSL证书也是证书链的一部分而已。在本文将为大家介绍关于SSL证书的根证书和中间根证书的知识。什么是根证书?根证书是指CA机构颁发SSL证书的核心,是信任链的起始点。根证书是浏览器是否对SSL证书每个浏览器都有一个根证书库,有的浏览器是采用自主的根证书库,而一些浏览器则采取第三方的根证书库。而根证书库.
转载
发布博客 2021.06.30 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

lacewing简介

lacewing简介liblacewing是一个跨平台的,为C/C++提供的高级网络开源库,旨在提供一个简明的类,做到能够扩展并且可以平台优化(支持IOCP/EPOLL/KQUEUE等)。Classeslacewing::eventpumpeventpump is a default implementation of pump provided by the library, power...
原创
发布博客 2019.08.20 ·
484 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

lxl 大厅协议 -- [libcef部分]

根据Reversing the League of Legends Client一文中提到的方法,我们可以通过API Monitor拦截cef_parse_url得到部分的 url 调用。这里为了方便,介绍另一种方法。工具:Fiddler+Proxifier+TCPView准备工作:在Proxifier中设置一个针对LeagueClientUx进程的访问转向,...
转载
发布博客 2019.07.17 ·
646 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

Android 双开沙箱 VirtualApp 源码分析(六)ContentProvider

Android 双开沙箱 VirtualApp 源码分析(六)ContentProviderProvider 注册回顾前面,Activity 启动的时候会检查 Application 是否初始化,会调用 bindApplication,里面执行了安装 Provider 的方法:private void installContentProviders(Context app, List<...
转载
发布博客 2019.06.18 ·
486 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 双开沙箱 VirtualApp 源码分析(五)BroadcastReceiver

Android 双开沙箱 VirtualApp 源码分析(五)BroadcastReceiver方案猜测同 Activity 一样,Client App 在 Menifest 中注册的静态广播外部 AMS 是无法知晓的,经过前几章的分析,相信大家已经是老司机了,我们可以先尝试提出自己的观点。和 Activity 一样使用 Stub 组件占坑?仔细想一想是无法实现的,因为你无法预先确定 Cl...
转载
发布博客 2019.06.18 ·
554 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service

Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service原生 Service 创建过程首先有必要了解一下原生 framework 对 Service 的创建,因为在 VA 中启动 Service 和 Activity 有很大的区别。首先入口 ContextWrapper.startService():@Override public Component...
转载
发布博客 2019.06.18 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 双开沙箱 VirtualApp 源码分析(三)App 启动

Android 双开沙箱 VirtualApp 源码分析(三)App 启动在这之前,我们还是要先了解一下 VA Client Framework 和 VAService 之间的通讯方式VAService 与通讯VAService首先,VAService 是指 VA 仿造 Android 原生 framework 层 Service 实现的一套副本,举例有 VActivityManagerS...
转载
发布博客 2019.06.18 ·
668 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 双开沙箱 VirtualApp 源码分析(二)

Android 双开沙箱 VirtualApp 源码分析(二)VA 初始化先看一下代码:VirtualCore.startuppublic void startup(Context context) throws Throwable { if (!isStartUp) { // 确保 MainThread if (Looper...
转载
发布博客 2019.06.18 ·
520 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android 双开沙箱 VirtualApp 源码分析(一)

欢迎使用CSDN-markdown编辑器最近发现了一个非常好的开源项目,基本实现了一个 Android 上的沙箱环境,不过应用场景最多的还是应用双开。VA github: https://github.com/asLody/VirtualAppVA 的源码注释: https://github.com/ganyao114/VA_Doc第一章主要是分析一下项目的整体结构。包结构andro...
转载
发布博客 2019.06.18 ·
1781 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Panorama - Custom DOTAScenePanel

IntroductionIn this tutorial we'll go through the tricks you can do with the undocumented DOTAScenePanel class in panorama.Now, you might have seen its usage if you looked through the sources in t...
转载
发布博客 2019.04.17 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Getting Started With Dota 2 Modding

So you're completely new to Dota 2 modding? Don't know where in the hell to begin? This is the guide for you, the future Dota 2 modder!Note: “Addon”, "mod", and “custom game” are all synonymous thro...
转载
发布博客 2019.04.17 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

影响并发代码性能的因素

多处理系统中,使用并发的方式来提高代码的效率时,你需要了解一下有哪些因素会影响并发的效率。即使已经使用多线程对关注进行分离,还需要确定是否会对性能造成负面影响。因为,在16核机器上应用的速度与单核机器相当时,用户是不会打死你的。之后你会看到,在多线程代码中有很多因素会影响性能——对线程处理的数据做一些简单的改动(其他不变),都可能对性能产生戏剧性的效果。所以,多言无益,让我们来看一下这些因素吧,...
原创
发布博客 2019.03.04 ·
1452 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

C++11 宽窄字符转换

C++11增加了Unicode字面量的支持,可以通过L来定义宽字符:std::wstring str = L"中国人"; // 定义Unicode字符串将宽字符串转换为窄字符串需要用的codecvt库种的std::wstring_convert。std::wstring_convert需要借助以下几个Unicode转换器:std::codecvt_utf8,封装了UTF-8与U...
原创
发布博客 2019.03.01 ·
1747 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

C++11实现一个加载dll并调用其中函数的dll帮助类

在C++中调用dll中的函数比较繁琐,调用过程如下:在加载dll后还需要定义一个对应的函数指针类型,接着调用GetProcAddress获取函数地址,再转成函数指针,最后调用该函数。如下:void TestDll(){ typedef int(*pMax)(int a, int b); typedef int(*pGet)(int a); HINSTANCE hDll = Load...
原创
发布博客 2019.03.01 ·
2412 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏
加载更多