<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mergerly的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/mergerly</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; mergerly]]></copyright><item><title><![CDATA[Metasploit Framework Handbook]]></title><link>https://blog.csdn.net/mergerly/article/details/121352806</link><guid>https://blog.csdn.net/mergerly/article/details/121352806</guid><author>mergerly</author><pubDate>Tue, 16 Nov 2021 11:54:29 +0800</pubDate><description><![CDATA[文章目录前言MsFrameworkMetasploit诞生发展体系结构功能阶段工具管理基本命令情报搜集网络服务渗透测试Refference
前言
众所周知Metasploit工具是一款强大的渗透测试利器，在渗透测试中堪称一条龙服务，那么很多人真的能够认识到它其中的强大之处吗，了解其中的每部分功能吗，还是说在个别人眼中只是一个由虚拟机搭建的一个小拓扑使用其直接攻打windows主机拿到主机权限就结束了吗，事实上Metasploit这款工具能做的事情很多，包括：情报(信息)搜集、目标识别、服务枚举、漏洞探测、漏]]></description><category></category></item><item><title><![CDATA[Metasploit体系结构和目录]]></title><link>https://blog.csdn.net/mergerly/article/details/121352592</link><guid>https://blog.csdn.net/mergerly/article/details/121352592</guid><author>mergerly</author><pubDate>Tue, 16 Nov 2021 11:42:19 +0800</pubDate><description><![CDATA[一、Metasploit体系结构

一）基础库文件
metasploit基础库文件位于源码根目录路径下的libraries目录中，包括Rex,framework-core和framework-base三部分。
Rex是整个框架所依赖的最基础的一些组件，如包装的网络套接字、网络应用协议客户端与服务端实现、日志子系统、渗透攻击支持例程、PostgreSQL以及MySQL数据库支持等；
framework-core库负责实现所有与各种类型的上层模块及插件的交互接口。
framework-base库扩展了frame]]></description><category></category></item><item><title><![CDATA[【Windows】Shellcode免杀，过360、火绒、Defender 静态及主防]]></title><link>https://blog.csdn.net/mergerly/article/details/120037197</link><guid>https://blog.csdn.net/mergerly/article/details/120037197</guid><author>mergerly</author><pubDate>Wed, 01 Sep 2021 12:32:32 +0800</pubDate><description><![CDATA[Shellcode，顾名思义是一段拿来执行的代码片段，我们可以使用Shellcode来完成我们需要的任务
弹窗的代码，可以被认为是一段Shellcode，获取某个模块的基址的代码，也可以被认为是一段Shellcode，同理，拿来干坏事的代码，也是Shellcode
如今的杀毒软件都拥有查杀病毒木马的能力，除了静态的查杀，还有动态的主动防御，若恶意代码片段（拿来干坏事的Shellcode）被杀软发现，则可以认为当前运行的程序是病毒木马或是被感染的文件，理应“杀掉”
有些时候，我们不想让自己写的代码被杀毒软件当]]></description><category></category></item><item><title><![CDATA[靠谱的app加固分享]]></title><link>https://blog.csdn.net/mergerly/article/details/116998627</link><guid>https://blog.csdn.net/mergerly/article/details/116998627</guid><author>mergerly</author><pubDate>Tue, 18 May 2021 19:03:09 +0800</pubDate><description><![CDATA[先来看看大概流程
加固俯瞰

