9.x86游戲實戰-匯編指令mov

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動!

本次游戲沒法給

內容參考于:微塵網絡安全

工具下載:

鏈接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取碼:6tw3

復制這段內容后打開百度網盤手機App,操作更方便哦

上一個內容:8.x86游戲實戰-OD詳解

OD使用過程中會經常卡死,只能通過任務管理器結束,然后重新來

有時候OD附加完進程,下圖紅框位置是空白的(什么也沒有)

這時點一下下圖紅框位置的C就好了

然后有時候進程的線程會停止,需要檢查一下

如果有線程停止了(不是激活狀態),如下圖點擊 Resume All threads讓線程啟動

學習匯編代碼,就要寫代碼,就要執行代碼,最簡單的方式就是使用OD附加一個進程,然后找這個進程一直運行的代碼,然后在一直運行的代碼里下斷點(后面就能看到斷點是什么東西了),下了斷點之后寫匯編代碼,然后使用斷點的功能一行一行的執行代碼

進程中什么位置會一直執行?ws2_32.send,send函數是網絡程序用于給服務器發送數據包的(有的游戲不使用send,其它的后面在寫)

OD附加進程,這里多一嘴OD也可以不用管理員啟動也能附加進程,用不用管理員要看要被附加的進程,所以為了省心直接全用管理員啟動就好了

鼠標按住下圖紅框位置,然后拖到要附加的程序窗口上,然后放開鼠標

然后點是就可以了

然后會到入口點,如下圖,這時被附加程序會卡死,OD的狀態如下圖也是暫停,這時點下圖紅框位置讓附加進程運行起來

OD附加完進程之后,點擊下圖紅框位置,也就是點擊代碼段區域

然后按ctrl+g,然后輸入 ws2_32.send,然后點OK,如果點了OK沒反應,那就重新操作幾次

然后就能跳轉到send函數了,跳轉到send函數的頭部,也就是send函數的第一行,ws2_32是模塊名,ws2_32.send意思是跳轉到ws2_32模塊里的send函數,有多個函數叫send所以需要指定模塊名,然后為什么用ws2_32模塊里的send函數?別管為什么這里記住用ws2_32里的send函數就行,后面就能知道原因了

首先選中下圖紅框位置(send函數的第一行)

然后按f2,下圖紫色框框起來的位置就變成紅色了,這說明這里下了斷點,當程序執行到這時會卡主

然后在程序做一個可以發送數據包的操作,停下來(或者說斷下來)的樣子,如下圖

然后多選幾行代碼,然后鼠標右擊選擇填充為NOP

NOP的意思是沒有代碼,處理器執行到NOP時不做任何操作,然后繼續往下執行,NOP的硬編碼是0x90

然后開始寫mov指令,雙擊下圖紅框位置

然后輸入mov eax, 1

然后點匯編,點了匯編按鈕之后窗口不會自動關閉,需要手動關

然后就有了 mov eax, 1 代碼

然后接下來按 f8,讓它運行一下看看效果,如下圖,可以看到eax變成了1

然后寫mov ecx, [0x1484438],取地址的值

然后點了匯編之后,它給我們添加dword ptr,ptr表示地址,dword是數據寬度(4字節寬度)

然后按f8執行代碼看看效果,這就是一個取內存地址里面值的效果

然后還能寫 mov [0x1484438], 2,給內存地址里的值修改掉

然后點匯編的時候它讓寫一個操作數大小

這里寫一個dword,4字節大小

然后點匯編就變成了下圖的樣子

然后按f8執行代碼的效果,游戲崩潰了,這說明改成功了,我們是把0x1484438里的值改成了2,0x1484438原本的值是一個內存地址,然后2不是一個正常的內存地址,所以它蹦了

然后如下圖紅框,有的時候寫了內存地址,點擊匯編之后,它會變成英文,這是翻譯的問題,它把內存地址翻譯成了函數名(一般之后函數才會被翻譯成英文)

