自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 ios逆向学习之砸壳(dumpdecrypted)和头文件获取(class-dump)

一、前言记录下自己学习ios逆向的过程,学习用到的书籍是<ios应用逆向与安全>。本人用的手机系统是ios9.3.5(不完美越狱,蛋疼)手机一定要越狱,越狱后的手机要装不少越狱插件,OpenSSH是一定不能少的。二、逆向流程首先要从AppStroe上下载目标App(抖音、微信啥的),从AppStore上下载到的软件是加密的,在运行的时候才开始解密,所以静态分析是无效的,所以...

2019-11-25 14:42:38 764

原创 IDA中复杂表达式的解析

在逆向中,IDA是经常使用到的工具,在IDA中使用最频繁的就是F5了,能够让我们看到伪C代码,但有时会看到如下语句。a1 = ( ((v48 * v34)+ (((((v19 * (v2 * v14)) * v34)+ ((v44 * v34)+ ((((v40 * v35)+ ((v35 * v39)+ ((((v32 * v35) + ((v10 * v28) + ((((v10 * ...

2019-10-30 14:52:54 530

原创 ida 插件学习(9) 查找包含指定助记符的指令

#include <loader.hpp>#include <dbg.hpp>#include <allins.hpp>#include <ida.hpp>#include <ua.hpp>int idaapi IDAP_init(void){ msg("procname: %s\n",inf.procname)...

2019-09-19 11:31:21 620

原创 ida 插件学习(8) 查找某函数交叉引用

#include <loader.hpp>#include <dbg.hpp>#include <kernwin.hpp>#include <name.hpp>int idaapi IDAP_init(void){ if(inf.filetype != f_MACHO){ //检测文件类型 ...

2019-09-18 17:43:07 1284

原创 ida 插件学习(7) 事件操作

#include <string>#include <pro.h>#include <loader.hpp>#include <dbg.hpp>static ssize_t idaapi dbg_callback(void* udata,int event_id,va_list va);int idaapi IDAP_init(vo...

2019-09-17 11:26:51 310

原创 ida 插件学习(6) 打印断点信息和进程信息

#include <string>#include <pro.h>#include <loader.hpp>#include <dbg.hpp>int idaapi IDAP_init(void){ msg("init %s\n",inf.procname); //获取处理器架构 inf为loader.hpp中的全局变量 ...

2019-09-17 11:26:16 549

原创 ida 插件学习(5) 寄存器操作

#include <string>#include <pro.h>#include <loader.hpp>#include <dbg.hpp>#include <ieee.h>int idaapi IDAP_init(void){ msg("init %s\n",inf.procname); //获取处理器架构...

2019-09-16 21:44:31 971

原创 ida 插件学习(4) 交叉引用

#include <ida.hpp>#include <idp.hpp>#include <loader.hpp>#include <kernwin.hpp>#include <xref.hpp>int idaapi IDAP_init(void){ msg("init %s\n",inf.procname); ...

2019-09-12 10:35:25 933

原创 ida 插件学习(3) 获取指令和操作数信息

#include <ida.hpp>#include <idp.hpp>#include <loader.hpp>#include <ua.hpp>#include <allins.hpp>int idaapi IDAP_init(void){ msg("init %s\n",inf.procname); //...

2019-09-11 14:29:09 842

原创 ida 插件学习(2) 遍历函数信息

#include <ida.hpp>#include <idp.hpp>#include <loader.hpp>#include <funcs.hpp>int idaapi IDAP_init(void){ msg("init %s\n",inf.procname); //获取处理器架构 inf为loader.hpp中的全...

2019-09-11 10:23:40 501

原创 ida 插件学习(1) 遍历段信息

#include <ida.hpp>#include <idp.hpp>#include <loader.hpp>#include <segment.hpp>#include <funcs.hpp>int idaapi IDAP_init(void){ msg("init %s\n",inf.proc...

2019-09-10 18:51:02 473

原创 android 不依靠aidl,自己实现Binder间通信

依靠aidl编写Binder间的通信,确实很方便,只要写好接口,Android Studio编译一下,就会在Project目录->app->generated->source->aidl->debug->包名目录下自动生成代码。为了加深理解,本文决定自己手动实现Binder客户端和服务端的通信,参考了android开发艺术探索这本书籍。先开始编写服务端,首先...

2019-05-21 11:18:22 1251 1

原创 linux 延迟重定位

以前看书的时候,模模糊糊知道linux延迟重定位的意思,没对知识点进行总结和记录,面试的时候,问到了ELF文件的时候,才知道自己并没有搞懂。在面试中,ELF文件中的plt和got是必问的问题,plt和got是用来实现linux中的延迟重定位,意思是等到调用到这个外部函数的时候再进行重定位,优点很明显,加快了程序的启动速度,在传统的运行时重定位中,在程序启动的时候,直接将对每个动态函数解析,将动...

2019-04-24 10:06:12 440

原创 fsutil 不支持该请求

使用 fsutil.exe file SetCaseSensitiveInfo C:\TargetFloder enable 更改文件启用区分大小写时,出现错误:不支持该请求。解决方案:勾选适用于Linux的Windows子系统,需要重启。...

2019-04-10 14:46:10 5114

原创 ViewPager、notifyDataSetChanged和观察者模式

一、前言最近用ViewPager做一个用户引导界面,对于为什么在setAdapter后,再对数据更改时要加notifyDataSetChanged()产生了疑惑。在不加notifyDataSetChanged()时,程序就会崩溃,并提醒你要加上notifyDataSetChanged。通过查找源码找到了答案,并且学习了一下设计模式中的观察者模式,不对的地方,欢迎指教和艾特我出来挨打。二、源...

2019-03-23 11:34:31 308

原创 Android 初识适配器(adapter)和ListView

一、前言最近初学android编程,在看到ListView的使用后,总是想不明白适配器(adapter)为什么会跟ListView在一起使用,这好像跟传统中的适配器(adpater)的作用不太像,适配器的主要作用是将不兼容的接口转换为兼容的接口。经过上网查资料和翻阅书籍资料后,发现其实适配器分为两种,传统的适配器称为类适配器,就是上面提到的那种。还有一种称为对象适配器,就是android里和L...

2019-03-19 14:13:17 156

原创 android 第一行代码 第六章 sqlite3 not Found

我的手机操作系统版本是4.4。1、更改system文件夹权限为读写adb rootadb shellmount -o rw,remount /system2、将PC上下载到的sqlite3 上传到 android的/system/xbin/目录中(文章底部提供下载),并将sqlite3的文件权限更改为4755adb push sqlite3文件绝对路径 /system/xb...

2019-03-06 14:37:58 319

原创 android 二次打包

1.首先下载个apktool,设置好环境变量,百度上有很多教程,这里就不写了2.用apktool d app-dbug.apk,对apktool.apk解包,会在当前目录下生成app-debug文件夹。3.然后你就可以在app-debug里修改东西,比如替换so文件啥的,干完之后,执行apktool b app-debug,在app-debug目录下会多一个dist文件夹,里面有一个a...

2019-02-28 18:30:13 869

原创 Android so文件函数加密

一、前言经过上次写完在ELF文件中根据函数名找函数,就准备开始编写so文件函数加密,这里这是对代码进行加密,还没有对函数名做混淆,会放到下次写。还有本次的测试机是nexus4,操作系统为android 4.4。二、函数加密一般在android中,各种核心的东西都会放在so文件中,因为native层的代码分析难度大,执行效率高。本文选择对so文件的核心函数进行加密,用来对抗静态分析。在加...

2019-02-28 17:36:27 2518 1

原创 Android ELF文件根据函数名查找函数位置

一、前言最近一段时间,工作比较空闲,准备研究下so文件上的函数加密和函数名混淆,首先从根据函数名找到对应代码开始。记得很早之前,自己写过一个ELF解析工具,到现在都忘得差不多了,趁现在这个机会,顺便复习下。本文给出两种方法来查找函数代码位置,第一种是直接遍历动态符号表,取出字符串与目标函数名比较,找到之后,根据里面的字段来得到函数代码位置。第二种是根据ELF文件中的hash节来遍历动态符号表,...

2019-02-22 10:50:26 1936 2

原创 android 逆向以debug方式启动

1、将IDA中的android_server上传到android机器上2、修改文件权限chmod 777 android_server3、以./android_server 运行服务端 (可以选择带参数,修改端口运行 ./android_server -p23456,23456可以替换成其它数)4、打开monitor。(不知道为什么,反正要开,不然容易出问题)5、以调试方式启动ap...

2019-02-16 15:00:54 593

原创 用ndk-build 编译C语言文件,生成可在android系统上运行的文件

1、首先要在你的linux上装上ndk-build。到这个网站上下载http://dl.google.com/android/ndk/android-ndk64-r10-linux-x86.tar.bz22、解压文件 tar   -jxvf   xx.tar.bz23、设置环境变量,我的是unbuntu14 ,在/home/自己的用户名/.bashrc这个文件上添加一条 export   ...

2019-02-14 18:03:51 1343 1

原创 DDMS 获取UI布局中 报Error obtaining UI hierarchy

1.使用输入 adb root 命令解决2.假如输入adb root报错 adbd cannot run as root in production builds,安装 adbd insecur.apk,安装完毕后,勾选Enable insecure adbd和Enable at root,接着输入adb root即可解决 ...

2019-01-06 13:45:42 2352 1

原创 orangeg's 操作系统的实现-于渊-学习笔记 boot从磁盘中读取loader的过程

       由于BIOS是从磁盘的第一个扇区中只读取512字节,所以boot.bin所做的事很局限,所以我们用boot.bin中读取loader.bin,loader.bin所占字节大小不受限制,所以能做更多的事。boot.bin读取loader.bin的过程:首先需要找到根目录区,根目录区在文件系统的第19个扇区。       接着从根目录开始,每次读取大小为32字节的条目中的...

2018-12-01 17:55:13 236

原创 android 逆向 .so文件 IDA 动态调试

1.首先一定要有一个root过的android手机,我用的是nexus4,操作系统版本android4.4,咸鱼买的。2.打开手机中的开发者选项,勾选调试选项中的USB调试。3.现在可以将手机与电脑用数据线连接(有的数据线不行,也会影响调试),在电脑中开启控制台窗口,输入adb devices,可以看 到已经检查到设备了。4.这时候可以使用adb push "C:\Prog...

2018-05-31 13:48:21 325

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除