车机--android安全[逆向介绍]

OllyDbg(OD):http://www.52pojie.cn/thread-350397-1-1.html
PEID:http://www.52pojie.cn/thread-170387-1-1.html
Exeinfo PE:http://www.52pojie.cn/thread-437586-1-1.html
樱花补丁制作工具:http://www.52pojie.cn/thread-62307-1-1.html
内存补丁生成器:http://www.52pojie.cn/thread-162411-1-1.html
注册机生成器:http://www.52pojie.cn/thread-159470-1-1.html
IDA Pro v6.8:http://www.52pojie.cn/thread-442702-1-1.html
吾爱破解工具包2.0:http://www.52pojie.cn/thread-463343-1-1.html

原生程序生成过程。
(1)预处理,编译器处理c代码中的预处理指令。
gcc -E hello.c -o hello.i
(2)编译 gcc编译器首先要检查代码的规范性,以及是否有语法错误,在检查无误之后,gcc编译把代码翻译成ARM汇编语言的代码。
gcc -S hello.i -o hello.s
(3)汇编,gcc编译器会挑用汇编器将汇编代码汇编成二进制目标文件。
gcc -c hello.s -o hello.o
(4)链接,这个阶段会调用链接器将二进制的目标文件链接成android平台可执行的ARM远程程序。
gcc hello.o -o hello

IDA使用:
主界面工作区显示
IDA View-A是反汇编窗口,
HexView-A是十六进制格式显示的窗口,
Imports是导入表(程序中调用到的外面的函数),
Functions是函数表(这个程序中的函数),
Structures是结构,
Enums是枚举。


EAX 是”累加器”(accumulator), 它是很多加法乘法指令的缺省寄存器。 
EBX 是”基地址”(base)寄存器, 在内存寻址时存放基地址。 
ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。 
EDX 则总是被用来放整数除法产生的余数。 
ESI/EDI 分别叫做”源/目标索引寄存器”(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串。 
EBP 是”基址指针”(BASE POINTER), 它最经常被用作高级语言函数调用的”框架指针”(frame pointer)。
ESP 专门用作堆栈指针,被形象地称为栈顶指针,堆栈的顶部是地址小的区域,压入堆栈的数据越多,ESP也就越来越小。在32位平台上,ESP每次减少4字节。

资料转移指令 
MOV 移动
MOVC 程式记忆体移动
MOVX 外部RAM和扩展I/O口与累加器A的数据传送指令
PUSH 放入堆叠
POP 由堆叠取回
XCH 8位元交换
XCHD 低4位元交换 
SWAP 高低4位元交换 

算术指令 
ADD 两数相加
ADDC 两数相加再加C
SUBB 两数相减再减C
INC 加一指令
DEC 减一指令
MUL (MUL AB乘法指令仅此一条)相乘指令,所得的16位二进制数低8位存累加器A高8位存B
DIV (DIV AB 除法指令仅此一条)相除指令,所得商存A,余数存B
DA (DA A 只此一条指令)调整为十进数 

逻辑指令 
ANL做AND(逻辑与)运算
ORL做OR(逻辑或)运算
XRL 做(逻辑异或)运算
CLR 清除为0
CPL 取反指令
RL 不带进位左环移
RLC 带进位左环移
RR 不带进位右环移
RRC 带进位右环移

控制转移类指令 
JC C=1时跳
JNC C=0时跳
JB 位元=1时跳
JNB 位元=0时跳
JBC 位元=1时跳且清除此位元
LCALL 长调用子程序
ACALL 绝对调用子程序
RET 由副程式返回
RETI 由中断副程式返回
AJMP 绝对转移
SJMP 相对转移
JMP @A+DPTR 散转,相对DPTR的间接转移
JZ A=0时跳
JNZA 0时跳
CJNE 二数比较,不相等时跳
DJNZ 减一,不等於0时跳
NOP 空操作

位变量指令
SETB 设定为1

ORG 程序开始,规定程序的起始地址
END 程序结束
EQU  等值指令(先赋值后使用)例:SUM EQU 30H
DB 定义字节指令
DW 定义字内容
DS 定义保留一定的存贮单元数目   
BIT 位地址符号指令 例:SAM BIT P1.0
RET 子程序返回指令
RETI 中断子程序返回指令
$ 本条指令地址


 

扫描二维码关注公众号,回复: 2777776 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_39325340/article/details/81538693