Android逆向学习(一)vscode进行android逆向修改并重新打包
Android逆向学习(一)vscode进行android逆向修改并重新打包写在前面其实我不知道这个文章能不能写下去,其实我已经开了很多坑但是都没填上,现在专利也发出去了,就开始填坑了,本坑的主要内容是关于android逆向,主要的教程来源来自52破解论坛的大佬课程,但是那是windows版,为喜欢用linux,所以这是一个有比较大改动的学习教程,不过我确信你在windows上也可以运行,let’s go.
一、软件准备如上文所说,我是linux用户,所以就是用的linux下相同的替代品(我感觉linux下的软件更好用)
1、模拟器我使用的模拟器叫做xdroid,为认为这个做得要比android studio的好(当然指分析起来的时候),因为很多软件用的native code是arm架构下的,而android studio下模拟器主要是x86架构,很多软件无法进行分析。当然如果安装xdroid需要关闭security boot,就是在bios里面关闭。
然后我们下载xdroid的安装包,直接./运行就好了,记得不要使用sudo ./ 会提示不可以。
我们还需要安装的软件有开发助手,NP ...
Android Native Code开发学习(三)对类进行操作
Android Native Code开发学习(三)对类进行操作本教程为native code学习笔记,希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大
对java中的对象变量进行操作首先我们新建一个java的类
12345678public class ClassForJNI { public int a; public int b; public void add(){ System.out.println("a+b is :"+(a+b)); return; }}
我们的目标就是更改里面的a和b,并且调用这个类,就可以看到我们的输出
123456789101112131415//查询类名jclass clz_2 = env->FindClass("com/example/nativecodelearn/ClassForJNI");//查询构造函数的idjmethodID jcmid_2 = ...
Android Native Code开发学习(二)
Android Native Code开发学习(二)NDK的开发流程本教程为native code学习笔记,希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大
一、native code介绍native code就是在android项目中混合C++或者C语言进行开发,这样的好处是很多底层的东西需要使用C++/C的语言进行操作,而且在android开发中,使用C++和C混合开发能够大大增强逆向的难度,同时还能提升程序运行的效率,毕竟C++/C的效率不是其他语言能比得上的。
二、NDK的开发流程1.声明native方法首先我们要先在你android的java文件中进行一个声明,声明的格式是这种
1public native String stringFromJNI();
当然也可以加上参数
1public native String stringFromJNI(String str);
然后我们在android activity中调用这个函数
1234567891011@Override protected void onCreat ...
Android Native Code开发学习(一)环境配置
Android Native Code开发学习(一)环境配置本教程为native code学习笔记,希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大
环境配置首先我们新建一个native C++项目
然后我们下载NDK和CMake
注意,有时候我们下载完成后还是会显示没有NDK,就是会有一个空指针错误,面对这种情况我们就需要手动指定NDK的目录,如果没有出现这种情况请忽略。下面介绍两种手动指定方法。
NDK指定方法一(好像有bug有时不能用)直接在下面的NDK位置选择,但大多数时候都是灰色的不能修改,这不知道是不是bug还是说就是这样,所以建议直接用下一种方法
NDK指定方法二直接在local.properties中修改路径,如果没有ndk.dir的话自己手动加上就可以。
然后我们重新sync一下就可以了,如果你不知道sync是啥,上图
就是这个可爱的大象,大象大象你的鼻子为什么这么长~
然后我们点一下运行
注意,可能会有问题就是让你下载最新的build tool,按它的提示下载就可以了
手把手教你做一个移动的系统盘
手把手教你做一个移动的系统盘前言这个即使很早就做过,一直觉得很方便,但是最近好像因为更新的原因导致移动的Ubuntu没有办法使用(装英伟达驱动出问题了,python包有点冲突)了,所以想着,反正上一个系统盘因为更改的东西多用起来很麻烦,本来上一个做的就不满意,之前学的不深,python冲突什么的是常有的事情,干脆直接全部格式化重新做一个。
一、准备工具虚拟机VM pro:https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html
DiskGenius:https://www.diskgenius.cn/download.php
Ubuntu 22.04的镜像文件:https://cn.ubuntu.com/download/desktop
注意:VM一定要使用pro版本,不然会寄!!!
二、硬盘分区
我们使用DiskGenius进行硬盘的分区,大小的话前两个建议不变,后面两个可以按照自己的情况搞的大一点或者小一点。
三、开始使用VM Pro进行Ubuntu的安 ...
编译原理上机报告
编译原理上机报告本次实验代码均为本人编写,未经允许禁止抄袭
一、上机题目简介
实现简单函数绘图的语句
循环绘图(for 语句进行绘图)
比例设置(scale 是比例设置)
角度旋转(rot 是旋转的角度)
坐标平移(origin)
注释
关于屏幕的坐标系
左上角为原点
x方向为从左向右
y方向为从下到上
测试语言举例
123456ORIGIn IS (300+25*(1+1), 220);rot is 0;scale is (50, 100);FOR T FROM 0 TO 2*PI STEP PI/500 DRAW(cos(T),sin(T));scale is (100, 100);FOR T FROM 0 TO 2*PI STEP PI/500 DRAW(cos(2*T),sin(T));
二、开发环境配置环境: Ubuntu 22.04 与 Windows 11
语言: Python 3.11
IDE: Pycharm 专业版
三、解决思路及方案首先我们将整个大的项目分成三个主要的方面:词法分析器,语法分析器,图形绘画器
1、词法分析器我们首先要先确定这个 ...
图神经网络一 Graph Neural Network
图神经网络一 Graph Neural Network写在前面:之前我是学过一些关于神经网络机器学习的内容的,但是因为写博客太麻烦了,所以学的时候就一直没有更新博客,但是后来因为有其他事情有接近两星期没有学习AI方面内容,结果今天发现之前学的AI都忘光了,所以最近开始写博客复习一下过去的内容。
本次博客涉及的图片均来自台湾大学的课件,如有侵权请联系我。
介绍首先我们要知道图神经网络是个什么东西,我们从名字就可以看出来,Graph-Neural-Network,图-神经-网络,建立在图上的神经网络(再次之前建议先了解一下CNN,也就是卷积神经网络,建议去看吴恩达老师的机器学习的CNN课程,很简单的一个东西,10分钟就能看明白,当然你不想去看也没关系,我在下面也讲解了卷积的概念)
首先一个概念,什么是图,这个是一个数据结构的定义,我们在离散数学中也见过这个东西,就是连起来的不同节点,节点之间有一定的关系。比如我们高中经常看到的化学分子式,或者数据结构中的树。这些可以算是图。
之前我们的神经网络都是建立在一个简单维度的数据集合上,比如我上一篇神经网络入门的那一篇中关于身高和体重的数据,这个 ...
Android反编译工具的使用(保姆级教程)
Android反编译工具的使用(保姆级教程)网上关于Android反编译的文章很多,但是好多都比较杂,就打算自己写一下,顺便也能加深一下印象。
一、常用反编译文件的介绍apktoolapktool也算是一个老牌的反编译软件了,可以提取出apk中的源代码,图片,XML配置,还有语言的资源,这个软件是没有gui页面的所以需要你利用命令行进行使用,也正是这个原因,我们可以很容易的将其放到Linux服务器上,然后进行自动的反编译并进行恶意性分析的操作。
官网:https://ibotpeaches.github.io/Apktool/
dex2jar这个工具的主要功能是将dex文件转化为包含class文件的jar文件。至于dex文件,这个其实就是Android系统的可执行文件,包含应用操作的全部指令和运行时的数据,当Java编译成class文件后,我们以通过dx工具将class文件整合成一个dex文件,目的是让文件结构更加紧凑,大小更小,dex 文件可以分为3个模块,头文件、索引区、数据区(有点熟悉是不是)。
github网页:https://github.com/pxb1988/dex ...
proguard
使用ProGuard进行Android代码混淆(保姆级教程)一、ProGuard的功能ProGuard是一个混淆代码的开源项目,主要是用来对java代码进行混淆,当然也就可以对java代码进行混淆,ProGuard主要有四个功能:压缩(Shrink),优化(Optimize),混淆(Obfuscate)和预检(Preveirfy)。
压缩: 就是将代码中没用的东西给删掉,比如你留下的没用的但是忘记删除的一些测试代码或者无用的类等。
优化: 对字节码进行优化删除无用的指令。
混淆: 使用cuyjno(这是我用脸在键盘上摩擦打出来的)等无意义的名称对类,字段和方法进行命名。
预检: 检查处理后代码能否正确执行。
ProGuard的这四个步骤都是可选的,我们可以通过配置脚本来决定执行其中的哪几个步骤。
二、开启ProGuard如果要开启proguard,我们首先要把下面这个东西给添加到build.gradle中(这个是:app下的build.gradle,初学者可能会搞错),一般来说,Android studio会自动帮我们给添加好了,然后我们把这个minfyEnable改为true。就像下 ...
tempormonkey
如何在本地编译器进行油猴脚本的开发学校突然提前放假了,暂时也不是很想回家,刚好花点时间沉淀一下之前学习的知识,顺便完成一下之前没有完成的一些东西,打算对前端脚本进行一些更新,突然发现我的超星ppt脚本教程是我阅读量最高的一篇文章,感觉很神奇,辛辛苦苦写的AI和Android没多少阅读量,一个随手写出来的脚本却有这么高的阅读量和下载量。
一、环境准备本人使用的是ubuntu系统,因为我的ubuntu已经安装好了nodejs,Windows配环境还是太麻烦,不过也不是不能用Windows,两者开发方法基本一样,不会有太大差别。
需要准备的东西:
vscode ,nodejs环境,chrome浏览器(必须是Chrome或Chromium内核的浏览器,不能是火狐),
二、油猴访问本地权限
将这个打开,我们就可以获取访问本地权限了
到这里就配置完成了
三、准备开发
注意这个地方是你自己的地址,链接到你的javascript脚本。
上面箭头指的是match地址,也就是那些网页可以运行这个脚本,建议改成https进行测试。
注意!本地地址前一定要加上
file:///
否则是无法load的 ...