#include <windows.h> int main() { DWORD dwKernel32 = 0; _asm { mov eax, fs:[0x30] // peb mov eax, [eax+0x0C] // ldr mov eax, [eax+0x1C] // Module List ...
转载
2021-10-31 16:33:00
665阅读
2评论
很久不写关于技术的东西了,由于最近在研究内嵌汇编和机器码的注入,故把下面这段代码列出来。其中C/C++的部分和inline asm的最后一句是我写的。自评:极其缺乏原创精神。HMODULE GetKernel32( void ){ HMODULE hRet = NULL; __asm { mov eax, fs:30h mo
转载
2021-08-02 14:32:02
661阅读
数据相关的寻址方式1 立即寻址方式直接使用立即数来处理 mov al,5
mov ax,3064H 2 寄存器寻址方式操作数在寄存器中,直接使用寄存器赋值来读取内部的操作数。 另外的方式的简介:在8086中把操作数的偏移地址称为有效地址,以下的操作都是取得有效地址(EA)的不同途径。有效地址可以由以下四种成分:位移量(displacement):存放的是一个地址。基址
转载
2024-04-12 06:44:58
170阅读
问题一:String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true问题二:String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false问题
一、动态链接库(DLL)动态链接库提供了一种方法,使进程可以调用不属于其执行代码的函数。函数的可执行代码位于一个.dll文件中,该文件包含一个或多个已被编译、链接并使用它们的进程分开存储的函数。优点:1.扩展了 应用程序的特性2.可以使用多种编程语言来编写3.简化项目的管理二、依赖项当某个程序或DLL使用其他DLL或DLL函数时,就会创建依赖项,因此程序就不会再独立了,依赖项如果被破坏,该程序可能
转载
2023-09-27 16:53:01
161阅读
2022-1-18
地址转换
动态重定位
分段
我们引用哪个段
栈
共享支持
空闲空间管理
底层机制
地址转换
动态重定位
对于程序而言,其地址转换过程的不存在的,程序认为自己的地址就是开始于0kb,结束于固定大小,这就是地址转换的透明性,对cpu而言,实现程序地址到真实物理地址的转换很简单,cpu有两个寄存器,基
转载
2024-03-19 00:01:22
150阅读
目录建立一个图邻接矩阵邻接表深度优先遍历(DFS)具体步骤:第一部分:给定结点u,遍历u所在的连通块的所有结点第二部分:对图G所有结点进行第一部分的操作,即遍历了图的所有连通分量伪代码邻接矩阵实现邻接表实现广度优先遍历(BFS)具体步骤第一部分:给定结点u,遍历u所在的连通块的所有结点第二部分:对图G所有结点进行第一部分的操作,即遍历了图的所有连通分量伪代码邻接矩阵实现邻接表实现DFS,BFS遍历
转载
2024-04-14 08:30:36
120阅读
# Python如何获取本程序内存基址
在Python中,我们可以使用`ctypes`模块来获取本程序的内存基址。内存基址是进程中所有数据的起始地址,通常在程序运行时是不变的。
下面将介绍如何使用`ctypes`模块来获取本程序的内存基址,并且给出一个具体的问题来解决。
## 使用ctypes模块获取内存基址
`ctypes`是Python的一个外部库,它提供了与C语言兼容的数据类型和函数
原创
2023-07-22 16:56:57
1072阅读
1 #include <windows.h> 2 #include <stdio.h> 3 4 //内嵌汇编获取Kernel32的地址 5 __declspec(naked) DWORD getKernel32() 6 { 7 __asm 8 { 9 mov eax,fs:[30h] 10 mov ...
转载
2021-09-10 22:05:00
792阅读
2评论
思路:每个程序打开后他们的数据的内存地址都会改变,但他们的静态基址和偏移不会变关于获取的是静态基址,所以就算是关闭了游戏,再开启动,地址也是不变的也可以修改所以我们用CE找到他的静态地址和偏移地址,再用C/C++里面的ReadProcessMemory和WriteProcessMemory进行修改就可以了。下面用图文解析用CE找植物大战僵尸向日葵产生的那个Sunshine首先打开CE,选择植物大战
转载
2023-12-07 15:46:22
167阅读
# 学习如何实现“Python 基址”
在这篇文章中,我们将一起探讨如何在Python中实现基址。对于初学者来说,理解基址的概念非常重要,尤其是在涉及到低级编程和内存操作的领域。下面,我将为你提供一个详细的流程,包括每一步需要做什么,以及相应的代码示例和解释。
## 流程概述
为了更清晰地理解实现过程,我们将整个流程分为几个步骤。以下是每一步的简要描述:
| 步骤 | 描述
JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么)1 开门见山新建一个tomcat web项目,配置tomcat的虚拟目录,取默认值(/项目名_war_exploded) 那么如果你的tomcat的默认站点(即http://localhost:8080)没有更改的话,这个项目的两个重要的根目录就出来了web站点根目录为:http://localho
# 项目方案:使用Python查看DLL程序
## 1. 项目背景
在软件开发中,DLL(Dynamic Link Library)是一种共享库,它包含可重用的代码和数据,可以被多个程序调用。有时候我们需要了解某个DLL中包含的函数、变量等信息,本项目将介绍如何使用Python来查看DLL程序的内容。
## 2. 实现方案
我们将使用Python的ctypes库来加载DLL程序,并通过一系列操
原创
2024-06-05 05:20:10
133阅读
一、 生成C的头文件 1. 编辑Main.java public class Main
{
public native static int getStrNum(byte str[], int strLen);
} 2. 生成头文件 按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。进入上面Main.java所在的目录中,输入: javac Main.java jav
转载
2024-09-18 13:17:48
45阅读
1.这个程序是我对程序基地址和偏移量的一个测试程序,先上代码,代码运行的主要任务是打印各种变量和函数的地址 2.我运行了三次程序,昨天运行了一次,今天运行了两次,这两次间隔时间比较短,中间没有关机,程序基地址会改变,也就是说程序基地址是会变的,下面三张图 是我用PCHunter捕获的程序地址 3.下
原创
2021-09-05 10:53:38
966阅读
在python中使用dll导出函数最近在学习py,实践是:校验指定文件是否打上数字签名~python的标准库中没有提供这类函数,同时在网上搜了一下也没有找到第三方的包有提供,最后找到了可以使用Crypt32.dll的导出函数CryptQueryObject()。首先我希望pywin32的包中最好已封装这样的api,结果发现没有-_-!。于是不得不自己动手~py中调用dll的导出函数方法比较简单:f
转载
2023-08-24 09:57:05
157阅读
转载
2013-09-18 10:01:00
311阅读
2评论
python day92代理池搭建##### 1 下载
git clone git@github.com:jhao104/proxy_pool.git
##### 2 安装依赖
pip install -r requirements.txt
##### 3 修改配置文件 setting.py
DB_CONN = 'redis://127.0.0.1:8888/0'
##### 4 启
一、简介前段时间Pokemon Go的火热掀起了一股AR风潮,创新小组随后在这方面进行了一些探索,基于Unity完成了一个简单的线下社交游戏Demo,与普通多人游戏的区别主要在:游戏地图是基于真实地图制作而成,角色的位置和移动也是基于玩家自身的LBS数据。可以看做是抽出Pokemon Go的地图和角色部分,在上面增加社交游戏逻辑。游戏截图:(当前玩家位于黄龙时代广场附近)由于时间关系,玩家间的互动
Android前期环境与ios一致,剩余部分安装:1.安装Android-sdk(建议开启vpn)(也可以直接下载Android studio来使用)brew install android-sdk2.配置sdk环境变量2.1open -e .bash_profile2.2 加入以下配置export ANDROID_HOME=/usr/local/share/android-sdk //(adb位
转载
2024-09-09 12:23:02
56阅读