- dex加密
汤米粥
dex加密
dex放在assets目录下还是被jadx读出来,看来dex还需要加密啊https://juejin.cn/post/7255483407559442491androidaabdex加密_mob649e8158a948的技术博客_51CTO博客
- 某婚恋App _t 签名分析
fenfei331
一、目标最近也不让加班了,李老板每天早早的就回家,小视频也刷的没意思了。还是好好找个mm正经聊聊吧。今天我们的目标是某婚恋App的v11.3.2。二、步骤抓个包main.png_t参数,看上去像是时间戳加上一个md5(掰指头数了数,一共32位)。jadx搜一搜_t,我去,10几万条结果。一时激动,都忘了我的独门秘籍了。这种签名一般会以字符串的方式存入一个map。所以我们应该搜索"_t"find.p
- Android反编译第一神器JADX,超40k star
Calvin880828
Android开发工具android
Android反编译第一神器JADX,超40kstar引言jadx是一个非常强大的工具,可以将Android应用程序反编译为可读的Java代码。它可以帮助开发人员和安全专家分析应用程序,并了解其中的工作原理和实现细节。jadx主要包含2款工具jadx及jadx-gui,jadx是命令行工具,jadx-gui是gui界面工具。简介JADXJADX的主要功能包括反编译APK、DEX、AAR、AAB和Z
- Python解析APK并提取信息
小手冰凉__
pythonandroid正则表达式
最近在尝试用python脚本提取APK中导入的那些包名,用到了jadx(链接:https://pan.baidu.com/s/1lPcL8zh6TmIaPglMo2us2A提取码:jntm),其中涉及到了如下知识点及用到的库1.1,文件遍历,os库1.2,APK解压缩,zipfile库1.3,DEX反编译,使用的是命令行的jadx,网上都有现成的可用1.4,反编译后的JAVA文件提取,re库废话不
- 获取ios、android备案公钥、MD5等值在线查询
阿里超级工程师
移动开发H5备案公钥MD5
2023年8月后,无论是新上架还是已上架的app都要求做备案,这个备案可以在云厂家里备案,比如阿里云和腾讯云等等。网上的教程要么就是要使用mac电脑去获取备案公钥和md5等信息,而安卓系统则需要安装jadx-gui这个工具去获取公钥,假如是mac电脑安装这个工具又是太麻烦了。所以无论有没有mac电脑,都实在是太折腾了。而且不同的备案平台,要求录入的公钥的格式还不一样,有的需要输入公钥16进制,有的
- flutter抓包绕过
jmm18363027827
逆向软件开发协议开发flutter抓包
lutter的证书校验起因:最近工作上让做个app的复测,把apk发我后,开始尝试挂代理抓包,结果发现抓不到为是证书没弄好,想着前几天不是刚导入了吗(雾)。又重新导入了下还是不行。然后各种lsp模块,objection都不行,r0capture也没数据。然后jadx看了下,全是flutter字样,才想起来和flutter有关。开始百度(:然后就开始各种找。session_verify_cert_c
- 猿人学2022安卓逆向对抗比赛第一题分析
贫穷斯蒂芬
#Android逆向分析笔记java逆向androidpython
整体的笔记为自己分析的流程,大佬勿喷第一步准备工具charles抓包工具pixelxl真机jadx本机安装python和frida第二步安装app查壳和抓包通过GDA可以了解到app没有任何的壳防止app有可能不走代理,所以通过charles+postern进行sock转发通过注册后进入第一题**计算1~100页所有数字之和**Charles中可以看到post请求有三个参数,请求的结果为每页需要计
- CTF黑客精神:算法还原
wei_java144
逆向开发编程技术算法python开发语言
一、前言这题的解法有很多,可以通过so文件的静态分析,直接将结果写入文件达到解题的目的,不过核心思想肯定是希望我们通过逆向他的算法来获取flag.接下来我将详细的分析算法逆向的过程。二、代码分析java层的静态分析打开APP先简单试玩下,发现点击不玩了或者注册码填写错误提交都会发生闪退,把代码拖入到jadx中。我们从代码找到注册页面。通过代码可以看出,他的flag核心代码在libmyjni.so里
- Jadx使用
哥哥是欧巴Vitory
破解范围:apk、dex、jar、zip、class、aar搜索功能:可以点击Navigation->TextSearch或者Navigation->ClassSearch激活它。jadx的搜索,支持四种维度,Class、Method、Field、Code搜索在哪里被调用:找到我们需要查看的类或者方法,选中点击右键,选择FindUsage。查看某一种方法在哪里被调用反混淆deobfuscation
- 单元测试框架JUnit 4.12源码分析
TTKatrina
分享junit单元测试
1、源码分析流程:初窥门径之JUnit源码分析中提到源码分析建议按如下步骤进行:1、了解框架架构图2、了解各个package包所包含的功能点3、选择需要关注/感兴趣/待解决问题的功能点入手4、了解数据流和控制流5、绘制类图和时序图6、复盘有前人经验,本文换个版本权当练习。2、JUnit架构详解:2.1包功能概述先通过某种渠道下载到JUnit的jar包,然后使用jar包分析工具jadx查看其包结构,
- 某问答社区App x-zse-96签名分析
fenfei331
一、目标今天我们的目标是某问答社区App的x-zse-96main.png1:main版本:v8.21.1二、步骤搜x-zse-96常规做法是jadx打开apk,然后搜索x-zse-96。神奇的是,居然没有结果,这就有点意思了,App给我们加戏了,把一些明显的字符串做了加密隐藏。观察共性观察一下,签名有两个共性1、都是1.0_开头2、后面接着的很像Base64那就先从hook开头开始吧。继续用大海
- 摩托x的逆向分析
布丁和尚
篇幅有限完整内容及源码关注公众号:ReverseCode,发送冲apk放入jadx-1.2.0中很明显被奇虎360加固了image-20210727192532494使用PKiD再次确认image-20210727192630567脱壳环境安卓8.1+fs128arm64+pyenvlocal3.8.2adbinstall摩托邦4.8.0.2021070601.apkFRIDA-DEXDump对于
- app逆向工具
jiang_changsheng
c语言python
一般公司的apk,基于Java实现的加密。-jadx反编译java,分析代码NB公司的的apk,基于Java+C语言实现加密(JNI开发)。-jadx反编译java,分析代码-ida反编译c语言,分析代码##c语言动态链接库so文件反编译工具在C语言中,生成的可执行文件或共享库(.so文件)可以被反汇编和反编译,以还原源代码或了解其实现细节下面是一些常用的C语言so文件反编译工具:IDAPro:I
- 驾考宝典sign逆向分析
ever_hu
驾考宝典sign逆向分析环境app6.9.8Java层抓包image-20211207161248033jadx搜索"sign",只有一个image-20211207161353962查找用例image-20211207161505133结果不是很多,但是看起来都不太像,还有几个是调用baidu,tencent的包,应该是有接入什么sdk或者其他的。换个关键词,搜索"_r"image-202112
- 安卓 APK 如何查看公钥与签名 MD5 值、JadxGUI 工具的使用。
初遇你时动了情
安卓打包安卓配置安卓APK反编译
下载地址https://gitcode.com/skylot/jadx/overview?utm_source=csdn_github_accelerator&isLogin=1也可以在这里下载https://download.csdn.net/download/u010843503/88725345
- 某大型电商APP sign头部签名逆向分析
洛哥爬虫
JavaScript逆向爬虫逆向
APP版本唯品会7.45Java层抓包分析打开抓包工具charles进行分析,可以发现对于API采集需要突破当前这个参数,否则不返回信息jadx静态分析jadx静态分析,打开app搜索关键词api_sign,可以发现有参数位置跟进去上边str赋值方法m52297b,看看参数是怎么来的总结:该方法里面传入上下文、MAP类型参数、2个字符串参数,返回值m52298a对参数进行了系列处理,继续跟进这个方
- Android 反编译处理Dex
LMF·
Android逆向工程android
前言当我们将Android项目打包上架的时候,为了提高被人反编译代码的可能性可以提取dex文件对代码进一步做混淆处理。本文不对相关工具做过多的解释,不了解的可以先熟悉相关工具的使用。相关工具(点击直接下载)jadx-gui(反编译Android应用程序的图形用户界面工具)https://java-decompiler.github.io/apktool(用于反编译和重新打包Android应用的工具
- Jadx 反编译工具(适用于IOS,Android,Java三端)
zhengLH
【提示】这个工具只能是反编译出来核心代码(即java代码,对于xml文件,图片则会乱码,则得使用ApkTool工具进行反编译详细见我的另外一篇文章)【链接启发】http://blog.csdn.net/u010696783/article/details/51611532http://blog.csdn.net/zzx410527/article/details/52317507【jadx下载地址
- Android apk安装包反编译——jadx工具
西凉的悲伤
工具android反编译apk反编译jadx反编译jadx
介绍jadx是一款功能强大的反编译工具,使用起来简单方便(拖拽式操作),不光提供了命令行程序,还提供了GUI程序。一般情况下,我们直接使用GUI程序就可以了jadx支持Windows、Linux、macOS,能够帮我们打开.apk,.dex,.jar,.zip,.class等格式的文件下载使用jadx需要先安装jdk,jdk版本需要大于等于11,这里推荐安装jdk17。然后jadx发行下载页面下载
- tujia民宿X-TJH及请求数据unidbg实现
ever_hu
tujia民宿X-TJH及请求数据unidbg实现环境app8.45.0Java层image-20220115175957610jadx搜索x-tjhimage-20220114094819029com.tujia.libs.engine.model.TJRequest.gimage-20220114094910472com.tujia.gundam.Gundam.acom.tujia.gunda
- 安卓JNI动态注册分析
kerve
CTF安卓逆向安卓动态注册逆向分析安卓逆向动态注册实战分析
打开某ctf的apk运行结果如下使用jadx打开apk后,查看关键代码如下:packageorg.isclab.iscc;importandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.view.MenuItem;importandroid
- Android逆向 某州 解密sign字段 so层 算法分析 Unidbg模拟执行
zhoumi_
安卓逆向
跟着龙哥学SO逆向入门实战教程一:OASIS前言功力不及龙哥百分之一文笔也是实力也是,仅作为个人记录学习过程。龙哥博客传送门1.需解密对象“sign”字段跟着龙哥学的,忘了查壳用jadx打开之后发现文件有点少查壳之后发现是x60加固。掉以轻心了…2.脱壳查壳脱壳直接上dump_dex.js3.定位到java关键函数重新压缩成zip用jadx再次打开搜索“sign”去掉一些加载sdk的包名是个剩下框
- Frida06 - 一个简单的综合案例
二手的程序员
Frida前端java
案例apkhttps://github.com/aprz512/Android-Crack/blob/master/practice/p14/frida_example_1.1.apk案例分析首先使用jadx打开apk,看看大致的信息:有两个值得注意的地方。安装app,看看是什么样子:登录这里我们打开对应界面的反编译代码:发现,登录失败是走到了中间的elseif逻辑里面,我们需要想办法让逻辑走到最
- 另一个生鲜App 抓包和mfsig签名分析(一)
fenfei331
一、目标市面上生鲜App一大堆,买菜也确实是高频次的刚需,这些生鲜App还都有一些有意思的共性:大都加壳了大都不好抓包今天我们分析的是某生鲜Appv9.9.59的mfsig签名。二、步骤上jadxjadx.png看看这么少的包名和类名,基本可以断定是加壳了。那就先复习下某酒店Appsign、appcode签名解析(二)脱壳分析BlackDex脱壳脱完壳的结果拖到PC上,赶紧jadx一下,搜一搜"m
- 安卓apk逆向
李楠兮
android
前提准备1.手机模拟器(win优先选择雷电模拟器,不吃性能mac的话我选的夜神模拟器)2.MT管理器3.BlackDex(32位或者64位,根据手机选)4.AndroidSdk(至少包含platform-tools)5.frida-dexdump(电脑端)6.frida-server(手机端)7.反编译工具(apktool、jadx),apktool反编译的话对于文件整理做的很好,将资源和代码很好
- Android dex反编译错误com.googlecode.d2j.DexException: not support version的解决办法
周鹤_006d
dex2jar在AndroidP以后已经不能再反编译dex文件了,会提示com.googlecode.d2j.DexException:notsupportversion.可以使用jadx(https://github.com/skylot/jadx)。mac下可以直接brewinstalljadx安装,安装完之后用命令jadx-gui启动
- 某APP参数Sign使用unidbg实现&算法实现
Syriacus_qi
python
抓个包看看,一个Sign签名校验。上jadx,看看。一般都是搜索参数名,Sign,或"Sign"。看来是native层加密,so里面执行加密。fridahook这个getNativeAPI方法看看传入参数是什么,没有frida检测。第一个参数是空第二个参数是个10位的时间戳第三个参数是提交参数原始数据,经过gzip和aes加密。将so导入IDA看看,导出函数有这个,说明是静态注册方法。下来上uni
- 攻防世界——easyEZbaby_app
_Nickname
javaandroid前端网络安全
下载完成后是个apk文件,也就是这道题是安卓逆向需要使用到的工具:jadx,或者jbe这些都可以在52pojie上面搜到我用jadx来进行的操作这个文件一般是窗口界面,点击然后中间这个一般就是主函数(师傅说的)然后就到了这个界面很明显就锁定到了这个地方我们可以发现flag是由obj1和obj2组成可以发现obj1是用户名,obj2是密码在主函数下面紧跟着就是这两个函数我们先来看用户名部分publi
- app逆向(11)| jadx反编译工具的安装
张烫麻辣亮。
APP逆向http代理模式网络
文章目录一、什么是jadx二、安装一、什么是jadxJADX是一款优秀的Android反编译工具,支持命令行和图形化界面,能为我们省下大量的反编译时间。二、安装前提首先需要安装java的jdkjadx的github地址:https://github.com/skylot/jadx进入,下载压缩包。解压压缩包后,进入bin目录
- 过某app的root检测
一点尘心
爬虫开发语言
过某app的root检测某国外航班app在root设备上打开闪退:如何定位检测位置很棘手。使用jadx打开app。找了几处检测su路径的地方,无奈都不对。想到检测su路径的时候,经常使用java的java.io.File类来判断是否存在,newFile(Filename).exists()于是写了一个frida脚本来hookjava的File类:varFile=Java.use("java.io.
- java Illegal overloaded getter method with ambiguous type for propert的解决
zwllxs
javajdk
好久不来iteye,今天又来看看,哈哈,今天碰到在编码时,反射中会抛出
Illegal overloaded getter method with ambiguous type for propert这么个东东,从字面意思看,是反射在获取getter时迷惑了,然后回想起java在boolean值在生成getter时,分别有is和getter,也许我们的反射对象中就有is开头的方法迷惑了jdk,
- IT人应当知道的10个行业小内幕
beijingjava
工作互联网
10. 虽然IT业的薪酬比其他很多行业要好,但有公司因此视你为其“佣人”。
尽管IT人士的薪水没有互联网泡沫之前要好,但和其他行业人士比较,IT人的薪资还算好点。在接下的几十年中,科技在商业和社会发展中所占分量会一直增加,所以我们完全有理由相信,IT专业人才的需求量也不会减少。
然而,正因为IT人士的薪水普遍较高,所以有些公司认为给了你这么多钱,就把你看成是公司的“佣人”,拥有你的支配
- java 实现自定义链表
CrazyMizzz
java数据结构
1.链表结构
链表是链式的结构
2.链表的组成
链表是由头节点,中间节点和尾节点组成
节点是由两个部分组成:
1.数据域
2.引用域
3.链表的实现
&nbs
- web项目发布到服务器后图片过一会儿消失
麦田的设计者
struts2上传图片永久保存
作为一名学习了android和j2ee的程序员,我们必须要意识到,客服端和服务器端的交互是很有必要的,比如你用eclipse写了一个web工程,并且发布到了服务器(tomcat)上,这时你在webapps目录下看到了你发布的web工程,你可以打开电脑的浏览器输入http://localhost:8080/工程/路径访问里面的资源。但是,有时你会突然的发现之前用struts2上传的图片
- CodeIgniter框架Cart类 name 不能设置中文的解决方法
IT独行者
CodeIgniterCart框架
今天试用了一下CodeIgniter的Cart类时遇到了个小问题,发现当name的值为中文时,就写入不了session。在这里特别提醒一下。 在CI手册里也有说明,如下:
$data = array(
'id' => 'sku_123ABC',
'qty' => 1,
'
- linux回收站
_wy_
linux回收站
今天一不小心在ubuntu下把一个文件移动到了回收站,我并不想删,手误了。我急忙到Nautilus下的回收站中准备恢复它,但是里面居然什么都没有。 后来我发现这是由于我删文件的地方不在HOME所在的分区,而是在另一个独立的Linux分区下,这是我专门用于开发的分区。而我删除的东东在分区根目录下的.Trash-1000/file目录下,相关的删除信息(删除时间和文件所在
- jquery回到页面顶端
知了ing
htmljquerycss
html代码:
<h1 id="anchor">页面标题</h1>
<div id="container">页面内容</div>
<p><a href="#anchor" class="topLink">回到顶端</a><
- B树、B-树、B+树、B*树
矮蛋蛋
B树
原文地址:
http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
&nb
- 数据库连接池
alafqq
数据库连接池
http://www.cnblogs.com/xdp-gacl/p/4002804.html
@Anthor:孤傲苍狼
数据库连接池
用MySQLv5版本的数据库驱动没有问题,使用MySQLv6和Oracle的数据库驱动时候报如下错误:
java.lang.ClassCastException: $Proxy0 cannot be cast to java.sql.Connec
- java泛型
百合不是茶
java泛型
泛型
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,任意化的缺点就是要实行强制转换,这种强制转换可能会带来不安全的隐患
泛型的特点:消除强制转换 确保类型安全 向后兼容
简单泛型的定义:
泛型:就是在类中将其模糊化,在创建对象的时候再具体定义
class fan
- javascript闭包[两个小测试例子]
bijian1013
JavaScriptJavaScript
一.程序一
<script>
var name = "The Window";
var Object_a = {
name : "My Object",
getNameFunc : function(){
var that = this;
return function(){
- 探索JUnit4扩展:假设机制(Assumption)
bijian1013
javaAssumptionJUnit单元测试
一.假设机制(Assumption)概述 理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,
- 【Gson四】范型POJO的反序列化
bit1129
POJO
在下面这个例子中,POJO(Data类)是一个范型类,在Tests中,指定范型类为PieceData,POJO初始化完成后,通过
String str = new Gson().toJson(data);
得到范型化的POJO序列化得到的JSON串,然后将这个JSON串反序列化为POJO
import com.google.gson.Gson;
import java.
- 【Spark八十五】Spark Streaming分析结果落地到MySQL
bit1129
Stream
几点总结:
1. DStream.foreachRDD是一个Output Operation,类似于RDD的action,会触发Job的提交。DStream.foreachRDD是数据落地很常用的方法
2. 获取MySQL Connection的操作应该放在foreachRDD的参数(是一个RDD[T]=>Unit的函数类型),这样,当foreachRDD方法在每个Worker上执行时,
- NGINX + LUA实现复杂的控制
ronin47
nginx lua
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
- java-递归判断数组是否升序
bylijinnan
java
public class IsAccendListRecursive {
/*递归判断数组是否升序
* if a Integer array is ascending,return true
* use recursion
*/
public static void main(String[] args){
IsAccendListRecursiv
- Netty源码学习-DefaultChannelPipeline2
bylijinnan
javanetty
Netty3的API
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/ChannelPipeline.html
里面提到ChannelPipeline的一个“pitfall”:
如果ChannelPipeline只有一个handler(假设为handlerA)且希望用另一handler(假设为handlerB)
来
- Java工具之JPS
chinrui
java
JPS使用
熟悉Linux的朋友们都知道,Linux下有一个常用的命令叫做ps(Process Status),是用来查看Linux环境下进程信息的。同样的,在Java Virtual Machine里面也提供了类似的工具供广大Java开发人员使用,它就是jps(Java Process Status),它可以用来
- window.print分页打印
ctrain
window
function init() {
var tt = document.getElementById("tt");
var childNodes = tt.childNodes[0].childNodes;
var level = 0;
for (var i = 0; i < childNodes.length; i++) {
- 安装hadoop时 执行jps命令Error occurred during initialization of VM
daizj
jdkhadoopjps
在安装hadoop时,执行JPS出现下面错误
[slave16]
[email protected]:/tmp/hsperfdata_hdfs# jps
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working
- PHP开发大型项目的一点经验
dcj3sjt126com
PHP重构
一、变量 最好是把所有的变量存储在一个数组中,这样在程序的开发中可以带来很多的方便,特别是当程序很大的时候。变量的命名就当适合自己的习惯,不管是用拼音还是英语,至少应当有一定的意义,以便适合记忆。变量的命名尽量规范化,不要与PHP中的关键字相冲突。 二、函数 PHP自带了很多函数,这给我们程序的编写带来了很多的方便。当然,在大型程序中我们往往自己要定义许多个函数,几十
- android笔记之--向网络发送GET/POST请求参数
dcj3sjt126com
android
使用GET方法发送请求
private static boolean sendGETRequest (String path,
Map<String, String> params) throws Exception{
//发送地http://192.168.100.91:8080/videoServi
- linux复习笔记 之bash shell (3) 通配符
eksliang
linux 通配符linux通配符
转载请出自出处:
http://eksliang.iteye.com/blog/2104387
在bash的操作环境中有一个非常有用的功能,那就是通配符。
下面列出一些常用的通配符,如下表所示 符号 意义 * 万用字符,代表0个到无穷个任意字符 ? 万用字符,代表一定有一个任意字符 [] 代表一定有一个在中括号内的字符。例如:[abcd]代表一定有一个字符,可能是a、b、c
- Android关于短信加密
gqdy365
android
关于Android短信加密功能,我初步了解的如下(只在Android应用层试验):
1、因为Android有短信收发接口,可以调用接口完成短信收发;
发送过程:APP(基于短信应用修改)接受用户输入号码、内容——>APP对短信内容加密——>调用短信发送方法Sm
- asp.net在网站根目录下创建文件夹
hvt
.netC#hovertreeasp.netWeb Forms
假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下:
string m_keleyiFolderName = Server.MapPath("/hovertree");
if (Directory.Exists(m_keleyiFolderName))
{
//文件夹已经存在
return;
}
else
{
try
{
D
- 一个合格的程序员应该读过哪些书
justjavac
程序员书籍
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数
- 单实例实践
跑龙套_az
单例
1、内部类
public class Singleton {
private static class SingletonHolder {
public static Singleton singleton = new Singleton();
}
public Singleton getRes
- PO VO BEAN 理解
q137681467
VODTOpo
PO:
全称是 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。
BO:
全称是 business object:业务对象 主要作用是把业务逻辑封装为一个对象。这个对
- 战胜惰性,暗自努力
金笛子
努力
偶然看到一句很贴近生活的话:“别人都在你看不到的地方暗自努力,在你看得到的地方,他们也和你一样显得吊儿郎当,和你一样会抱怨,而只有你自己相信这些都是真的,最后也只有你一人继续不思进取。”很多句子总在不经意中就会戳中一部分人的软肋,我想我们每个人的周围总是有那么些表现得“吊儿郎当”的存在,是否你就真的相信他们如此不思进取,而开始放松了对自己的要求随波逐流呢?
我有个朋友是搞技术的,平时嘻嘻哈哈,以
- NDK/JNI二维数组多维数组传递
wenzongliang
二维数组jniNDK
多维数组和对象数组一样处理,例如二维数组里的每个元素还是一个数组 用jArray表示,直到数组变为一维的,且里面元素为基本类型,去获得一维数组指针。给大家提供个例子。已经测试通过。
Java_cn_wzl_FiveChessView_checkWin( JNIEnv* env,jobject thiz,jobjectArray qizidata)
{
jint i,j;
int s