1、编写加密方法，作为工具方法用于后续的加密和解密准备。
2、编写代理Application（ProxyApplication），作为加固后的apk的伪入口。（ProxyApplication作为伪入口时，需要将加密apk进行解密并重新加载于classLoader中）
3、对需要加密的apk的AndroidManifest文件的Application:name 标签经行更改为ProxyApplication，并用标签声明真正的Application入口和版本号。
4、将1、2步]]></description><category></category></item><item><title><![CDATA[关于安卓APP加固基础的总结]]></title><link>https://blog.csdn.net/mergerly/article/details/116197998</link><guid>https://blog.csdn.net/mergerly/article/details/116197998</guid><author>mergerly</author><pubDate>Tue, 27 Apr 2021 12:15:24 +0800</pubDate><description><![CDATA[安卓加固基础(一)
1.Dex字符串加密
1.1 前序
Android应用当中，很多隐私信息都是以字符串的形式存在的。这些隐私信息是明文，对于软件来说是想当不安全的，如果我们能在打包时对Dex中的字符串加密替换，并在运行时调用解密，这样就能够避免字符串明文存在于Dex中。虽然，无法完全避免被破解，但是加大了逆向提取信息的难度，安全性无疑提高了很多。
1.2 字符串加密方法简介
目前市面上主要存在两种字符串加密方式：
(1)在开发阶段开发者使用加密后的字符串然后手动调用解密,这种方法工程量太大了，缺点很明显。]]></description><category></category></item><item><title><![CDATA[【libffi】动态调用&定义C函数]]></title><link>https://blog.csdn.net/mergerly/article/details/116012181</link><guid>https://blog.csdn.net/mergerly/article/details/116012181</guid><author>mergerly</author><pubDate>Thu, 22 Apr 2021 14:07:21 +0800</pubDate><description><![CDATA[一、Calling Convention
高级语言编译器将代码编译成相应汇编指令时都会依据一系列的规则，这些规则十分必要，特别是对独立编译来说。其中之一是“调用约定” （Calling Convention），它包含了编译器关于函数入口处的函数参数、函数返回值的一系列假设。它有时也被称作“ABI”（Application Binary Interface）。调用约定（Calling Conventions）定义了程序中调用函数的方式，它决定了在函数调用的时候数据（比如说参数）在堆栈中的组织方式。
编译器按照]]></description><category></category></item><item><title><![CDATA[Linux系统调用(syscall)原理]]></title><link>https://blog.csdn.net/mergerly/article/details/116001904</link><guid>https://blog.csdn.net/mergerly/article/details/116001904</guid><author>mergerly</author><pubDate>Thu, 22 Apr 2021 10:20:07 +0800</pubDate><description><![CDATA[引言：分析Android源码的过程中，要想从上至下完全明白一行代码，往往涉及app、framework、native一直到kernel，可能迷失到代码世界，明白了系统调用原理，或许能帮你峰回路转，找到进入kernel函数的入口。本文主要讲解ARM架构相关源码：

/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h
/bionic/libc/arch-arm/syscalls/kill.S

/kernel/arch/arm/kernel/calls.S
/kerne.]]></description><category></category></item><item><title><![CDATA[我用 go-zero 一周实现了一个中台系统，已开源！]]></title><link>https://blog.csdn.net/mergerly/article/details/114671808</link><guid>https://blog.csdn.net/mergerly/article/details/114671808</guid><author>mergerly</author><pubDate>Thu, 11 Mar 2021 16:30:07 +0800</pubDate><description><![CDATA[最近发现golang社区里出了一个新星的微服务框架，来自好未来，光看这个名字，就很有奔头，之前，也只是玩过go-micro，其实真正的还没有在项目中运用过，只是觉得 微服务，grpc 这些很高大尚，还没有在项目中，真正的玩过，我看了一下官方提供的工具真的很好用，只需要定义好，舒适文件jia结构 都生成了，只需要关心业务，加上最近 有个投票的活动，加上最近这几年中台也比较火，所以决定玩一下，

开源地址: https://github.com/jackluo2012/datacenter

先聊聊中台架构思路]]></description><category></category></item><item><title><![CDATA[go-zero微服务框架入门教程]]></title><link>https://blog.csdn.net/mergerly/article/details/114670879</link><guid>https://blog.csdn.net/mergerly/article/details/114670879</guid><author>mergerly</author><pubDate>Thu, 11 Mar 2021 16:25:19 +0800</pubDate><description><![CDATA[为什么使用go-zero
你还在手撕微服务？快试试 go-zero 的微服务自动生成神器，这可能是我见过最简单好用的微服务框架。
还有比它更简单好用的吗？欢迎留言评论和推荐。
几分钟搞定个接口和微服务，还不用担心稳定性和高并发，这不香吗？还有比这更简单和高效的吗？
工具大于约定和文档的理念，编码自动化，大幅度的提高效率和生产力，这会是个趋势，让精力更多的放在业务和创新上。
推荐下go-zero 微服务框架，致力于打造国内最简单好用的框架。
为什么使用go-zero？
可以有第三个选择

golang圈子不大]]></description><category></category></item><item><title><![CDATA[常见函数调用约定(x86、x64、arm、arm64)]]></title><link>https://blog.csdn.net/mergerly/article/details/111314023</link><guid>https://blog.csdn.net/mergerly/article/details/111314023</guid><author>mergerly</author><pubDate>Thu, 17 Dec 2020 14:07:42 +0800</pubDate><description><![CDATA[我学习逆向，整理的一些常见的函数调用约定反汇编笔记。由于我是新手，肯定有一些疏漏不完善的，我遇到了会实时更新的。

X86 函数调用约定

X86 有三种常用调用约定，cdecl(C规范)/stdcall(WinAPI默认)/fastcall 函数调用约定。详细可参考：
函数调用协议__cdecl,__fastcall,__stdcall。

