ida导入jni头文件_IDA动态调试无法导入JNI文件的解决办法

前言:学习过程中遇到了,特此记录一下。

样本app链接在这里:

https://pan.baidu.com/s/1pVLBBuBKRzDzHlBClrBA2A 提取码: 9tz8

它是 2015年阿里的一个反调试app,我是参考这篇文章来过反调试的:

https://blog.csdn.net/Viewz/article/details/97757862

这不是重点,样本里的app是修改过后的,原始的可以在文章中获取。

过反调试后就很简单了,输入密码,与它内置的密码一致就成功了。

静态分析如果不提前知道密码的话,会感觉毛都没有,只有动态调试了。

怎么开启动态调试请参考上一篇文章,我这就直接来到这里了。

双击进入这个函数,并按下F5:

然后 按下 CTRL + F9,导入JNI.h文件:

提示这个错误,那就按照它提示的来:

弹出框,继续进行选择,点击OK即可:

这时,我们再次 按下 CTRL + F9,导入JNI.h文件:

然后,就报了20个错误,这种错误,小白的我也不知道怎么解决啊。

这时的我有三种选择,

一. 更新IDA Pro版本,我现在的版本是 6.8的,说不定换成 IDA Pro 7.0就不会报错了。

二. 谷歌该问题或者请教大佬,遇到报错改怎么解决,不过可能找不到答案或者大佬没遇见过,就尴尬了。

三. 自己摸索解决。捣鼓几下,说不定就不报错了。

我这里选择了第三种方法,竟然OK了,操作如下:

1.选择 View --> Open subviews --> Type libraries

2.弹出 warning,点击OK即可。

3.单击右键,选择 Load type library

4.选择第一个,单击OK:

5.再次 按下 CTRL + F9,导入JNI.h文件:

发现竟然成功了。

切换伪C代码,如图分析:

图中红色框上面是干嘛的我不清楚,因为它没有返回或者exit程序的代码,可以不用去关心吧。将鼠标移动并点击 while,并按下 Tab键,来到汇编代码处:

设置断点,并按下F9,手机app输入 1234567890:

点击输入密码后,发现IDA停在了断点处:

因为下面有个cmp指令,所以看看 R2寄存器的值,它是一个内存地址,在内存中查看它的值:

是这样的一串字符串,再看看R0寄存器的值所在地址的值:

这里就是刚才输入的 “1234567890”了。这就比较清楚了,通过输入的字符串与这个内置的字符串进行比较,相同就表示成功了,不同则失败。

它这里没有调用 库函数 strcmp,而是通过单个字符的比较判断,因此没法爆破(当然也可以修改返回值进行爆破):

按下F8两次后,R1和R3的内容:

"1"字符的ASCI值是 0x31,"a"字符的ASCI值是 0x61,确实是单个字符全部进行比较的。按下Tab键,可以看到 伪C代码窗口:

动态调试时,可以通过修改 R1的值与R3一致,可以看到成功后的窗口:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机软件名称用什么符号,[计算机软件及应用]第九章符号表.ppt

[计算机软件及应用]第九章符号表第9章 符号表 符号表 用来存放在词法分析过程中生成的有关标识符的语义特征属性信息 符号表中所登记的信息在编译的不同阶段都要用到。 例如作为语义检查的依据,目标代码生成阶段地址分配的依据等。 不同种类的表格所涉及的操作往往是…

mf253s移动版变全网通_中国电信发布5G全网通终端需求白皮书v2.0

2019-11-07 10:56 2019年10月31日,中国5G正式商用,标志着5G发展已进入快车道,整个社会各行各业对5G热情高涨,业界纷纷增加5G投入,5G终端的发展进程必将加快,市场空间巨大,潜力无限。 为更好地引…

广西 启动计算机教案,广西版六年级下册信息技术教案.docx

文档介绍:广西版六年级下册信息技术教案三年级下册信息技术教案1广西版六年级下册信息技术教案主题一制作Flash动画任务一美丽蝴蝶画出来一、教学目标知识与技能:①、认识flash窗口及工具栏;②、能够利用工具栏绘制图画;③、学会简单修改图画。过程与方法:通过用工具…

sap权限激活_sap角色权限设置手册V1.0

SAP角色权限设置及测试手册作者:邓珍石版本:V1.0第1页共14页SAP角色权限设置及测试手册(一)从Source Role拷贝生成Common Role.............................................................................2(二)直接创建生成Common Role ...........…

2020江苏计算机二级考试官网,2020年秋季江苏省计算机等级考试报名通知