c/c++寫匯編,下方的代碼是32位的匯編寫法,64位匯編沒法用_asm寫,64位的匯編后面用到的時候會寫

#include <iostream>
#include "Windows.h"int main()
{int a = 1;int b = 1;_asm {mov a,2mov eax,3mov b, eax}printf("%d, %d", a, b);
}


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40811.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40811.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40811.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java實現多級菜單展示(遞歸)

實體類如下&#xff1a; package com.ssdl.baize.po;import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagge…

cefsharp在splitContainer.Panel2中顯示調試工具DevTools(非彈出式)含源代碼

一、彈出式調試工具 (ShowDevTools) ChromiumWebBrowser webbrowser; public void showDevTools(){//定位到某元素webbrowser.ShowDevTools(null, parameters.XCoord, parameters.YCoord);

STM32智能農業監控系統教程

目錄 引言環境準備智能農業監控系統基礎代碼實現&#xff1a;實現智能農業監控系統 4.1 數據采集模塊 4.2 數據處理與分析 4.3 控制系統實現 4.4 用戶界面與數據可視化應用場景&#xff1a;農業監控與優化問題解決方案與優化收尾與總結 1. 引言 智能農業監控系統利用STM32嵌…

代碼隨想錄day37 動態規劃(3)

416. 分割等和子集 - 力扣&#xff08;LeetCode&#xff09; 解1&#xff1a;二維dp數組&#xff0c;時間O(m*n)&#xff0c;空間O(m*n)&#xff0c;m、n為dp數組的行和列數。 判斷原數組總和能否整除2&#xff1b; 將target設為total // 2&#xff08;若是total / 2&#…

遇到的異步問題

事例1&#xff1a; app.post("/predictfunc") async def predictfunc(item: Item):# 使用asyncio.to_thread()在單獨的線程中運行predict_in_threadresult await asyncio.to_thread(predictfunc_main, item)return result 事例2&#xff1a; app.post("/remo…

PCL從理解到應用【02】PCL環境安裝 | PCL測試| Linux系統

前言 本文介紹在Ubuntu18.04系統中&#xff0c;如何安裝PCL。 源碼安裝方式&#xff1a;pcl版本1.91&#xff0c;vtk版本8.2.0&#xff0c;Ubuntu版本18.04。 安裝好后&#xff0c;可以看到pcl的庫&#xff0c;在/usr/lib/中&#xff1b; 通過編寫C代碼&#xff0c;直接調用…

華為路由器靜態路由配置(eNSP模擬實驗)

實驗目標 如圖下所示&#xff0c;讓PC1ping通PC2 具體操作 配置PC設備ip 先配置PC1的ip、掩碼、網關。PC2也做這樣的配置 配置路由器ip 配置G0/0/0的ip信息 #進入系統 <Huawei>system-view #進入GigabitEthernet0/0/0接口 [Huawei]int G0/0/0 #設置接口的ip和掩碼 […

【UE5.3】筆記7 控制Pawn移動

使用A、D鍵控制角色左右移動 打開我們的BP_Player藍圖類&#xff0c;選擇事件圖表&#xff0c;添加我們的控制事件 右鍵&#xff0c;搜索A keyboard&#xff0c;選擇A,如下圖&#xff0c;D也是 添加扭矩力 首先我們要把我們的player上的模擬物理選項打開&#xff0c;這樣我們…

ChatGPT在Java后端開發中的應用與影響

隨著人工智能技術的發展&#xff0c;尤其是OpenAI推出的聊天機器人模型ChatGPT&#xff0c;其強大的自然語言理解和生成能力正在改變著我們的生活和工作方式。在Java后端開發領域&#xff0c;ChatGPT同樣有著廣泛的應用前景&#xff0c;并且能夠為Java后端開發者帶來諸多好處。…

Caused by: java.io.IOException: Broken pipe

IO異常&#xff1a;管道破裂。 推薦文章&#xff1a;解決java.io.IOException: Broken pipe的報錯

JavaFx基礎知識

1.Stage 舞臺 如此這樣的一個框框&#xff0c;舞臺只是這個框框&#xff0c;并不管里面的內容 public void start(Stage primaryStage) throws Exception {primaryStage.setScene(new Scene(new Group()));primaryStage.getIcons().add(new Image("/icon/img.png"))…

【不銹鋼酸退作業區退火爐用高溫輻射計快速安裝】

項目名稱 不銹鋼酸退作業區退火爐用高溫輻射計快速安裝 改造實施項目簡介項目提出前狀況:不銹鋼生產過程中,各種型號的不銹鋼帶鋼在退火工藝中對帶鋼溫度的準確性要求很高,帶鋼溫度的檢測直接影響帶鋼的產品質量,不銹鋼帶鋼溫度測量依靠的是高溫輻射計,其測量的準確性、穩…

【Python機器學習】算法鏈與管道——通用的管道接口

Pipeline類補單可以用于預處理和分類&#xff0c;實際上還可以將任意數量的估計器連接在一起。例如&#xff0c;我們可以構建一個包含特征提取、特征選擇、縮放和分類的管道&#xff0c;總共有4個步驟。同樣的&#xff0c;最后一步可以用聚類或回歸代替。 對于管道中估計器的唯…

@Validated 根據字段的值不同,動態分組校驗

GroupSequenceProvider 配置 作用域只在單個對象的字段里 Data GroupSequenceProvider(value TestProvider.class) public class TestRO {NotNull(message "不能為空",groups ValidatedRemark.A.class)Pattern(regexp "2|3|",message "只能為2,…

vue2使用use注冊自定義指令實現權限控制

版本環境 vue的版本是^2.6.12&#xff0c;將會使用到Vue.use()、Vue.directive() 適用環境 頁面某些按鈕&#xff0c;需要受到當前登錄用戶的“角色”“權限”的影響&#xff0c;通過store獲取角色role和權限permission&#xff0c;通過自定義指令的方式&#xff0c;控制某一…

antd DatePicker日期選擇框限制最多選擇一年

實現效果 實現邏輯 import React, { useState } from react;const ParentComponent () > {const [dates, setDates] useState(null);const disabledDate (current) > {if (!dates) {return false;}const tooLate dates[0] && current.diff(dates[0], days) &…

Appium自動化測試框架1

電腦的瀏覽器 手機的瀏覽器 手機上的app 原生的應用 純java 手機上的app apk 移動網頁應用 純HTML CSS 手機的瀏覽器上 電腦的瀏覽器上 混合應用 java html css python代碼 Appium python庫 Appium 手機 都是代表本機 0.0.0.0 127.0.0.1 localhost 如何啟動app 啟動參…

土壤養分化驗儀:農業生態與可持續發展

隨著現代農業技術的不斷進步&#xff0c;土壤養分化驗儀在農業生產中扮演著越來越重要的角色。這款高科技設備以其高精度、高效率的特點&#xff0c;為農業生態與可持續發展提供了強有力的支撐。 一、農田土壤監測與管理 農田是土壤養分化驗儀最主要的應用場所。通過對農田土壤…

【AI】DeepStream(14):圖像分割deepstream-segmentation-test示例演示

【AI】AI學習目錄匯總 1、簡介 deepstream-segmentation-test示例演示了圖像的語義分割。兩個配置文件,分別加載U-Net和Res-UNet兩種分割模型 unet_output_graph.uffunetres18_v4_pruned0.65_800_data.uffU-Net是一個在生物醫學圖像分割領域廣泛應用的卷積神經網絡(CNN),…

集團型企業組織架構復雜,業務線多,如何進行高效費用管控?

企業管理中流行這樣一句話&#xff1a;“企業轉型&#xff0c;財務先行”。對集團型企業而言&#xff0c;當今的發展形勢下&#xff0c;通過財務戰略全面轉型、最終撬動企業價值提升&#xff0c;是一件難而正確的事情。 集團企業具有經營規模大、產業鏈多、分支機構多、地域跨度…