求大神教教我,Android killer什么意思怎么打开,顺便教教我怎么修改包名,谢谢

上一篇博文中我们讲解了smali语法,今天就带大家如何进行动态调试smali代码。你可能要问,为什么要学会动态调试smali代码?那就是为了减轻我们逆向分析的负担!
在上篇的博文中我们已经了解到,一个smali文件中代码量是庞大的,而且smali语法也是并不那么容易就会明白的,当我们想要去逆向分析一个app,试图找到它的漏洞,那么面对大篇幅的smali文件和里面那生涩难懂的代码,你说你如何下手?况且,现如今,基本上一款商业级的App为了安全都会采用混淆和加壳策略,就算你把它反编译了,生成的smali代码还是一堆a,b,c,d.....完全不知道它里面的类和方法名到底是什么!
所以采用动态调试,使用打断点的方式来逐步调试smali代码是势在必行的一个技能。作为一个软件逆向工程师,动态调试也是其需要掌握的基本技能!那么下面就来让我们开始今天学习,如何进行动态调试smali代码。
首先我们需要准备工作:
使用的调试工具:Android Studio
使用到一个smali的支持插件:Smalidea
不同于其他的大众化插件,直接可以在Android Studio中搜索并安装,这里Smalidea无法在Android Studio中搜索到,只能去他的官网下载,这里给出下载地址:
点进去之后如图所示:
选择下载最新版的Smalidea的压缩包:smalidea-0.05.zip
下载完成后不需要进行解压处理,打开你的Android Studio,点击File&Settings&Plugins:
点击Install plugin from disk..., 在弹出来的框中选择你刚才下载的Smalidea压缩包路径,点击确定即可。添加完后记得需要重启Android Studio,使插件生效。
下面我们就需要导入Smali文件。在Android Studio点击File&new&import project:在弹出的选择框中选择你需要调试的整个项目。这里我需要调试的是百度手机助手。这里的项目是已经反编译过的文件,里面都是smali文件,我默认你已经会把一个Apk反编译成Smali。
选择完成后点击OK,在弹出来的选择框中一直点Next,最后点finish,这样就把项目导入完成了。这里还需要说明一下,导入的是完整的项目,而不是某一处的smali文件!
导入完成后如图所示:
下面我们就开始进行配置调试器,这里是重要的一块! 在Android Studio中点击Run&Run...,在弹出来的选择框中选择编辑Edit Configurations...:
进入到编辑操作:
点击“+”号, 在弹出来的选择中点击Remote:
进入到配置界面:
上图中,Name是设置该调试器的名字,你可以随便取名,下面Port后面是配置端口号,这个是最重要的地方,不能随便填。你可能在此之前也搜索过相关的配置,网上一大堆什么8700,什么6500,,,这些统统不对!!这里是大坑!不要听网上的那些随便写出的数字。
那么这里端口号到底要填什么?我告诉你,这里的端口是实质上是要填写你需要调试的那个App在你手机上的端口号,顺便再说一句,由于手机每时每刻的运行状态也不一样,所以这个端口号还是随时变化的,并不是一成不变的!每当我们需要调试的时候,就要改成这个App这个时候最新的端口号!
你可能没有听太明白,就比如说,这里博主本人调试的是百度手机助手这款App,那么这里的端口号我就需要填写的是百度手机助手App在我手机上的端口号。这样说你是不是就明白了?
下面你还会有疑问,到底该怎么获取到App在手机上的端口号呢?下面我就告诉你:
首先确保你的手机已经连接上你的电脑,然后在Android Studio中点击:Tools&Android&Android Device Monitor,启动设备监视器:
你可能会遇见一个报错:
不用管它,点击OK就好。设备监控器打开后如下:
上面第一列一大堆应用包名就是此时你手机中运行的程序,看到第三列的数字了吗,这就是此时这个App在手机中的端口号!你可以找你需要调试的App,找它包名所对应的端口号,例如这里我需要调试的是百度手机助手App,那么我就先找它的包名:com.baidu,appsearch,发现它对应的端口号是8624,然后我就在配置调试器中端口号填入8624!这就是正确获取端口号的方法,网上那些都是大坑。
填入端口号,然后就可以点击apply,调试器就创建成功了,下面还有一个步骤,就是要配置项目的SDK,因为我们导进来的项目此时还没有一个SDK,我们需要亲手去设置一下:
在Android Studio中点击:File&Project Structure:
在Projrct SDK 中,点击下拉列表,选择1.8版本即可,然后点击OK完成。博主这里已经配置好了。
下面基本工作就差不多了,可以开始进行相应的调试:首先执行命令,以调式状态启动App:
在Android Studio中点击下方的Terminal:
在这里输入命令:
adb shell am start -D -n com.xxx.xxx/.xxxx
斜杆/前面的是主活动所在的包路径,斜杠后面的是App的主活动,也就是程序入口。
这里我调试的是百度手机助手App,所以这里命令就这样写:
adb shell am start -D -n com.baidu.appsearch/.LauncherActivity
前面的 com.baidu.appsearch是主活动LauncherActivity的包路径,后面LauncherActivity就是主活动。百度手机助手App的主活动就是LauncherActivity。
接下来就使用我们刚才配置好的调试器进行调试:点击Run&Debug,在弹出的选择框中选择刚才我们配置的调试器:
下面就可以直接进行调试了!在代码中打上断点,程序就会停留在断电处等待:
调试成功。这里你想看看程序跑到了什么地方,就可以打上相应的断点进行判断。
如果你发现启动调试器失败报错了,多半是App的端口号又变了,你可以去看看此时App的端口号是多少,然后在调试器中修改端口号即可。修改调试器配置:点击Run&Debug,在弹出的选择框中,找到我们配置的调试器,点击最后面的倒三角,点击Edit:
就会进入到该调试器的配置界面:
在这里修改端口号Port,完成后点击Debug即可!
本篇博文到此就结束了。上面提到的查看App端口号的设备监控器后面我们还会重点说到,它也是逆向工程中的一大利器,使用好了就会事半功倍。
到此结束,如果还有什么不明白的地方欢迎评论留言,我会一一解答。使用请标明本文出处,谢谢!
Android逆向系列之动态调试1–入门篇
一、什么是动态调试
动态的意思就是指通过在真实或模拟环境中执行程序进行分析的方法,多用于性能测试、功能测试、内存泄露测试等方面。
百度百科:动态调试是指软件作者利用集成环境(IDE)自带的调试器跟踪自...
170918 逆向-jeb2动态调试(ciscn-crack.apk)
1625-5 王子昂 总结《日》 【连续第351天总结】
A. jeb2动态调试Android
之前在国赛的时候有一个APKCRACK,当时逆的过程中发现是调用了一个j...
在jeb2及以上版本新增了动态调试的功能,个人觉得比AndroidStudio操作起来简单许多,而且可以边查看伪代码边调试smali,对于像我这样不太了解smali的新手提供了很大便利。
将apk安...
之前我搜了,也有大神发过类似的帖子,但是感觉不是太详细,不是太适合新手。正好最近我有了新思路,我整理了一下,就很详细很详细的写了出来。
我们知道很多apk光是静态调试时远远满足不了我们对apk的分析,...
http://www.tasfa.cn/index.php//android-ida-so-3/
一、环境准备
工具详见、破解的apk demo: Alictf...
已经遇到这个问题两次了,每次都花了些时间解决。在这里总结一下。
JEB压缩包打开后运行jeb_wincon.bat,显然这是windows的bat批处理文件。用编辑器打开可以看到如下代码:
本人刚接触Android方面的逆向,使用的工具有Android killer、JEB2 、android Studio 2.3、ApkIDE_3_3_5、IDEA、smalidea0.05插件、IDA...
一、配置插件
下载插件smalidea
https://bitbucket.org/JesusFreke/smali/downloads
下载smalidea-0.03.zip
参考:http://blog.csdn.net/jiangwei/article/details/
一、配置插件
下载插件smalidea
地址: http...
0x00 用到的工具
Android Studio
Android killer
一部root过的手机
0x01 反编译APK将apk拖入Android killer中反编译生成工...
没有更多推荐了,《教我兄弟学Android逆向05 在smali代码中插入Log 》 - 『移动安全区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 13246|回复: 91
《教我兄弟学Android逆向05 在smali代码中插入Log 》
阅读权限30
本帖最后由 会飞的丑小鸭 于
16:08 编辑
上一篇 《 》 我带你动态调试了smali代码 课后作业你也做了三遍 基本上是对动态调试有所了解了 课下自己再找几个小例子多练习几遍 知识学到手了 以后面试官面试你的时候问你 你会动态调试smali代码吗?那个时候你就可以用这个表情看着面试官了(无奈 找QQ表情斜眼笑没找到 只能用这个相似但很贱贱的小表情替代了 但是不是我想要的效果 这里建议吾爱论坛可以添加个斜眼笑的表情 为什么?因为/xyx)&& 那么今天给你带来的这堂课是在smali代码中插入Log的教程 那么你问了以前经常听别人提及到Log那么别人口中的Log到底是什么 ?
给你个眼神&&下面开始上课 好好听课啊
要么学!要么不学!学和不学之间没有中间值 不学就放弃,学就要去认真的学!& & --致选择
一 编写JAVA程序并在smali代码中插入Log
1 打开自己的AndroidStudio 在MainActivity里面写一段switch case语句
01.png (32.17 KB, 下载次数: 1)
01:13 上传
2.编译并安装程序到手机 打开Android Monitor 运行程序 就把自己添加的Log打印出来了
02.png (28.12 KB, 下载次数: 1)
01:13 上传
3.把程序用反编译 switch case语句的smali代码分析我这里就不讲了 自己可以对照着自己写的java代码去分析 或者参考《 》 里面对switch case的分析
03.png (25.01 KB, 下载次数: 1)
01:13 上传
04.png (57.04 KB, 下载次数: 2)
01:13 上传
4 把复制出来的那三句代码中的会飞的丑小鸭 改成: 我是添加的smali代码并添加到smali中&&Ctrl+S保存好后 卸载 编译 安装 打开打开Android Monitor看Log
const-string v0, &Hello&
const-string v1, &\uf\u6dfb\u52a0\u7684smali\u4ee3\u7801&& &
invoke-static {v0, v1}, Landroid/util/L-&i(Ljava/lang/SLjava/lang/S)I
05.png (57.17 KB, 下载次数: 1)
01:13 上传
06.png (48.92 KB, 下载次数: 1)
01:13 上传
07.png (18.93 KB, 下载次数: 1)
01:13 上传
08.png (27.74 KB, 下载次数: 1)
01:13 上传
5.这里就成功的把自己在smali中添加的Log打印出来了
09.png (12.39 KB, 下载次数: 2)
01:13 上传
6.通过上面的练习你学会了在smali代码中插入Log 但是通常在实战中只会插入一句话Log是远远不够的 很多情况下插入Log是为了打印出程序中某个变量的值&&听完我这句话后 你不耐烦的说道 兄弟你别卖关子了 赶快讲怎么通过在smali代码中插入Log打印出变量的值 我还等着吃饭呢 好吧 为了兄弟的肚子不受饿 下面我加快点进度
二 打印变量的值
1 这里我编写了一个Demo 从下面的代码中可以出我在onCreate方法中执行了三个函数 函数名分别是fun1 fun2和fun3 并且在下面加入一条Log 目的是为了打印出函数fun1的返回值 因为Log.i的两个参数都必须是String类型&&所以这里把int类型的fun1这个函数通过String.valueOf函数转换成String类型
[Java] 纯文本查看 复制代码
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(&这个值是&,String.valueOf(fun1()));
public int fun1()
int value = Test.
public int fun2()
int value2 = Test.value2;
return value2;
public String fun3()
String str = Test.
String str2 = Test.str2;
int value3 = Test.value3;
return str2;
2 下面我给本节课定三个要完成的任务 我将会带着你从从第一个任务开始做 由于下面的内容很重要 所以你可要认真听课了&&
添加Log打印出fun2,fun3的值 (其实就是函数的返回值)
添加Log打印出fun3里面String类型str的值
添加Log打印出fun3里面int类型value3的值
任务一 添加Log打印出fun2,fun3的值
1. 这里分析一下程序 你看下上面贴的代码中onCreate方法中有一句Log是打印fun1的值的 如果在java代码中如果要打印出fun2的值 是不是只要把String.valueOf(fun1)中的fun1改成fun2 是不是就可以打印出来fun2的值 那么smali代码也一样 我只要找到打印fun1的这条log反编译成的smali代码 把里面的fun1改成fun2 是不是任务一就完成一半了?
这里我把打印fun1的这条log的smali代码复制了下来&&然后在这条Log下面粘贴了一遍 把粘贴后smali代码中的fun1改成了fun2 修改完成后 保存-&编译-&卸载-&安装-&运行 查看Android Monitor 可以看到这里已经把fun2的值打印出来了
10.png (30.25 KB, 下载次数: 1)
01:13 上传
11.png (11.82 KB, 下载次数: 1)
01:13 上传
2 把fun2的值打印了出来 那么fun3的值怎么打印呢 可以看到fun2和fun3函数都是int类型 然后通过String.valueOf这个函数转换成的String类型 但是fun3这个函数本身就是String类型 这里如果还通过String.valueOf函数转换的话程序会报错的 那么既然上面那种在smali代码中换函数名字打印Log的方法在函数fun3中行不通了 我如何打印出fun3的值呢 ? 如果在JAVA代码中你会怎么做 是不是重新插一条Log去打印fun3函数的返回值 打开smali代码 按照这个思路去做 这样就把任务一给完成了
12.png (23.78 KB, 下载次数: 1)
01:13 上传
13.png (12.76 KB, 下载次数: 1)
01:13 上传
任务二&&添加Log打印出fun3里面String类型str的值
首先从smali代码中找到fun3方法所在的位置 然后在方法里面找到str的值 一般来说程序都会把这个值储存到寄存器中 可以找到这个寄存器 然后把寄存器作为变量给打印出来 那么任务二是不是也完成了
14.png (17.94 KB, 下载次数: 1)
01:13 上传
任务三 添加Log打印出fun3里面int类型value3的值 这里上面也提到了 Log.i这个函数的两个参数必须都为String类型,而这里想把int类型value3的值通过Log打印出来 那么得把它转换为String类型 用到函数String.valueOf 这里可以把上面打印出fun1那段Log的Smali代码复制过来 稍作修改
15.png (59.69 KB, 下载次数: 2)
01:13 上传
16.png (8.32 KB, 下载次数: 1)
01:13 上传
三. 总结 本节课从简单的插入Log到从smali代码中打印变量的值 然后从中牵扯到了类型转换 最后通过完成三条任务为主线 结束了本节课的教程&&这堂课中的每一个例子 每一个点都很精致并且实用 这节课的内容你可以留着当做Log方面参考文档 虽然本节课的篇幅比较长 但是本节课的所讲的所有东西 你都要跟着做一遍 最好自己能写一些心得&&有时候你看着这些东西可能会比较烦 因为学习是痛苦的 痛并快乐着 当你看代码累的时候就休息一会吧 给你推荐一首音乐Summer Poem 我经常在敲代码的时候单曲循环这首歌 当你在听这堂课的时候 要记住逆向的道路上不只你一个人在奋斗!有我们 他们 以及看见这篇文章的所有人都在做这件事,所以你不孤独!
本节课所用到的AndroidStudio项目和生成的Apk:
链接: 密码:yhfy
(1) 参考本节课第一个例子自己用AndroidStudio编写Switch case语句 要求Switc case的是支付成功 支付取消和支付失败 并且打印出相应的Log
滚动的天空 这个游戏支付成功 失败 取消方法 的smali代码中分别插入三条自己的Log 点击购买时查看程序打印出的Log
下一篇:《》
吾爱币 +51
热心值 +42
感谢发布原创作品,吾爱破解论坛因你更精彩!
鼓励转贴优秀软件安全工具和文档!
已经处理,感谢您对吾爱破解论坛的支持!
谢谢@Thanks!
热心回复!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
我很赞同!
感谢发布原创作品,吾爱破解论坛因你更精彩!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
谢谢 @Thanks!
用心讨论,共获提升!
我很赞同!
加入收藏夹,并已加入周末豪华套餐,先马克一波
谢谢@Thanks!
做成視頻就好了。
鼓励转贴优秀软件安全工具和文档!
我很赞同!
支持楼主,非常感谢,会一直做你的听众,小白菜路过,我之前看过一个文章,.
谢谢@Thanks!
我很赞同!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
热心回复!
我很赞同!
本帖被以下淘专辑推荐:
& |主题: 184, 订阅: 29
& |主题: 54, 订阅: 4
& |主题: 82, 订阅: 3
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
我来分享一下怎么连接夜神模拟器吧,我觉得觉得这个也挺好用的,不过最近开始用夜神了。
模拟器版本:5.0.01
第一步:打开夜神模拟器的安装路径,cmd切换到该路径下的bin目录;
& && && && &&&在cmd中输入:adb kill-server
& && && && && && && && && && && && &&&adb start-server&&
& && && && && && && && && && && && &
1_1.jpg (17.22 KB, 下载次数: 0)
18:10 上传
& && && && && && && && && && && && &(这一步是有用的,亲测可以避免一些未知的麻烦)
第二步:输入 nox_adb connect 127.0.0.1:62001&&(试了,不能修改)
& && && && && && && && && && && &&&
1.jpg (5.63 KB, 下载次数: 1)
18:12 上传
& && && && && && && && && && && &&&
2.jpg (12.79 KB, 下载次数: 1)
18:12 上传
第三步:(因为我的电脑上有两个SDK,一个给eclipse用的,一个给AndroidStudio用的,我先切换到AS用的SDK路径下),输入:adb connect 127.0.0.1:62001
& && && && && && && && && && && &
3.jpg (17.64 KB, 下载次数: 0)
18:17 上传
& && && && && &&&出现这个提示就可以连接成功了,测试:adb devices
& && && && && && && && && && &&&
4.jpg (7.98 KB, 下载次数: 0)
18:19 上传
(待会再加技巧)
用心讨论,共获提升!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
感谢楼主,小弟继续努力!
加油 好好学习
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
要么学,要么不学,不要再不学好学之间,这句好!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
讲的真的很好,还没学到怎么使用smail先看看
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
我觉得很棒,加油大兄弟,等你的教程
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
中午开始,感谢楼主,真兄弟!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
得益于LZ的兄弟,让俺也能沾光学到东西。{:1_912:}
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
签到,学习了
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
谢谢,辛苦了!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
辛苦楼主了,期待楼主更多更好的教学
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
支持,要好好学习
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.《教我兄弟学Android逆向02 破解第一个Android程序 》 - 『移动安全区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 33104|回复: 220
《教我兄弟学Android逆向02 破解第一个Android程序 》
阅读权限30
本帖最后由 会飞的丑小鸭 于
17:50 编辑
上一篇 《 》我带你熟悉了Android编程的基础知识 课后给你留的作业你也发给我了&&我看了你完成的不错 说明你对Android编程已经有了基础的了解 结合着上篇教程的那个Demo 我们今天就正式进入教程
在开始今天的教程之前我有个疑惑 就是上一个Demo编译出来是一个.apk文件 把这个文件用 adb install命令安装到手机上就可以点开运行了 现在我的手头只有这样一个apk文件&&那么我怎么去破解它呢 也就是我输入错误的用户名和密码也可以登陆成功 我相信你应该和我也有同样的疑惑,但是不单单是我们吧 我们的前人很早以前就想到过这样的问题 然后他就自己写出来一个工具叫 &&通过把这个.apk文件拉到他的软件中来 就可以把这个apk反编译成smali文件&&然后去改这些一些smali文件 改好后重新打包成新的apk 就会生成一个和原来apk一样的新的apk 这个新的apk就是破解后的apk
那么我们是不是也可以写一款这样的软件呢 ?答案:可以 但是很花费时间 我因为想喝一杯牛奶就去养一头牛 太不值得对不对 我们不如直接去把别人家的牛迁过来 以后想什么时候喝牛奶直接挤就是了 那么牛在哪呢?
点击下面的链接下载软件 我们这里就把牛迁到我们家了。
链接:链接: 密码:6u0q
1. 牛虽然迁到我们家了 但是不听话呀,那我现在就让它听话好不好 ? 首先打开需要配置JDK的安装路径 下面是JDK下载的链接
链接: 密码:1nr6
01.png (93.81 KB, 下载次数: 1)
16:59 上传
2.把JDK的路径填好后 牛就听话了 然后就可以把我们的APK拉到我们的这款工具中来 (这里可能会出现一个小问题 如果把APK拉到软件中程序卡在 正在反编译APK源码请稍后.. 解决方式:重新打开软件,然后双击APK历史工程里面要打开的这个APK即可) 然后点击左边的入口就会打开MainActivity.smali
02.png (84.17 KB, 下载次数: 0)
16:59 上传
3.找到在MainActivity.smali中找到check方法 如果用户名或者密码有一个不对就会跳转到:cond_0出 然后执行下面的代码 也就是登陆失败! 这里会涉及到一些smali代码 smali代码不用去刻意学 这里看到不会的先自己百度然后结合着我下面的分析 自己去尝试着理解&&这里的要求:把下面我分析的这些smali代码理解并且记住
03.png (95.78 KB, 下载次数: 1)
16:59 上传
4.用鼠标点击cond_0就能找到:cond_0位置 这个地方就是登陆失败
04.png (76.95 KB, 下载次数: 1)
16:59 上传
5.这里要补充两个smali指令 一个是if-eqz 另一个是if-nez 这两条指令是相对的
(1)if-eqz vA, vB, :cond_**&& &如果vA等于vB则跳转到:cond_**
(2)if-nez vA, vB, :cond_**&& &如果vA不等于vB则跳转到:cond_**
(1)首先程序把我们输入的用户名和密码给了p1和p2 然后把真正的用户名给了v0 再拿p1和v0对比 对比的结果放在v0中 如果这两个值不相等v0就等于0
(2)然后用if-eqz v0, :cond_0这条指令去判断v0是不是0 如果v0等于0&&也就是用户名和密码不相等 就跳转到:cond_0位置 执行登录失败 否则继续往下面执行
(3)这里假设用户名输入正确了 程序往下继续执行 后面会进行同样的判断密码是不是相等 只有用户名和密码都是正确的 程序才不会跳转到:cond_0位置执行登录失败
7.结合着上面的总结那么思路来了 我如果不让程序跳转到:cond_0位置 让程序每次在if-eqz v0, :cond_0这条关键指令上继续往下执行 是不是就可以执行登录成功代码了?&&那怎么能让它不跳转呢? 我现在有三种思路:
程序有两个if-eqz 分别是用来判断用户名和密码是否正确的 我把这两个if-eqz都改成if-nez&&第二种 我直接把这两条指令删除掉 第三种也是最省事最懒的一种 我直接用goto语句直接一条指令让程序执行跳转登录成的代码 也是可以达到程序破解的目的 这里强调一个问题 修改完smali代码后一定要ctrl+s保存 不然程序还是拿原来的smali代码编译。
要求:这三种破解方式都要自己动手去做
05.png (145.61 KB, 下载次数: 1)
16:59 上传
8.最后smali修改完成后 把手机连到电脑上面&&选择已找到设备&&点击左上角的编译 编译完成后点击安装按钮 破解后的apk就成功安装到自己的手机上面了& &然后输入错误的用户名和密码会提示登陆成功 说明破解成功
06.png (75.49 KB, 下载次数: 0)
16:59 上传
最后到本节课的课后作业了 我在吾爱里面找到一篇内购破解教程帖 本节课的作业是跟随此贴的教程完成破解
当然教程讲的并没有这么详细 破解过程中遇到不懂得自己去百度 再不懂的就来问我 学习逆向就是这样 学不会就会感觉迷茫 但是不用怕 记住多迷茫几次就都学会了&&每节课布置的课后作业一定要完成 课后作业都不做的话 那我的帖子你也不用继续跟了 学而不思则罔,思而不学则殆 ,不仅要完成还要能理解&&这两节课给你讲了一些编程和破解的基础知识 当然这只是一个抛砖引玉的过程 那么下节课我将会找几个破解的例子带着你去练习
下一篇 《》
本节课用到的Demo:
链接: 密码:07p9
吾爱币 +105
热心值 +96
感谢您的宝贵建议,我们会努力争取做得更好!
我很赞同!
谢谢@Thanks!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
用心讨论,共获提升!
热心回复!
热心回复!
谢谢@Thanks!
已完成,感谢分享!
不知道需要输入激活码的能不能行的通,试试
谢谢@Thanks!
用心讨论,共获提升!
谢谢@Thanks!
已经处理,感谢您对吾爱破解论坛的支持!
热心回复!
头一回,自己写评分,在你这里受益匪浅,谢谢!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
用心讨论,共获提升!
谢谢@Thanks!
谢谢@Thanks!
我很赞同!
用心讨论,共获提升!
很不错一直跟着学
用心讨论,共获提升!
热心回复!
用心讨论,共获提升!
我很赞同!
感谢发布原创作品,吾爱破解论坛因你更精彩!
用心讨论,共获提升!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
我很赞同!
我很赞同!
我很赞同!
谢谢@Thanks!
谢谢@Thanks!
一直都想学习安卓破解,可看别的教程又不会,跟你的教程学竟然学会了有成就.
坐等楼主更新
坐等更新!!!
热心回复!
图文并茂,写的很详细,易懂
我很赞同!
谢谢@Thanks!
谢谢@Thanks!
收藏收藏,搞完Linux就回来逆向。
谢谢@Thanks!
谢谢@Thanks!
感谢发布原创作品,吾爱破解论坛因你更精彩!
我很赞同!
谢谢@Thanks!
热心回复!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
我很赞同!
谢谢@Thanks!
谢谢@Thanks!
热心回复!
用心讨论,共获提升!
热心回复!
感谢发布原创作品,吾爱破解论坛因你更精彩!
热心回复!
用心讨论,共获提升!
谢谢@Thanks!
热心回复!
热心回复!
正需要这样实在、实用的教程,谢谢
谢谢@Thanks!
谢谢@Thanks!
谢谢@Thanks!
热心回复!
用心讨论,共获提升!
热心回复!
欢迎分析讨论交流,吾爱破解论坛有你更精彩!
谢谢@Thanks!
我很赞同!
谢谢@Thanks!
用心讨论,共获提升!
赞一个,适合新手的教程
谢谢@Thanks!
用心讨论,共获提升!
我很赞同!
我很赞同!
谢谢@Thanks!
热心回复!
我很赞同!
用心讨论,共获提升!
谢谢@Thanks!
谢谢@Thanks!
热心回复!
谢谢@Thanks!
本帖被以下淘专辑推荐:
& |主题: 184, 订阅: 29
& |主题: 137, 订阅: 20
& |主题: 54, 订阅: 4
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
当前 Apktool 使用版本:Android Killer Default APKTOOL
正在编译 APK,请稍等...
&I: Using Apktool 2.2.4
&I: Smaling smali folder into classes.dex...
&..\..\projects\fgdtk_1.1.0.140\Project\smali\com\turbochilli\rollingsky\pay\OppPay$2$1.smali[176,0] Cannot get the location of a label that hasn't been placed yet.
&Exception in thread &main& brut.androlib.AndrolibException: Could not smali file: com/turbochilli/rollingsky/pay/OppPay$2$1.smali
&& & & & at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:75)
&& & & & at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:59)
&& & & & at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:36)
&& & & & at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:423)
&& & & & at brut.androlib.Androlib.buildSources(Androlib.java:354)
&& & & & at brut.androlib.Androlib.build(Androlib.java:310)
&& & & & at brut.androlib.Androlib.build(Androlib.java:267)
&& & & & at brut.apktool.Main.cmdBuild(Main.java:230)
&& & & & at brut.apktool.Main.main(Main.java:83)
APK 编译失败,无法继续下一步签名!
老大 有空请回复一下!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
为什么我会出现“APK 编译失败,无法继续下一步签名,”不修改源代码也提示这句话。
删掉重新反编译一次,更新apktool,可以试一下。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
当前 Apktool 使用版本:Android Killer Default APKTOOL
正在编译 APK,请稍等...
&I: 使用 ShakaApktool 2.0.0-
&I: 编译 smali 到 classes.dex...
&I: 正在编译资源...
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\abc_list_divider_mtrl_alpha.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_normal.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_normal_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_low_normal.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_low_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_normal.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\abc_list_divider_mtrl_alpha.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\abc_list_divider_mtrl_alpha.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_low_normal.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_low_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xxhdpi-v4\abc_list_divider_mtrl_alpha.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_low_normal.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-xhdpi-v4\notification_bg_normal_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_low_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-hdpi-v4\notification_bg_normal_pressed.9.png
&W: Found exception png file : F:\Android killer\android killer\projects\jwxdxnx02\Project\res\drawable-mdpi-v4\notification_bg_normal.9.png
&F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v23\styles.xml:9: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'.
&F:\Android killer\android kille'.
&F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v23\styles.xml:9: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/WindowTitleBackground'.
&F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v24\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.DropDownUp'.
&F:\Android killer\android killer\projects\jwxdxnx02\Project\res\values-v24\styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Animation.DropDownDown'.
&& & & & at com.rover12421.shaka.a.b.g.a(Unknown Source)
&& & & & at b.a.d.a.a(Unknown Source)
&& & & & at b.a.a.b(Unknown Source)
&& & & & at b.a.a.a(Unknown Source)
&& & & & at b.a.a.e(Unknown Source)
&& & & & at b.a.a.a(Unknown Source)
&& & & & at b.b.a.b(Unknown Source)
&& & & & at b.b.a.a(Unknown Source)
&& & & & at com.rover12421.shaka.cli.Main.main(Unknown Source)
&Caused by: b.a.D: b.c.a: could not exec command: [C:\Users\May name is Wan\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, -F, C:\Windows\TEMP\APKTOOL0362536.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\May name is Wan\apktool\framework\1.apk, -S, F:\Android killer\android killer\projects\jwxdxnx02\Project\res, -M, F:\Android killer\android killer\projects\jwxdxnx02\Project\AndroidManifest.xml]
&& & & & at b.a.d.a.a(Unknown Source)
&& & & & at b.a.d.l.a(Unknown Source)
&& & & & at org.c.b.b.c.a(Unknown Source)
&& & & & ... 9 more
&Caused by: b.c.a: could not exec command: [C:\Users\May name is Wan\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 16, --target-sdk-version, 26, --version-code, 1, --version-name, 1.0, -F, C:\Windows\TEMP\APKTOOL0362536.tmp, -0, resources.arsc, -0, arsc, -I, C:\Users\May name is Wan\apktool\framework\1.apk, -S, F:\Android killer\android killer\projects\jwxdxnx02\Project\res, -M, F:\Android killer\android killer\projects\jwxdxnx02\Project\AndroidManifest.xml]
&& & & & at b.e.i.a(Unknown Source)
&& & & & ... 12 more
APK 编译失败,无法继续下一步签名!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
很详细的教程,先收藏以后研究研究
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
强势围观一波
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
smail讲解很详细,支持楼主
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
不错啊。适合新手入门啊、!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
看着头疼!!!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
可以&&继续加油
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
等了好久了,终于更新了。
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
谢谢楼主分享,很全面的教程,学习学习
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.

我要回帖

更多关于 killer网卡 的文章

 

随机推荐