2020年秋季江苏省高等学校计算机等级考试报名工作即将开始。现将有关事宜通知如下:一、报名时间和办法网上报名开放时间为:2020年8月28日10:00至9月4日16:00方法:登录信息门户(http://my.seu.edu.cn),选择“教学服务”页面&#x…

质量码_在验证牛顿第二定律实验为什么要保证槽码质量m远远小于小车质量M?...

在验证牛顿第二定律实验中,要保证槽码总质量m远远小于小车的质量M,为什么要这样?在“验证牛顿第二定律”实验中要求测量物体所受合外力和物体的总质量,而且对这两个物理量越容易测量越好.通过“等效法”的阐述我们已经知道,绳子对小车的拉力即…

计算机论文的的格式,计算机论文格式模板.doc

计算机论文格式模板作为计算机专业的同学,我们应该学会如何书写一份本专业的论文。对于论文的格式和写法大家了解过吗?以下是精心准备的计算机论文格式模板,大家可以参考以下内容哦!摘要:随着互联网宽带的飞速告诉的发…

拆分列成多行_把订单按货品拆分成多行(上)

办公的小伙伴们,今天小编来和大家分享。如何将一个单元格中有多行数据拆分成多行。看下图:要把订单按货品拆分成多行明细。下面给出几种不同的方法。一一一一一一一一一一一一一一一一一一一一一一方法一:借word来拆分内容Step1:把…

中北大学计算机二级负责老师,导师信息#中北大学计算机与控制工程学院研究生导师介绍#秦品乐...

姓名:秦品乐教育经历:1978年生,博士,副教授,硕士生导师。2009年-2011年大连理工大学工业装备与结构分析国家重点实验室从事博士后工作;2010年-2011年受教育部高等学校青年骨干老师国内访问学者资助在大连海…

遍历对象属性_细说JS遍历对象属性的N种方法

本人详细介绍了JS遍历对象N种方法,欢迎关注收藏。遍历对象属性有五种方法,下图为一个场景对比图。可以注意到两点:只有for ... in 才可以遍历原型链属性,且只能遍历可枚举属性。Object.getOwnPropertyNames Object.getOwnPropert…

计算机考试减法公式,Excel减法函数公式

根据网友提出的“错位减法的Excel减法公式”等问题,Excel办公网整理了一些著名网站上关于“错位减法的Excel减法公式”的信息标题: 求等比数列前n项之和的方法(数学)公式法和位错减法最好有一个例子参考文献: 常用方法包括:一. 公式法: 采用等差数列和等比数列求和的…

easyui label显示不全_easyui 元素遍历问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼easyui 1.7.2一个编辑对话框要提交的时候想遍历一下form上的所有需要提交元素的name属性及值,结果发现在处理easyui-combobox的时候得到的值总是怪怪的,会多出一到两组数据,请教下是何原因,不知道各位吧友是如何实现的?代码如下:g…

计算机系统账户被锁定,帐号已经被系统锁定是什么意思

2007-10-09我的帐号锁定了,我已经把那个解锁的资料用邮件发去去了,怎么不回呀,不是说24小时吗尊敬的客户:您好!5173客户服务010很高兴为您服务!请您查看下您的邮件是否已经成功提交,您的信息有没有填写齐全…

小孔成像实验探究的软件_探究小孔成像实验报告.doc

探究小孔成像实验报告探究小孔成像实验报告提出问题用易拉罐自制一个针孔照相机,在观察过程中,发现在室外观察景物时成像总不太清晰,有什么办法可增加清晰度呢。照相机半透膜上的图像会发生大小改变,这大小改变受什么因素影响&…

计算机模拟量与数字量的转换,在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?...

在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?本例程中的程序使用类似于STEP7 中提供的FC105/106.用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。步骤1:在西门子网站…

计算机硬盘坏道有什么特点,硬盘坏道对电脑会造成什么影响

现在很多人还不知道什么是硬盘坏道,导致很多人不去重视。那今天来了解下什么是硬盘坏道,对电脑有什么影响!前方高能,请系好安全带!影响一:硬盘坏道后,常见的就是打开、运行或者拷贝某个文件时会出现卡顿,操…

域控下发脚本_域环境下做到单用户登陆控制脚本

早两年的时候因目前工作的工厂有要求做域环境下单用户的登陆控制,即只允许一个用户帐号在域环境下一台电脑登陆,以此来做好相关用户资料及权限控制的要求,故通过此脚本来做好相关用户的登陆记录,并配合之后的注销脚本来一起完成此…

金坛区实验幼儿园服务器不稳定,2019年金坛城区部分公办幼儿园服务区划分方案(试行)...

原标题:2019年金坛城区部分公办幼儿园服务区划分方案(试行)2019年金坛城区部分公办幼儿园服务区划分方案(试行)为认真贯彻省、市、区第二期学前教育五年行动计划中关于试行幼儿园服务区制度的文件精神,满足适龄儿童相对就近入园需求,促进区域…

hbase动态更改行键设计_Hadoop HBase概念学习系列之优秀行键设计(十六)

尽量最小化行名和列名的字段大小在HBase中,值是作为一个单元(Cell)保存在系统的中的,要定位一个单元,需要行,列名和时间戳。通常情况下,如果你的行和列的名字要是太大(甚至比value的大小还要大)的话,你可能…

mui ajax 文件上传,MUI的图片上传和压缩

MUI的上传图片目前知道有两种方式,一种见前面文章中关于图片裁切时使用的base64作为字符串上传,另外一种则是本篇章中所使用的plus.uploader方式,它是一种真正意义上的文件上传,我们可以使用commons- fileupload组件来实现一个文件…