kongkong5020
码龄7年
关注
提问 私信
  • 博客:53,247
    问答:15
    53,262
    总访问量
  • 34
    原创
  • 467,772
    排名
  • 93
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-05-12
博客简介:

weixin_42194433的博客

查看详细资料
个人成就
  • 获得27次点赞
  • 内容获得10次评论
  • 获得161次收藏
  • 代码片获得130次分享
创作历程
  • 22篇
    2021年
  • 12篇
    2020年
成就勋章
TA的专栏
  • C/C++
    2篇
  • Skynet
    3篇
  • Chrome Extension
    4篇
  • Duilib
    12篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

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

模仿Cheat Engine内存搜索——(Sunday算法)

想要获取一个进程里面的某个数据,需要先知道这个数据的位置  对于全局变量:偏移是固定的,可以通过“基址+偏移”直接定位  对于局部变量:位置是随机的,只能通过拦截或者搜索去定位分析企业微信的时候,发现很多数据都不是全局变量,不能像个人微信那样直接跨进程读取。如果能够用代码模仿Cheat Engine进行内存搜索,就可以定位到局部变量,进而实现非注入读取。甚至可以做到兼容所有版本(比如登录二维码,直接内存扫描出来)。    Cheat Engine是开源的,下面是特征码搜索的源码:DWORD AO
原创
发布博客 2021.07.29 ·
1590 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

企业微信的数据库密码 和 个人微信的一样么?

答:

个人微信和企业微信都解开了,密码内容,密码长度,加密算法都不一样

回答问题 2021.04.13

Skynet学习笔记(三)编译运行

1.下载源码$ git clone https://github.com/cloudwu/skynet.git2.skynet代码目录结构3rd #第三方支持库,包括LUA虚拟机,jmalloc等lualib #lua语言封装的常用库,包括http、md5lualib-src #将c语言实现的插件捆绑成lua库,例如数据库驱动、bson、加密算法等service #使用lua写的Skynet的服务模块service-src #使用C写的Skynet的服务模块
原创
发布博客 2021.03.29 ·
407 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Skynet学习笔记(二)整体架构