cdecl 函数调用约定

参数从右往左一次入栈，调用者实现栈平衡，返回值存放在 EAX 中。

20:       int cdecl_sum = cdecl_a.]]></description><category></category></item><item><title><![CDATA[UE4开发七：UE4打包]]></title><link>https://blog.csdn.net/mergerly/article/details/109623491</link><guid>https://blog.csdn.net/mergerly/article/details/109623491</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 15:16:28 +0800</pubDate><description><![CDATA[一、使用UFE打包
UFE（Unreal Frontend）:虚幻前端，简化加快游戏开发及测试任务的工具，它可以用来准备游戏构建，将游戏部署到设备上并进行启动
测试版本：4.18为例
注意：UE4官方文档原话是在UE4编辑器中启动UFE或者ProjectLauncher（项目启动程序），其打包发行项目的步骤都一样，但在4.18版本测试中发现，通过打开窗口-&gt;开发者工具-&gt;会话前端，进入UFE界面

在UFE中更多的提供了部署、自动化测试等功能。并没有编辑项目的版本、烘焙等选项，因此我们应该打开项]]></description><category></category></item><item><title><![CDATA[UE4开发六：人物动画]]></title><link>https://blog.csdn.net/mergerly/article/details/109622354</link><guid>https://blog.csdn.net/mergerly/article/details/109622354</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 15:01:04 +0800</pubDate><description><![CDATA[UE4添加人物动画之状态机
这一节我们创建一个动画蓝图并在C++中把它绑定到角色身上 。
状态机
状态机是可以让动画过渡到另一个动画的工具，它大大简化了动画设计流程。


在 UE4 编辑器中，在右边的“Playing”右键点击 “新建C++类”。勾选显示所有类，以 AnimInstance 为父类创建一个名为 CharacterAnimInstance 的子类。



进入到我们的骨骼网格体文件夹路径，右键选择该资源，创建一个动画蓝图。



双击动画蓝图，点击类设置，然后在右边的细节面板的父类选项中选为]]></description><category></category></item><item><title><![CDATA[UE4开发五：人物模型和摄像机]]></title><link>https://blog.csdn.net/mergerly/article/details/109620300</link><guid>https://blog.csdn.net/mergerly/article/details/109620300</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 14:32:45 +0800</pubDate><description><![CDATA[UE4添加人物模型
在正式使用 UE4 添加人物模型之前，我们先来解释几个概念。
什么是组件
在添加人物模型之前先介绍一个概念叫“组件”，组件是什么呢？组件的作用是为了让 Actor 实现一个功能，比如说：我们现在的角色，没有模型，我们需要一个模型那怎么办呢？那么我就要在 Character 身上挂一个“骨骼模型组件”，比如说我想要我的摄像机远离我的人物实现一个上帝视角那要怎么做呢？那么我们可以在Character的身上挂一个摄像机组件。
什么是 Actor
Actor 是 UE4 里面的 “可放置物品”，]]></description><category></category></item><item><title><![CDATA[UE4开发四：人物操作]]></title><link>https://blog.csdn.net/mergerly/article/details/109619504</link><guid>https://blog.csdn.net/mergerly/article/details/109619504</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 14:23:13 +0800</pubDate><description><![CDATA[本节我们先讲解 UE4 人物移动的设置，然后再讲解 UE4 人物视角的设置。
UE4 设置人物移动

打开 UE4 编辑器，点击“编辑”然后点击“项目设置”：



选择“输入”：



点击“AxisMappins” 的  添加按键输入，我们创建 6 个按键输入：



更改按键和按键的名字，这里一个按键对应一个名字。你可以通过添加多个名字不同但是按键相同的方法去绑定不同的事件。



设置完成后，我们打开 VS 编辑器，在“PlayingCharacter.h”文件下声明 4 个函数：


这四个函数就]]></description><category></category></item><item><title><![CDATA[UE4开发三：创建游戏模式、角色、控制器]]></title><link>https://blog.csdn.net/mergerly/article/details/109619083</link><guid>https://blog.csdn.net/mergerly/article/details/109619083</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 14:15:20 +0800</pubDate><description><![CDATA[UE4新建人物和地图模式
在 UE4 中，每一个世界（World）有多个 Level（关卡），而每个关卡又可以设定自己的 GameMode（游戏模式），从而控制游戏的玩法。
新建 GameMode

打开 UE4 编辑器，我们点击左下角的“显示/隐藏资源面板”。



点击 “C++类” ，选中"GameProject" 文件夹，在右边的“资源面板”右键点击 “新建C++类”。



选中“GameModeBase”（游戏模式），点击“下一步”。



