- 博客(50)
- 收藏
- 关注
原创 printk Linux内核函数详解
printk可以将信息输出到各种不同的设备和位置,例如控制台、串口、日志文件等。printk函数的输出会被写入内核的环形缓冲区中,并由一个或多个后台进程将其传输到目标设备或位置。可以使用dmesg命令来查看内核环形缓冲区中的输出消息,也可以将printk输出重定向到其他设备或位置,例如串口或日志文件。输入命令 dmesg| grep xxxxx 在内核缓冲区中搜索我们打印的log,可以看到此时我们打印的log已经显示出来了。在编译内核代码时使用printk可以帮助我们调试应用,找到问题去解决问题。
2024-02-21 15:27:59
628
原创 《教我兄弟学Android逆向15 xpose改机开发03-写一款自己的改机软件》
手机的唯一标识imei,android,序列号serial,手机品牌,手机机型,制造商,蓝牙名,蓝牙MAC地址,系统版本,系统版本名称,开发代号,源码控制版本号,编译类型,CPU架构,无线电固件版本,设备版本号,主板名称,引导程序版本号,设备参数,设备地址,产品名称,ROM名称,硬件名称,指纹,开发ROM编译用户,设备的ROM生成的时间.....这里修改了设备内存的一些数据,包括一些xpose的防检测代码,native层也有一些内存的检测,还有一些C层的结构体也会检测手机存储这些信息。
2024-01-29 18:48:34
1683
原创 《教我兄弟学Android逆向14 xpose改机开发02-改机代码基础编写》
本节课用一键新机改系统imei的例子带你熟悉了一下改机的流程,搭建了改机的基础代码,本节课我们选用的是SharedPreferences存储,点一键新机的时候创建设备信息储存到xml中,hook的时候从xml取数据完成hook。05.一键新机要做的是点击一键新机左上角显示出系统原本的imei和改机后的imei, 点一键新机的时候我们这里创建出新的imei的数据储存在newPhone.xml里面,然后hook的代码通过这个xml去取数据用来改机。师夷长技以制夷,你肯定也是有一颗成为白帽子的心的。
2023-06-25 22:54:37
967
原创 《教我兄弟学Android逆向13 xpose改机开发01-环境设置》
01.手机关机 同时按电源键和音量上键等到屏幕亮后松开电源键进入到TWRP界面,把附件中的Magisk-v19.3.zip通过电脑放入到手机sd卡目录下,点Install选择magisk进行刷入 刷入完成后点Reboot System重启系统。我们了解了xpose的基本原理并一起搭建了xpose的hook环境,你也很好的完成了课后作业,但是通过后面的测试练习你发现xpose在不同系统环境的安装方法是不一样的,在我们之前的低系统手机上面直接安装就能用了,但是到高一点的系统上面会提示。
2023-06-25 21:53:26
1086
原创 010 Editor没有Template Results -DEX.bt 解决方法
问题描述:打开010 Editor 把classes.dex拖进去 发现没有Template Results -DEX.bt解决方法:打开模板仓库-找到操作系统模块属性下的DEX.bt 安装后 关闭原来的dex文件 重新用010打开即可。步骤:Templates-Template Repository-Operating System-Dex.bt-install...
2019-04-12 17:55:11
3891
原创 frida.NotSupportedError: unexpected error while attaching to process with pid 6966
使用frida运行.py脚本时出现的问题问题成因:没有关闭selinux防火墙解决:打开命令 root用户下输入 setenforce 0 重新运行脚本即可。setenforce 0 表示关闭selinux防火墙...
2019-01-10 11:07:08
3383
2
原创 《教我兄弟学Android逆向12 编写xpose模块》
上一篇 《教我兄弟学Android逆向11 动态调试init_array》我带你 用IDA动态调试了init_array段和JNI_OnLoad里面的方法,虽然你学的很吃力,但是经过自己不断上网查阅资料,花了几天的时间终于把不懂的地方弄清楚了。你从网上面加了好几个Android逆向学习交流群,看到群里面有人说xposed相关的内容,你听的云里雾里的,想到之前面试的时候面试官也问过xpose相关的问...
2019-01-09 11:47:33
8833
5
原创 《教我兄弟学Android逆向11 动态调试init_array》
上一篇 《教我兄弟学Android逆向10 静态分析反调试apk》我带你用jeb+IDA静态分析了反调试apk,并且了解了init_array和jnionload的执行顺序 通过静态patch的方法 我们过掉了反调试验证,但光是静态patch似乎还不过于完美 有时候还需要配合动态调试来达到破解的目的 基于上节课你表现良好 那么这节课我将为你带来动态调试init_array的教程 注意认真听课不要...
2019-01-09 11:12:18
1530
原创 教我兄弟学Android逆向12 课后作业
链接:https://pan.baidu.com/s/1HdW4CgJqaqr4IorOB1Z7Mw 提取码:7hud
2019-01-07 17:35:03
1696
原创 irs_recv: 等待的操作过时 IDA附加错误解决办法
错误描述:问题成因:没有关闭selinux防火墙Android5.0之后默认启用了 SELinux/SEAndroid 防火墙 这个是开机自启的 需要每次重启机器的时候命令行关闭一下。解决:打开命令 root用户下输入 setenforce 0 关闭防火墙,重新附加程序即可。...
2018-10-15 13:54:51
2246
原创 《教我兄弟学Android逆向番外05 Fiddler手机抓包》
一 下载fiddler下载地址 链接:https://pan.baidu.com/s/11QzNevoXi-pwCeE6KT9C6w 提取码:enfe二 打开fiddler 选择Tools-Telerik Fiddler Options 然后选择Connections这里把fiddler的监听端口设置成8888 然后红色框起来的都打上钩 三 手机和电脑连接同一个无线网 或者...
2018-10-10 11:23:30
1454
原创 OLLVM混淆环境搭建详细教程
一 简介LLVM:一个编译器,用来编译so和可执行文件等OLLVM:在LLVM的基础上去混淆so 二 OLLVM混淆环境搭建1.环境配置虚拟机:VMware系统:Ubuntu-12.04.5-64位(这里也测试了另一个linux系统ubuntu-17.10.1-64位 编译不出来,ollvm缺少clang)OLLVM版本:obfuscator-llvm-3.4n...
2018-08-20 10:06:49
8971
2
原创 《教我兄弟学Android逆向10 静态分析反调试apk》
上一篇《教我兄弟学Android逆向09 IDA动态破解登陆验证》我带你分析了黑宝宝.apk,并且用IDA动态调试破解了登陆验证 看上节课你学习的不错 这节课给你带来的是过反调试的教程在进入本节课之前我先问你一个问题什么是反调试?答:反调试技术是为了保护自己程序的代码。增加逆向分析的难度 防止程序被破解, 针对动态分析。要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学!...
2018-06-11 10:02:11
2915
4
原创 《教我兄弟学Android逆向番外03 操作手机常用命令》
一.电脑和手机文件互相传输1.把电脑上的文件传送到手机 2.把手机上的文件传送到电脑adb pull /data/local/tmp/test.txt D:/1/63 pull出包下的所有文件这里以/data/data/目录下的demo2.jni.com.myapplication包pull到电脑D:/3目录下 为例二.常用命令 1.创建文件test.txt2.创建文件夹ccc3.删除文件tes...
2018-06-01 10:27:31
746
原创 《教我兄弟学Android逆向番外02 jeb工具的使用》
可以从论坛爱盘里面获取下载JEB工具 https://down.52pojie.cn/Tools/Android_Tools/jeb-2.2.7.201608151620_crack_qtfreet00.zip一下面将会从以下几个方面介绍 jeb的常用功能 1.反编译apk,dex2.包名树状图3.查看指定类的smali代码4.转换成java语言5.java代码中双击函数 进入函数方法的定义 ,查...
2018-06-01 10:17:04
12639
5
原创 《教我兄弟学Android逆向番外01 apktool的使用》
一 下载最新版apktool官网链接:https://ibotpeaches.github.io/Apktool/这里有两个命令需要记住1.apktool d test.apk 解包test.apk2.apktool b test.apk 重打包test.apk二 配置apktool1.将下载好的apktool重命名为apktool.jar 并下载apktool.bat 下载链接:https:...
2018-06-01 10:13:20
1140
1
原创 《教我兄弟学Android逆向09 IDA动态调试so》
上一篇 《 教我兄弟学Android逆向08 IDA爆破签名验证》我带你熟悉了IDA工具的使用,并且用IDA爆破了so层的签名校验 我给你布置的课后作业你也用上节课的方法做出来了 看你上节课学习的不错那么这节课给你带来IDA动态调试so的教程。你看着我激动地说 大哥,本节课我已经期待很久了,终于来了!!我要认真听课!下面开始今天的教程:首先把黑宝宝.apk安装到手机上 随便输入一个用户名和密码 ...
2018-06-01 10:00:54
1874
3
原创 《教我兄弟学Android逆向08 IDA爆破签名验证》
上一篇 《 教我兄弟学Android逆向07 IDA破解第一个so》我带你下载了逆向神器IDA,并用IDA修改了我们第6课写的一个Demo 学完上节课的课程有点同学反映说用进制修改器修改so会好些 比如说010EDitor 不可否认的是进制修改器确实好用 但是上节课的目的是让你接触到IDA这个工具 关于010EDitor后面的课程会有讲到。对于apk的签名我想你一定不陌生 apk如果被反编译 ...
2018-06-01 09:51:16
1415
2
原创 《教我兄弟学Android逆向07 IDAPro破解第一个so》
上一篇 《教我兄弟学Android逆向06 用AndroidStudio编写第一个so》我带你用AS编写了第一个so 现在回顾一下 首先我创建了一个myJNI类 里面包含一个Native的sayHello方法 这个方法在native层返回一句话 hello 52pojie! 然后我在java层通过Log函数调用并输入了sayHello方法完成了第一个so的编写。 课程写到这我已经不再是面向旭一个人...
2018-06-01 09:41:07
2579
原创 《教我兄弟学Android逆向06 编写第一个so》
上一篇 《教我兄弟学Android逆向05 在smali代码中插入Log 》我教会了你随心所欲的在smali代码中插入log,你也很认真的学习了,那么这节课我将带你走进so的世界,这时你有一些疑问,经常听比人说soso的那么so到底是什么呢?我是来学破解技术的啊为什么这节课要让我编写so?先看一下下面的介绍:Android开发中,我们经常会用到.so文件。原因有很多,比如部分方法不想暴露,如加密规...
2018-05-23 10:29:04
1544
原创 《教我兄弟学Android逆向05 在smali代码中插入Log 》
上一篇 《教我兄弟学Android逆向04 动态调试smali代码 》 我带你动态调试了smali代码 课后作业你也做了三遍 基本上是对动态调试有所了解了 课下自己再找几个小例子多练习几遍 知识学到手了 以后面试官面试你的时候问你 你会动态调试smali代码吗?那个时候你就可以用的眼神看着面试官了 今天给你带来的这堂课是在smali代码中插入Log的教程 那么你问了经常听别人提及到Log那么Lo...
2018-05-23 10:10:08
1740
2
原创 《教我兄弟学Android逆向04 AndroidStudio动态调试smali代码 》
上一篇《教我兄弟学逆向03 破解第一个Android游戏》我带你用另一种方式破解了切水果游戏 我布置的课后作业你也完成了 并且自己又独立破解了另外几款游戏 很不错 在这里表扬一下-旭 ! 希望其他同学都向旭学习 那么本节课要教你的是用AndroidStudio动态调试smali 下面开始今天的教程既然这节课我要教你的是用AndroidStudio动态调试smali 那么在开始动态调试sm...
2018-05-23 09:57:14
2083
3
原创 《教我兄弟学Android逆向03 破解第一个Android游戏 》
上一篇 《教我兄弟学Android逆向02 破解第一个Android程序 》我带着你破解了我们自己编的一个小程序 里面我分析并讲解的一些smali语法你都记住了 给你布置的课后作业你发给了我 我看后觉得你完成的 不错 结合着前两篇给你写的教程的基础上 我认为你可以开始今天的课程了。要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学! --致选择说明:教我兄弟学逆向这系...
2018-05-23 09:40:45
2877
6
原创 《教我兄弟学Android逆向02 破解第一个Android程序 》
上一篇 《教我兄弟学Android逆向01 编写第一个Android程序 》我带你熟悉了Android编程的基础知识 课后给你留的作业你也发给我了 我看了你完成的不错 说明你对Android编程已经有了基础的了解 结合着上篇教程的那个Demo 我们今天就正式进入破解教程 在开始今天的教程之前我有个疑惑 就是上一个Demo编译出来是一个.apk文件 把这个文件用 adb install命令安装到手...
2018-05-23 09:33:42
3243
2
原创 Smali打印log简单代码
const-string v0, "kkkkkkkkkkkkkkkkkkkkkkkkk" const-string v1, "kkkkkkkkkkkkkkkkkkkkkkkkk" invoke-static {v0, v1}, Landroid/util/Log ;->d(Ljava/lang/String;Ljava/lang/String;)I
2017-07-31 15:34:49
1817
原创 Smali注入弹框代码
这里是要弹出v1的值这是插入的smali弹框代码: invoke-static {p0, v1, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast; move-result-objec
2017-07-31 15:31:23
5624
1
原创 Android线程简单详细教程
具体的请自行百度 博主下面写了一个简单易懂的例子,学习线程的可以参照下面的例子自己动手做一下 注意线程不能调用UIpackage com.example.rog_pc.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import androi
2017-07-31 15:24:16
623
原创 base64加解密源码(可直接调用)
package com.example.rog_pc.myapplication;import android.util.Base64;import java.io.UnsupportedEncodingException;/** * Created by m on 2016/7/31. */public class amBase64String { // char set name ...
2017-07-31 15:20:24
2039
原创 AES加解密源码(直接可调用)
package com.example.rog_pc.myapplication;import java.security.Key;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.
2017-07-31 15:18:19
4390
原创 Android Killer 反编译出现问题 正在反编译APK源码,请稍等 解决
Android Killer 反编译出现问题 正在反编译APK源码,请稍等 解决
2017-07-18 17:29:06
6874
原创 strcat函数简单例子详解
参考百科给的解释:将两个char类型连接。char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s);结果放在d中printf("%s",d);输出 d 为 GoldenGlobalView (中间无空格)d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。返回指向d的指针。
2017-05-17 19:09:57
4899
原创 strchr函数详解
strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。为了方便读者朋友对此函数更好的的理解下面给出实例
2017-05-17 15:51:43
1539
1
原创 andriid基础用户登录验证,弹窗,设置标题(详解)
本文适合刚接触Android开发的读者 下面是详细代码:package com.zhihuishu.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Butt
2017-05-16 17:29:48
697
原创 创建窗口第三步 消息循环(详解)
主消息循环GetMessage函数从调用线程的消息队列中接受消息MSG msgwhile(GetMessage(&msg,nullptr))GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax)参数:lpMsg:指向MSG结构的指针,该结构从线程的消息队列里接收消息信息。
2017-05-14 20:13:56
547
原创 win32编程隐藏窗口
elseif(wParam==ID_LOGIN) { GetDlgItemText(hWnd,IDC_USER,szuserbuf,sizeof(szuserbuf)/sizeof(WCHAR)); GetDlgItemText(hWnd,IDC_PASS,szpassbuf,sizeof(szpassbu
2017-05-14 20:12:45
3324
原创 CopyFileEx 函数
例子// ConsoleApplication2.cpp : Defines the entry point for the console application.//#include"stdafx.h"#include#include#includeusingnamespacestd;DWORDCALLBACKCopyProg
2017-05-14 20:10:30
1158
原创 setwindowLong函数
设置窗口或者控件的透明度 例子参考:LRESULTCALLBACKDialogProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){ hwndPro =hWnd; staticHBRUSHOrgBrush, hBrush;
2017-05-14 20:08:57
642
原创 SendMessage函数(详解)
作用 向对话框中的控件发送消息和SetWindowText作用一样SetWindowText例子获取对话框中控件的句柄 例子:INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ UNREFERENCED_PARAMETER(lParam); swit
2017-05-14 20:07:16
26593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人