Skynet对象关系  一个集群,可以有多个节点  一个节点,对应一个进程,有IP和Port  一个节点,可以有多个服务,一个服务就是一个lua虚拟机  一个节点启动时,会初始化多个调度线程,用于调度多个服务的消息  一个服务接受到一个消息时,会创建一个协程来处理这个消息(co_create)Skynet消息调度  每个在线客户的客户端,在skynet server上都对应有一个socket与其连接。  一个socket在skynet内部对应一个lua虚拟机和一个客户特定消息队列(per c
原创
发布博客 2021.03.29 ·
368 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

Skynet学习笔记(一)简介

Skynet起源  Skynet起源于云风在简悦研发的第一个项目,研发的过程记录在博客里面,这个研发笔记第一次提到skynet 是框架的开发代号。Skynet综述  Skynet 设计综述提到Skynet核心解决什么问题,不解决什么问题以及核心功能设计细节Skynet 核心解决什么问题  需求:希望游戏服务器(但 skynet 不仅限于用于游戏服务器)能够充分利用多核优势,将不同的业务放在独立的执行环境中处理,协同工作。做为核心功能,Skynet 仅解决一个问题:  把一个符合规范的 C 模块
原创
发布博客 2021.03.29 ·
1304 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Chrome Extension 入门教程(四)调试

三种脚本弹出页脚本:popup后台脚本:backgroup内容脚本:contentscriptpopup.js插件图标,点击右键,再点击“审查弹出内容”就可以下断点调试了background.js控件界面,点击查看视图后面的“xxx”就可以下断点调试了content script按F12进入调试模式,点击打开文件(open file)输入要调试的js文件名字就可以下断点调试了...
原创
发布博客 2021.02.27 ·
2220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Chrome Extension 入门教程(三)通讯

三种脚本弹出页脚本:popup后台脚本:backgroup内容脚本:contentscript短连接popup <-> backgroundpopup可以直接调用background中的JS方法,也可以直接访问background的DOM// background.jsfunction test(){ alert('我是background!');}// popup.jsvar bg = chrome.extension.getBackgroundPage();bg.
原创
发布博客 2021.02.27 ·
844 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Chrome Extension 入门教程(二)例子

1、只有最基本信息manifest.json{ "manifest_version":3, "name":"manifest", "version" : "1.0.0", "description": "demo manifest"}2、右上角显示图标manifest.json{ "manifest_version":3, "name":"manifest", "version" : "1.0.0", "description": "demo manifest", "act
原创
发布博客 2021.02.27 ·
967 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Chrome Extension 入门教程(一)概述

概述Chrome Extension 直译是“谷歌浏览器扩展”(大多人习惯说“谷歌浏览器插件”),也就是给谷歌浏览器添加辅助功能。所用到的技术是web,包括html,css和js。同时,Chrome 也提供了丰富的api,方便扩展Chrome的功能。基本组成首先是要配置这个扩展的基本信息,对应的文件是manifest.json点击扩展的图标,可以弹出一个临时的窗口 ,对应的模块是popup除了临时的popup,还可以写常驻的后台脚本,对应的模块是background也可以往网页注入自己的脚本,方
原创
发布博客 2021.02.27 ·
12615 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

断点拦截局部数据

目录零、原理简介一、调试进程二、设置断点三、监听消息四、处理异常  逆向开发经常有这个需求:拦截局部数据。一般的做法是hook,通过修改代码的流程来获得数据。还有一种办法是下断点调试。这里聊聊怎样通过下断点来拦截局部数据。零、原理简介  下断点拦截数据,原理就是对目标进程进行下断点调试。  设置断点的原理就是在某个地址写入0xCC。对某个地址设置断点之后,当被调试的目标进程运行到这个地址,就会报错抛出异常给我们的调试进程。我们的调试进程就可以拿到当前的环境数据。  拿到数据之后,就要让目标进程继续
原创
发布博客 2021.02.05 ·
317 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Duilib 源码分析(五)绘制管理器

前言  带界面软件可以分两部分:界面显示和消息处理。前面介绍了界面解析绘制和消息处理,而绘制管理器类(CPaintManagerUI)两部分都管理:处理了大部分的绘制工作、控件消息分发处理。示例class CDuilibWnd : public CWindowWnd, public INotifyUI{public:// 重写CWindowWnd::HandleMessage处理消息virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam,
原创
发布博客 2021.01.29 ·
405 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Duilib 源码分析(四)控件绘制

渲染引擎CRenderEngine:封装GDI//duilib-master\DuiLib\Core\UIRender.hclass DUILIB_API CRenderEngine{ DrawLine //绘制直线 DrawRect //绘制直角边框 DrawRoundRect //绘制圆角边框 DrawImage //绘制图片 DrawColor     //绘制纯色 DrawGradient
原创
发布博客 2021.01.29 ·
801 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

Duilib 源码分析(三)界面解析

例子CPaintManagerUI m_PaintManager;CDialogBuilder builder;CControlUI* pRoot;pRoot = builder.Create(_T("duilib.xml"), (UINT)0, NULL, &m_PaintMana);m_PaintManager.AttachDialog(pRoot);CDialogBuilder头文件// 创建界面的回调函数class IDialogBuilderCallback{publ
原创
发布博客 2021.01.29 ·
640 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Duilib 源码分析(二)消息处理

入口函数是_tWinMainint APIENTRY _tWinMain( _In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nShowCmd){ // 绘制管理器CPaintManagerUI绑定窗口句柄 CPaintManagerUI::SetInstance(hInstance); // 绘制管理器CPaintManag
原创
发布博客 2021.01.29 ·
500 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Duilib 源码分析(一)示例推演

Duilib源码下载地址  官网地址:https://github.com/duilib/duilib  源码下载地址https://github.com/duilib/duilib/archive/master.zipDuilib示范例子  使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。  关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻
原创
发布博客 2021.01.29 ·
1450 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

2021 Duilib最新入门教程(七)Duilib处理消息

目录前言例子小结前言  在前面有提到:使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。  关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻辑。  例子// 界面上显示一个按钮 按钮名字为btn<Button name="btn" text="按钮" />// 点击按钮,会激活按钮控件,然后产生消息:DUI_MSGTYPE_
原创
发布博客 2021.01.24 ·
719 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

2021 Duilib最新入门教程(六)Duilib界面设计

目录前言控件容器总结前言  在前面有提到:用Duilib写一个界面软件,只需要用一个xml文件描述界面长什么样,然后在代码中写上操作界面之后怎么处理就可以了。  “描述界面长什么样”其实就是描述:1、这个界面上有哪些控件?2、这些控件是怎么布局的?这一篇先介绍Duilib自带的标准控件有哪些?然后再介绍这些控件是怎么布局的?  控件  控件指最基本的单元模块,比如:按钮、文本、编辑框等等。Duilib控件之间的继承关系如下:  举个例子  界面上显示一个按钮 按钮名字为"btn" 按钮
原创
发布博客 2021.01.24 ·
1298 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

2021 Duilib最新入门教程(五)Duilib调用静态库示例

目录原理步骤原理  静态库文件后缀名是lib,编译的时候合并到软件里面去。  调用静态库需要两件套:1、头文件2、静态库。  特殊的地方:调用Duilib的静态库时,需要先定义静态宏(#define UILIB_STATIC)  步骤  1、新建项目,选择“Windows 桌面应用程序”  2、项目名字定为DuilibMinDemoStatic  3、选择“桌面应用程序”和“空项目”  4、添加Duilib头文件所在的目录  5、复制静态库DuiLib_Static_
原创
发布博客 2021.01.24 ·
744 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2021 Duilib最新入门教程(四)Duilib编译静态库

1、复制DuiLib.vcxproj.filters  2、修改成DuiLib_Static.vcxproj.filters  3、Duilib源码的工程中添加现有项目  4、选择duilib-master\DuiLib\DuiLib_Static.vcxproj  5、这里看到使用的是Visual Studio 2012  6、在DuiLib_Static项目,点击鼠标右键,然后点击属性  7、配置改为所有配置,平台工作集改为2019  8、选择 UnicodeD
原创
发布博客 2021.01.24 ·
554 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

源文件(cpp)、静态库(lib)、动态库(dll)

背景一个函数想要调用另一个函数1、同个文件最简单的办法就是调用的函数和被调用的函数写在同个文件中void CalledFunction() // 被调用的函数{ ...}void CallFunction() // 调用的函数{ CalledFunction() // 调用被调用的函数}2、源文件把被调用的函数写在另外一个文件头文件(被调用函数的声明)源文件(被调用函数的定义)// Called.h 头文件void CalledFunction();
原创
发布博客 2021.01.22 ·
840 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏
加载更多