ida檢視so程式碼,並修改的方法
1、用ida開啟so檔案,選項裡面是:
elf for arm 下面是 metaPC
2、F5可以開啟看C的虛擬碼檢視,然後雙擊左邊的函式名,就可以檢視虛擬碼了。
3、從函式開始到ida註釋的 End of function ... 就是函式程式碼部分。指令地址就是檔案開始地址,可以用winhex編輯檔案來改動指令,1個指令1般是從ida指定的地址開始,佔用2個或4個位元組。
4、如果要清空函式邏輯:注意不能刪除so檔案位元組,只能替換指令,否則地址都亂了。
a、函式沒有返回值,直接對這個區域的指令全部改成 16進位制的00
b、函式有返回值的,如果需要返回0,最後2條指令改成 mov R0, #0 BX LR【這2條指令共4個位元組,是多少可以參考其他有含返回的函式】,除了這2條指令,其他都改成 0x00
關閉so檔案,不儲存資料庫, 然後再開啟so,就可以看到改動的效果了。
相關推薦
ida檢視so程式碼,並修改的方法
1、用ida開啟so檔案,選項裡面是: elf for arm 下面是 metaPC 2、F5可以開啟看C的虛擬碼檢視,然後雙擊左邊的函式名,就可以檢視虛擬碼了。 3、從函式開始到ida註釋的 End of function ... 就是函式程式碼部分。指令
IDA附加除錯apk程式,並修改記憶體,編寫IDA指令碼程式,把修改後的dex檔案dump到本地
我的測試環境:模擬器 Android 4.2 armeavi-v7a 1.IDA附加除錯apk程式 找到IDA所在目錄,在dbgsrv資料夾下找到程式android_server 在這裡按住“Shift +滑鼠右鍵”,開啟控制檯 把程式android_server
android studio 2.2.3 匯入第三方.so,並呼叫方法(無cpp、c原始碼)
廠家只提供了.so檔案、Demo(說明文件)的情況下,沒有jar包,如何呼叫方法的總結。 1. 建立NDK工程,把工程自帶的刪掉,留著其實也不影響。
git 提交新項目,並修改用戶名以及提交郵箱
github php 本地有一個項目myweb,裏面有.git目錄。線上新建了git倉庫,gitweb。現在要把myweb提交到線上。直接在myweb目錄下,以免沖突,提交不了。所以我用了copy的方法。1.先把項目myweb的 .git目錄,刪除。 2.在/data目錄下,git clone線上的倉庫
序列通用操作,原地修改方法,深淺複製
序列的通用操作 Python包含6種內建的序列:列表,元組,字串,Unicode字串,buffer物件和xrang物件。 所有序列型別都可以進行某些特定的操作。這些操作包括但不限於:索引(indexing),分片(slicing),加(adding),乘(multiplying),以及成員資格
Windows下配置Redis,並修改密碼
我參考了很多網路上的修改方法,我覺得有些許問題。下面我簡單的說下我的解決辦法。 1.首先找到Redis的服務啟動情況: 2.再檢視Redis服務的屬性 3.需要修改的是 redis.windows-service.conf 配置檔案,非redis.windo
【複製指定目錄下的指定型別檔案,並修改後綴名】
package com.companyname.common.test; import java.io.*; /** * @Description * @Author Created by shusheng. * @Email [email protected] * @Date 2
【復制指定目錄下的指定類型文件,並修改後綴名】
[] row pre 封裝 ray exist exceptio main create package com.companyname.common.test; import java.io.*; /** * @Description * @Author Cre
android 建立或轉出檔案後,在電腦端檢視檔案時,並沒有對應的變化
問題: 在手機連線電腦狀態時,手機應用建立或刪除檔案/資料夾時,電腦端檢視檔案/資料夾時,沒有看到相應的操作。即:當應用刪除檔案時,電腦端依舊可以看到檔案存在;或當應用建立後,電腦端查詢不到相應檔案。 原因: Android手機系統對於檔案的處理的模式,手機需
【浮動導航欄的定位】JS監聽動態頁面元素距離底部距離,並修改定位樣式
需求:一個定位position:fixed;的選單欄,移動到底部時依然存在,影響頁面美觀,我們希望當滾輪移到頁面末尾時選單欄更換為絕對定位。 解決:JS沒有直接獲取元素距離頁面底部距離的函式,因此可利用全文高度-當前高度取得差值來間接判斷。 <!DOCTYPE html
java實現反編譯apk,並修改AndroidManifest.xml,再生成apk的工具
因為公司要求,需要弄一個能夠修改AndroidManifest.xml二進位制檔案內容的工具。該工具需要實現修改AndroidManifest.xml中標籤屬性值的功能。目前bug還有不少,後面會慢慢完善的。 工具功能說明: 1.解壓apk安裝包,獲得androidMan
圖片轉為灰度圖,並修改尺寸
# 轉為灰度圖 from PIL import Image for img in os.listdir(train_path): img_open = Image.open(train_path + img) img_L = img_open.convert(
fidller檢視請求響應資料並修改
Ctrl + X ,清除fiddler介面抓取到的所有內容 命令列輸入:bpu “介面”,則斷點該介面請求與響應: 斷點效果如下: 修改請求,點選“Break on Respone”放開斷點,則自動攔截響應 修改響應,點選“Run to Completi
Django分頁中介軟體dj-pagination的使用,並修改pagination.html模板
最近做網路相關輿情分析需要分頁,就查看了很多的相關資料,最後發現其實,已經有現成的分頁中介軟體可以直接使用,相當方便。本次就介紹一些dj-pagination的相關知識。 具體的請參考官網:https://dj-p
linux下gcc編譯 .c檔案生成動態連結庫 .so檔案,並測試呼叫該連結庫
簡單介紹:linux中so檔案為共享庫,和windows下dll相似;so可以共多個程序呼叫,不同程序呼叫同一個so檔案,所使用so檔案不同;so原檔案不需要main函式;例項,1.通過mysqlTest.c中的函式mysql(),生成一個libmysql.so連結庫#inc
vmware workstation 12 實現虛擬機器克隆,並修改相關配置
左側欄,我的計算機,選擇需要克隆的虛擬機器,右鍵,管理->克隆 點選下一步,選擇虛擬機器中的當前狀態(如果有快照也可選擇快照,方法是右鍵虛擬機器,快照->拍攝快照),下一步,選擇建立完整克隆(克隆一份獨立的系統出來,需要較大的系統空間),填寫虛擬機器名稱,選擇
【shell】對指定資料夾中檔案進行過濾,並修改檔案內容的shell指令碼
編寫shell指令碼,對某個資料夾內搜尋指定檔案並對檔案內容進行更改: 在桌面建立shell_test資料夾 進入shell_test資料夾,建立5個測試檔案 在shell_test資料夾中再建立一個666資料夾,繼續再建立5個檔案,如圖: 分
Linux中mysql修改系統時間為北京時間,並修改成24h制
遇到這樣一個問題,linux伺服器下mysql的時間一直顯示的是12h制,但是想要的是24小時制,看到別人的建議是修改Linux時間為24h制,並重啟mysql便可。以下是一種便捷有效的修改linux時間格式和時區的方式。1.按照順序執行以下操作:tzselect5 --&g
jquery 複製元素,並修改屬性,追加到另一個元素後面
jquery 複製元素,並修改屬性 $('#ID').clone()方法能克隆一個元素 $('#ID').attr('ID', 'NewID'); 修改ID為新的ID名 =======================【舉例】=======================
ShareSdk整合之一,植入程式碼,可修改圖示,修改分享樣式
一、資料準備 1、官方後臺建立開發者賬號,建立應用,獲取key 2、下載sdk;勾選要整合的平臺; 3、解壓資料夾,得到以下目錄;3、再次生成需要的平臺後二、整合shareSdk 1、(官方整合的第一種方式) 直接複製jar和資源的方式,可以參考ShareSD