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的 ...
基于yolov5的fps自瞄
基于yolov5的fps自瞄注:本外挂实际意义有限(甚至都算不上外挂),因为首先是因为yolov5的识别速度,在游戏中并不是直接将鼠标准星移到锁定目标的头上,因为通过yolov5的话,我们的鼠标移动是通过win32api,这种瞄准方式有个问题是我们很难直接通过直接移动鼠标像素点的方式锁定目标,而且还会因为游戏灵敏度的影响导致瞄准困难,所以我使用了是多次瞄准的方式,就是如果准星离头比较远的话,就一次移动100像素点左右,如果离得近的话就一次移动10像素点左右,这种方法的缺点就是我们瞄准的速度很慢,大概是1秒3帧左右,我的电脑是笔记本电脑,这种情况下1秒3帧已经是笔电的极限了
一、基本环境系统环境:ubuntu 22.04
python环境:python 3.10
二、基本原理
对屏幕截图进行分析
使用yolov5对目标进行识别
得到识别目标的位置,计算距离
然后使用win32api对鼠标进行控制
通过多次移动鼠标准星瞄准目标
经过测试如果目标是静止的那么效果还算可以,如果是移动的那就玩了个大蛋。
三、重要代码讲解这个是自动瞄准的代码
12345678910111213141516171 ...
如何制作一个简单的dll软件
如何编写DLL文件阅读本文请首先学习C++以及C语言的使用,这是基础
什么是dll文件DLL文件: 中文翻译为动态链接库,windows系统程序提供了很多的可以被调用的可执行文件,就像我们软件开发的时候,从来没有自己去写一个程序的图形化界面什么的,这是因为Windows系统都给我们提供了,我们只需要去调用就可以使用了。比如我们经常看到的kernel32.dll(包含管理内存,进程和线程相关的函数),User32.dll(大部分是用户接口函数)。
主要是如果步提供dll文件的话那么很多应用和开发者就得自己去编写底层的代码,这将会给软件开发者带来很大的困难。
如何创建dll文件本人使用的VS进行构建,本人比较建议使用VS进行windows代码开发,毕竟是微软自己开发的编译器。
新建项目,选择新建dll项目
这样就算创建了一个dll文件,至于里面的是什么东西,我们也不用管,只需要知道我们的代码都是在dllmain.cpp里面编写就可以了,dll生成的方法也根普通的C++文件不一样,我们直接在DLL项目中右键,然后点击生成就可以了。
我们就可以发现生成了一个dll文件
dll文件代码简单介 ...
SVM的简单理论
SVM简单理论间隔与支持向量我们就简单举个例子,假设我们有一个男女生身高体重的数据集,我们想能不能通过学习这个数据集训练一个模型,然后这个模型能够读取一个人的身高体重数据,然后判断出这个人是女生还是男生。我们的想法是这样,构建一个二维的平面,横纵坐标是身高体重,这样我们就能够看出它的分布情况。(橙黄色是女生,蓝色是男生)
ok,我们就得到了这样一个的分布情况,那么我们现在就想,能不能画一条线,让这个线把男生和女生分开来,这样新来一个学生,我们就能根据它跟这个线的位置来判断这是男生还是女生。
但现在问题来了,你看上面这个图,你没有办法画一条直线把这两类完全分离开,这就要讲到我们需要了解的知识了。
(本篇博客使用的课件截取自B站数之道,侵删。)
硬间隔
按上图这种,我们一定要将两种类型分类开来,不能相互混合,这种情况就是硬间隔
软间隔
这种情况就是软间隔,我们允许出现一些这种异常点,但是这些异常点是有损失成本的,所以我们要综合考虑出一个方法,能够平衡这个间隔与损失,是这个分割更加合理。
软间隔是相对复杂的一个问题,我们一会专门讲这个东西。
支持向量
星号的点就是支持向量,这是分割边界经过 ...
最新版Flowdroid的使用方法2023
最新版Flowdroid的使用方法2023本文参考于;https://blog.csdn.net/king_gun/article/details/77840917
在此感谢jacoryjin大佬
环境:
windows 11
Java version: 1.8.0_361 vendor: Oracle Corporation
Apache Maven 3.9.1
一、什么是 flowdroidflowdroid是一个静态计算Android应用程序和Java程序中的数据流的工具和库,目前已经在学术界和工业界得到广泛的使用。
我们这一次使用flowdroid生成一个控制流图。
二、配置方法最新版的flowdroid已经可以使用maven了,所以本次我们使用的是maven进行构建,这样会方便很多
这是我们全部的依赖,有了这些东西我们就可以直接构建项目了
1. 将项目依赖导入到pom.xml中1234567891011121314151617181920212223242526272829303132<dependency> <groupId> ...
如何将maven整合到IDEA中
如何将maven整合到IDEA中java一直用的不太熟,但是有个项目需要用到maven,就顺便学一下然后写成一个博客
一、运行环境本人运行环境是Windows11,java版本是orcle的1.8版本(尽量使用orcle的java,openjdk经常会出现一些问题)
二、配置方法1.下载并配置环境变量首先是要去下载maven,下载地址在这里:https://maven.apache.org/
下载完成后需要解压,然后配置环境变量
首先我们需要添加一个环境变量
就是这个MAVEN_HOME
然后就在这个地方添加上%MAVEN_HOME%\bin
然后我们通过cmd检验一下
1mvn -v
输出是
Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)Maven home: D:\Environment\apache-maven-3.9.1Java version: 1.8.0_361, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8 ...
How to deploy and use Obfuscapk
How to deploy and use ObfuscapkWhen I going to use Obfuscapk,I find its introduction is not very clear,which makes me puzzled. In this blog I’d like to give a more clear introduction with pictures and commands. I am not a native English speaker,so this blog may has a lot of grammatical errors. I am so sorry about these errors. Above all, I hope this blog can help you.
Operating System :Ubuntu 22.04
Docker:
What is ObfuscapkObfuscapk is an open source python to for obfuscating apk code. Nowaday ...
神经网络的入门
神经网络的入门到放弃(bushi)
本文主要内容参考:
https://zhuanlan.zhihu.com/p/58964140
https://victorzhou.com/blog/intro-to-neural-networks/
一、先做一个神经元我们就先做一个最简单的神经元,这个神经元有两个输入,接受到输入后就会向前产生一个传递(在这里要说一句话,神经网络中我们把得到结果的方向叫做前,有的人可能习惯把得到结果的方向理解成向后,这个地方要稍微注意一下)
graph TD;
输入1-->神经元
输入2-->神经元
神经元-->产生传递
按说神经元应该会有两个权值w1,w2,给输入加权相乘,然后加上一个偏差就可以了
比如:
输入为x1,x2
权值为w1,w2
偏移为b
我们可以得到一个激活函数的输入:x1*w1+x2*w2+b
然后得到激活函数的结果:y=f(x1*w1+x2*w2+b)
我们这样是为了将这个输出给压缩到(0,1)之间,至于为啥非要用sigmoid函数,我也不知道,人家就是这么用的,而且人家做出来就是有效,废物Rytter的编程法则,没必 ...




