首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
修改安卓内核文件过反调试
2024-11-04
修改Android手机内核,绕过反调试
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/57086486 0x1.手机设备环境 Model number: Nexus 5 OS Version: Android 4.4.4 KTU84P Kernel Version: 3.4.0-gd59db4e 0x2.Android内核提取 查找Android设备的boot分区文件.高通芯片的设备可以通过下面的命令进行查找. cd /home/androidcode/Android
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把浏览方式设为 内部web browser才会加载到最新的js文件:浏览方式为其它时,加载的js还是旧版的! 解决方案:
Xamarin中 ios 修改Assets.xcassets 文件后 无法调试和编译
根本问题是因为 vs项目里面 没有包含 如果提示找不到对应png 请检查 iOS 项目卸载后 编辑 并找到对应文件检查 <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\icon-72.png"> <Visible>false</Visible> </ImageAsset> <ImageAsset Include="Assets.xcasset
ELF反调试初探
ELF反调试初探 http://www.freebuf.com/sectool/83509.html ELF(Executable and Linkable Format)是Unix及类Unix系统下可执行文件.共享库等二进制文件标准格式.为了提高动态分析的难度,我们往往需要对ELF文件增加反调试措施.本文便对相关技术进行了总结归纳. 1.背景知识 1.1 ELF文件布局 ELF文件主要由以下几部分组成: (1) ELF header (2) Program header table,对应于se
华为手机内核代码的编译及刷入教程【通过魔改华为P9 Android Kernel 对抗反调试机制】
0x00 写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP(即"Android 开放源代码项目",可以理解为原生安卓源码)进行修改,然后编译成二进制镜像再刷入Nexus 或者Pixel 等 谷歌亲儿子手机.但因为谷歌的亲儿子在国内没有行货销售渠道,市场占有率更多的是国产手机,而修改国产手机系统内核的教程却很少,加之部分国产手机的安卓内核和主线 A
编译Android内核 For nexus 5 以及绕过Android的反调试
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54880488 前面的博客中已经记录了Nexus 5手机的Android 4.4.4 r1源码的编译基于 ubuntu 14.04.5,后面在该编译环境下来学习一下Android内核源码的编译基于Nexus 5手机. 一.Android内核源码的下载和编译 有关Android内核源码的下载信息可以参考谷歌官网的地址https://source.android.com/source/
Win7 x86内核调试与TP反调试的研究
参考 这两天对某P双机调试的学习及成果 ,非常好的一篇分析贴. 本文在Win7 x86下的分析,在虚拟机中以/DEBUG模式启动TP游戏,系统会自动重启. 0x01 内核调试全局变量 根据软件调试第十八章,windows启动过程中会调用两次KdInitSystem()函数 第一次调用KdInitSystem分别会初始化如下变量 1.KdPitchDebugger : Boolean 用来表示是否显示的抑制内核调试, 当启动项中包含 /NODEBUG选项时,这个变量会被置为 TRUE2.KdD
用 ilasm 反编译、修改.net dll文件
有些.net dll我们没有源码,如果要修改某些东西,可以用ilasm.exe反编译为il代码,修改后再编译回dll ilasm通常放在以下路径 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe 反编译dll 用ilasm打开一个dll文件,然后点击[文件]->[转储] 点击[确定]保存为一个il文件 用vs打开il文件进行修改,然后用以下命令,重新编译dll文件 如果反编译出来的dll带了res资源文件,编译回去的时候需要加参数/R
基于TLS的反调试技术
TLS(Thread Local Storage 线程局部存储) 一个进程中的每个线程在访问同一个线程局部存储时,访问到的都是独立的绑定于该线程的数据块.在PEB(进程环境块)中TLS存储槽共64个(位于PEB的TlsBitmapBits字段中,共64位(bit)微软保证每个进程最少拥有64个索引可用,如果需要,系统还会为线程提供更多的索引).每个TEB(线程环境块)偏移0x2C处是一个PVOID THreadLocalStoragePointer指针,存放着当前进程TLS副本地址.TLS对每个
Android反调试笔记
1)代码执行时间检测 通过取系统时间,检测关键代码执行耗时,检测单步调试,类似函数有:time,gettimeofday,clock_gettime. 也可以直接使用汇编指令RDTSC读取,但测试ARM64有兼容问题. time_t t1, t2; time (&t1); /* Parts of Important Codes */ time (&t2); if (t2 - t1 > 2) { puts ("debugged"); } 2)检测 procfs 文件
浅谈android反调试之轮询TracePid(解决方案是特色)
参考文章: 1. http://bbs.pediy.com/thread-207538.htm 2. http://www.wjdiankong.cn/android 需求: 常见的Android 反调试方案其实并不多, 就那么几种, 其中一种方案通过轮训TracePid, 具体实现如下: 对于这种非反调试,我们通常的做法是这个找到这个轮训线程,通过修改代码,不让这个运行,或者还有其他做法. 但是这些做法都需要我们去分析代码, 修改代码. 时间是宝贵的, 如何节省这些时间,让我们把更多
APP加固反调试(Anti-debugging)技术点汇总
0x00 时间相关反调试 通过计算某部分代码的执行时间差来判断是否被调试,在Linux内核下可以通过time.gettimeofday,或者直接通过sys call来获取当前时间.另外,还可以通过自定义SIGALRM信号来判断程序运行是否超时. 0x01 检测关键文件 (1)/proc/pid/status./proc/pid/task/pid/status 在调试状态下,Linux内核会向某些文件写入一些进程状态的信息,比如向/proc/pid/status或/proc/pid/task/pi
Windows反调试技术(下)
OD的DBGHELP模块 检测DBGHELP模块,此模块是用来加载调试符号的,所以一般加载此模块的进程的进程就是调试器.绕过方法也很简单,将DBGHELP.DLL改名. #include <Windows.h> #include <TlHelp32.h> int main(int argc, char * argv[]) { HANDLE hSnapProcess; HANDLE hSnapModule; PROCESSENTRY32 pe32; pe32.dwSize = siz
so层反调试方法以及部分反反调试的方法
1.检测ida远程调试所占的常用端口23946,是否被占用 //检测idaserver是否占用了23946端口 void CheckPort23946ByTcp() { FILE* pfile=NULL; char buf[0x1000]={0}; //执行命令 char* strCatTcp="cat /proc/net/tcp | grep :5D8A"; //char* strNetstat="netstat -apn | grep :23946" pfile
使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:http://pan.baidu.com/s/1kVRW9AR 强力加密KRPano项目 KRPano资源分析工具1.2版本加入了强力加密KRPano项目的功能,相比KRPano自带的加密,强力加密使得KRPano项目难以被破解,可以有效保护XML,全景图片资源. 加密具有以下特性: 1.KRPano主J
APP安全防护基本方法(混淆/签名验证/反调试)
本教程所用Android Studio测试项目已上传:https://github.com/PrettyUp/SecTest 一.混淆 对于很多人而言是因为java才接触到“混淆”这个词,由于在前移动互联网时代在java程序中“混淆”也只是针对java代码,所以混淆基本就和对java源代码进行混淆等价. 但说到混淆的本质,不过就是将变量名.函数名由有助于开发维护人员理解其用途的名称(如my_name,get_key)改用a,b,c,d这种简短无意义的词去替换.从这个思路出发,资源其实也是可以混淆
WIN10 X64下通过TLS实现反调试
目录(?)[-] TLS技术简介 1 TLS回调函数 2 TLS的数据结构 具体实现及原理 1 VS2015 X64 release下的demo 2 回调函数的具体实现 21 使用IsDebuggerPresent检测调试器 22 使调DebugPort检测调试器 实际测试 1 测试直接执行 2 测试用调试器加载 总 结 1 TLS技术简介 Thread Local Storage(TLS),是Windows为解决一个进程中多个线程同时访问全局变量而提供的机制.TLS可以简单地由操作系统代为
core dump文件分析和调试
core介绍 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成"核心转储").我们可以认为 core dump 是"内存快照",但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针.栈指针等).内存管理信息.其他处理器和操作系统状态和信息. core文件生成 core文件的生成开关和大小限制 使用ulimit -c命令可查
浅谈android反调试之 转发端口
反调试方案: 我们最通常使用的动态工具是IDA, IDA的动态调试端口默认为23946,我们可以通过/pro/net/tcp 查看android 系统所有TCP Socket 启动android_server之后,/proc/net/tcp ,端口号是0x5D8A,十进制为23946 我们可以利用默认的调试端口23946 来实现反调试.实现代码如下, 实现原理: Android操作系统不允许一个IP可能同时存在多个相同的端口的套接字 解决方案: 最常见的解决的解决方案, 我们不使用默认转
Windows 反调试技术——OpenProcess 权限过滤 - ObRegisterCallback
转载: https://blog.xpnsec.com/anti-debug-openprocess/ 看雪翻译:https://bbs.pediy.com/thread-223857.htm 本周我有了休息时间,来回顾一下反调试技术.目前,Bug Bounty平台上有大量程序依赖于客户端应用,而且许多安全产品和游戏反作弊引擎都采用了这些反调试技术来阻止你调试核心模块.我想有必要来分享其中一项反调试技术,以及如何绕过它. 本文所述的技术并不是一个安全漏洞,很明显,如果攻击者拥有了这个级别的系统访
热门专题
shell循环读取文件夹下的文件
ajax报错对象不支持“toLowerCase”属性或方法
cache的定位机制包括
git pull默认拉取哪个分支
linux赋予拥有人文件可读可写可执行
JQuery选择器继承了css与path
java 牛顿迭代法 求方程近似解
java 三元表达式非空
office2019即点即用如何安装visio
Avalonia 打包Linux
面试 basic calculator
关闭QQ邮箱服务器的ssl
fiddler拦截exe的请求修改返回数据
python 导入的模块添加不存在的变量
sql float 转 vchart
配置yml固定参数 并引用
v-for el-input 未渲染
Fiddler5.0. 安装证书
python3.8如何导入numpy模块代码
下载maven项目依赖的jar包源代码