更改我们的类名为：PlayingGameModeBas]]></description><category></category></item><item><title><![CDATA[UE4开发二：创建项目]]></title><link>https://blog.csdn.net/mergerly/article/details/109618816</link><guid>https://blog.csdn.net/mergerly/article/details/109618816</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 14:11:58 +0800</pubDate><description><![CDATA[打开 UE4 启动器，选择 4.21.2 版本的虚幻引擎，点击“启动”按钮。

点击之后会出现如下图所示的界面，可以对新建项目进行设置。

“项目”这一栏存放着你新建后的项目。我们点击“新建项目”，点击“C++”，选择“基础代码”，选择“没有初学者内容”，然后写上项目名字，注意不能有中文，然后点击创建项目。

「蓝图」是虚幻引擎为开发者开发的一款脚本语言，它已经封装好大量的函数和带有可视化编程的特点，深受广大开发者的喜爱，不过这种方便带来的弊端是性能上的损耗，所以蓝图更适合开发中小型项目。

点击创建项目后]]></description><category></category></item><item><title><![CDATA[UE4开发一：开发环境的搭建]]></title><link>https://blog.csdn.net/mergerly/article/details/109616394</link><guid>https://blog.csdn.net/mergerly/article/details/109616394</guid><author>mergerly</author><pubDate>Wed, 11 Nov 2020 12:34:27 +0800</pubDate><description><![CDATA[UE4 的全名是 Unreal Engine 4，中文译为“虚幻引擎4”。UE4 是一款由 Epic Games 公司开发的开源、商业收费、学习免费的游戏引擎。
从 1998 年发行至今，UE4 一共经历了 UE、UE2、UE2.5、UE3、UDK、UE4 多个版本，它的迭代速度极快，现在已经到了 4.22 预览版。
基于 UE4 开发的大作无数，除《虚幻竞技场3》外，还包括《战争机器》《质量效应》《生化奇兵》等等。在美国和欧洲，虚幻引擎主要用来制作主机游戏，风靡全球的吃鸡游戏 “绝地求生” 也是由UE4 ]]></description><category></category></item><item><title><![CDATA[PC电脑控制手机iphone(iOS 11、iOS 12、iOS 13)，需越狱]]></title><link>https://blog.csdn.net/mergerly/article/details/107840942</link><guid>https://blog.csdn.net/mergerly/article/details/107840942</guid><author>mergerly</author><pubDate>Thu, 06 Aug 2020 15:32:33 +0800</pubDate><description><![CDATA[Veency是一款可以用电脑控制你的iPhone的插件，作者是大名鼎鼎的Cydia的创始人Jay Freeman，也就是Saurik。但是最高支持到IOS8，在IOS 10以上无法使用。
基于Veency，cosmosgenius开发了screendump，使其支持到iOS 11。但是没有支持iOS 12和13。
julioverne在cosmosgenius的基础上改进了screendump，使其完美支持ios12和ios13。这里主要就是使用julioverne的版本。
1、iphone手机安装scre]]></description><category></category></item><item><title><![CDATA[Android进程的so注入--Poison（稳定注入版）]]></title><link>https://blog.csdn.net/mergerly/article/details/104520985</link><guid>https://blog.csdn.net/mergerly/article/details/104520985</guid><author>mergerly</author><pubDate>Wed, 26 Feb 2020 17:38:40 +0800</pubDate><description><![CDATA[本文博客地址：http://blog.csdn.net/qq1084283172/article/details/53869796
Android进程的so注入已经是老技术了，网上能用的Android注入的工程也有很多，虽然分享代码的作者在测试的时候能注入成功，但是其他的同学使用这些代码的时候总是出现这样或者那样的问题。在Android逆向学习的这段时间里，我也陆续测试了几个作者给出的Androi...]]></description><category></category></item><item><title><![CDATA[Android中的so注入(inject)和挂钩(hook) - For both x86 and arm]]></title><link>https://blog.csdn.net/mergerly/article/details/104520858</link><guid>https://blog.csdn.net/mergerly/article/details/104520858</guid><author>mergerly</author><pubDate>Wed, 26 Feb 2020 17:26:15 +0800</pubDate><description><![CDATA[对于Android for arm上的so注入（inject）和挂钩（hook），网上已有牛人给出了代码-libinject（http://bbs.pediy.com/showthread.php?t=141355）。由于实现中的ptrace函数是依赖于平台的，所以不经改动只能用于arm平台。本文将之扩展了一下，使它能够通用于Android的x86和arm平台。Arm平台部分基本重用了libinj...]]></description><category></category></item></channel></rss>