逆向---01.Nop、中文字符串搜索、保存修改後程序
基礎知識:(Nop:刪除跳轉)
gcc編譯鏈接命令: gcc -o 生成文件名 源文件名 gcc編譯成匯編代碼:gcc -o 生成文件名 -S 源文件名
VS查看匯編代碼:(調試模式下,Ctrl+F11)
反匯編工具:(可以去吾愛、看雪、學破解等論壇下載相關工具)
靜態一般用:C32Asm 或者 W32DASM(現在IDA Pro用的也挺多,不過要安裝Python)
動態一般用:OD
舉個登錄密碼破解的栗子:
先找關鍵字,不要太多,比如這個,密碼錯誤
OD載入程序後右擊,中文搜索引擎,智能搜索
輸入關鍵字,確定後找到那一行,雙擊就會進入匯編代碼處
發現上面有一個跳轉,然後就提示用戶名密碼錯誤了(紅色跳轉線
代表跳轉實現,灰色的代表跳轉沒實現)這個類似於,if else,if條件不滿足,然後執行了else的內容,也就是提示密碼錯誤
我們把這個Nop掉,那麽if的判斷也就不執行了
右擊,復制到可執行文件,選擇(當前選定的修改內容)
右擊保存文件,然後重命名一下就好了
再打開不用輸入密碼也可以進去了
逆向---01.Nop、中文字符串搜索、保存修改後程序
相關推薦
逆向---01.Nop、中文字符串搜索、保存修改後程序
class target down get blog ctrl 反匯編 生成文件 輸入 基礎知識:(Nop:刪除跳轉) gcc編譯鏈接命令: gcc -o 生成文件名 源文件名 gcc編譯成匯編代碼:gcc -o 生成文件名 -S 源文件名 VS查看匯編代碼:(調試
wprintf、wcout輸出中文和unicode中文字符串的轉換問題
fan 5% 轉換問題 int 字符串 ssa dst unicode zed %E4%BD%BF%E7%94%A8CHttpFile%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E6%AD%A3%E7%A1%AE%E7%9A%
python中文字符串編碼問題
err har .json 情況 comm 常用 class not 字符串類型 接口測試的時候,發現接口返回內容是uncodie類型但是包含中文。在使用print進行打印時輸出提示錯誤: UnicodeEncodeError: ‘ascii‘ codec can‘t e
201671010127 2016-2017-11 從鍵盤讀入中文字符串遇到的問題
scanner 然而 發現 ges 沒有 技術 ner new 其中 上周測試戶籍管理系統時,我偶然發現了一個問題,在IDE下運行該程序時,如果輸入為中文字符串時會遇到一些問題。下面我就以一個簡單的程序來演示該問題: 首先我先寫一個從鍵盤讀入一個中文字符串,然後輸出
解決Spring MVC @ResponseBody返回中文字符串亂碼問題
有效 per log bean dia media converter 原因 ons 引起亂碼原因為spring mvc使用的默認處理字符串編碼為ISO-8859-1 具體參考org.springframework.http.converter.StringHttpMess
將int數字轉為中文字符串
blog arr num rec intval elseif pos val != 1 function int_to_cnstr($intval) { 2 $cnNum = array(‘零‘,‘一‘,‘二‘,‘三‘,‘四‘,‘五‘,‘六‘,‘七‘,‘八‘,
Oracle提取中文字符串拼音首字母函數
oracl code 通過 sort target cti arch clas pinyin 通過oracle的NLSSORT函數對漢字按照拼音排序,然後根據漢字的區間返回對應的首字母。 效果1,獲取拼音簡碼: 效果2,獲取姓名首字母: 創建函數: /*
Python: 字符串搜索和匹配,re.compile() 編譯正則表達式字符串,然後使用match() , findall() 或者finditer() 等方法
nth post cde clas import 預編譯 正則 一次 find 1. 使用find()方法 >>> text = ‘yeah, but no, but yeah, but no, but yeah‘ >>> text.fi
Gson字符串編碼,字符串轉換成圖片保存,二進制轉換成圖片保存
tex pen text one ext align lin rim mon import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.File;
java面試題:如果一串字符如"aaaabbc中國1512"要分別統計英文字符的數量,中文字符的數量,和數字字符的數量,假設字符中沒有中文字符、英文字符、數字字符之外的其他特殊字符。
rgs info log letter clas [] 面試題 .com ack package com.swift; public class TotalNumber_String { public static void main(String[] arg
遞歸(計算組合數、判斷回文字符串、漢諾塔問題)
文字 bigint 是否 rar blog rgs port 所有 相等 一.使用組合數公式利用n!來計算 1.設計思想 先輸入整數n和k,分別用計算n!的遞歸的方法算出n!,k!和(n-k)!的結果,再計算n!/(k!(n-k)!!。用大數類BigInte
Python中字符串、列表、元組、字典
python、運維1.字符串字符串四種定義方式:' ' " " ''' ''' """ """字符串的下標和切片:如: name = abcd
黑馬基礎階段測試題:創建一個存儲字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大數據與雲計算”。遍歷集合,將長度小於5的字符串從集合中刪除,刪除成功後,打印集合中的所有元素
cti ati pac 完成 body ava 字符 c++ rgs package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator
Python3中字符串的編碼與解碼以及編碼之間轉換(decode、encode)
python3 encode 由於 表示 nic code .... 以及 mage 一、編碼 二、編碼與解碼 Python3中對py文件的默認編碼是urf-8。但是字符串的編碼是Unicode。 由於Unicode采用32位4個字節來表示一個字符,存儲和傳輸太浪費資
python 判斷字符串中是否只有中文字符
true code 是否 div for def clas AS 字符 python 判斷字符串中是否只有中文字符 學習了:https://segmentfault.com/q/1010000007898150 def is_all_zh(s): for c in
獲取字符串中長度最長的回文字符串
div clas app ont get length append spa first def get_f_l(s_length,s,list_all,last_d): max_l=0 first_d=0 last_d=0
Oracle11g創建表空間、創建用戶、角色授權、導入導出表以及中文字符亂碼問題
格式不支持 sysdba 導出 shu ble cad set 導入 lan 前提:本機已經安裝了Oracle11g數據庫。 需求:使用PL SQL數據庫連接工具操作Oracle數據庫 一、創建表空間和用戶 想要操作數據庫,首先需要創建用戶並給用戶
JavaScript中字符串分割函數split用法實例
介紹 left order 正則表達式 如果 java today script 設計 這篇文章主要介紹了JavaScript中字符串分割函數split用法,實例分析了javascript中split函數操作字符串的技巧,非常具有實用價值,需要的朋友可以參考下 本文實例講
Java Longest Palindromic Substring(最長回文字符串)
post 復雜 sam check eth println void empty [] 假設一個字符串從左向右寫和從右向左寫是一樣的,這種字符串就叫做palindromic string。如aba,或者abba。本題是這種,給定輸入一個字符串。要求輸出一個子串,使得子串
四:Java之字符串操作String、StringBuffer和StringBuilder
equal const wstring str asi 有時 string對象 階段 stringbu string是我們經經常使用到的一個類型,事實上有時候認為敲代碼就是在重復的操作字符串,這是C的特點,在java中。jdk非常好的封裝了關於字符串的操