首页
社区
课程
招聘
[求助]新手求教有无调试smali的方法
2012-5-4 02:56 21009

[求助]新手求教有无调试smali的方法

2012-5-4 02:56
21009
什么都可以 命令行也行 只要可以调没有java源代码的程序就可以了 请指点一二
已经查了很多天的资料 苦于有些是英文 可能错过了一些关键的东西
特来求教 困扰了很久

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (16)
雪    币: 297
活跃值: (38)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
tashika 2012-5-4 03:13
2
0
已经有了原来... 当时搞了一下没搞成功 我得静下心来好好试试
http://bbs.pediy.com/showthread.php?t=141995
雪    币: 269
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
patapata 2012-5-9 22:38
3
0
apktools+Netbeans也可以
可以参考http://code.google.com/p/android-apktool/wiki/SmaliDebugging
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
crackdung 2012-5-10 07:55
4
0
靜態已經足夠了,除非你不懂計算機語言
雪    币: 166
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zphdt 2012-5-10 09:02
5
0
IDA 静态分析不错的,
雪    币: 297
活跃值: (38)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
tashika 2012-5-11 19:04
6
0
谢谢楼上各位 我也看到了 在youtube上有个视频
netbeans今天刚用 的确很不错啊 虽然要装个比较大的运行库

正在分析一个比较大的程序 而且名字都混淆了  用ida调了so 不过没找到要找的东西
对jni也不太熟 所以想调调看 可是呢 重新编译以后似乎会崩溃 再试试看吧
雪    币: 488
活跃值: (185)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
ZhWeir 6 2012-5-18 15:22
7
0
以前本来想写一篇apktools+Netbeans动态调试smali的文章,后来由于时间关系、另外似乎有些不稳定就没写了。有兴趣的可以尝试一下。
雪    币: 333
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
peterchen 2012-5-30 13:46
8
0
apktools+Netbeans从前没有成功过,老外的教程也看过。
不过关键东东没有相告
ZhWeir有空希望可以写一下...
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
smartholy 2012-6-16 23:44
9
0
关键是 -dj 参数是不存在的,请问您是如何做到调试的?
雪    币: 254
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小zxy 2012-10-31 16:22
10
0
按照视频中 是用dj参数 解压出的文件 是这样
public Main(){
        /*SMALI
        .locals 0
        .prologue
        .line 17
        invoke-direct{p0},Landroid/app/Activity;-><init>()V
        return-void
        */
}
可以支持 写java 和smali  难道linux下的apktools 有dj参数么?
雪    币: 333
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
peterchen 2012-10-31 17:50
11
0
dj这个参考公布的版本都没有,而且这玩意成功也没有几个人?而且都存在无法下中断
要不然都是一些无用值。
完整代码是这样:
package brut.t3

import brut.androlib.java.Apktool;

public class Main extends android.app.Activity
{
        @Apktool.SMALI("0")
        public Main() {
          /* SMALI
          .locals 0
          .prologue
          .line 17
          invoke direct {p0}, Landroid/app/Activity;-><init>()v

          return-void
          */

        }
        @Apktool.SMALI("1")
        public void onBtn1Click(android.view.view p1){
          /* SMALI
          .locals 2
          .prologue
          .line 27
          const-string v0, "Button1 clicked!"

          const/4 v1, 0x0
          
          invoke static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

          move-result-object v0

          invoke-virtual {v0}, Landroid/widget/Toast;->show()v

          .line 20
          return-void
          */

        }

        @Apktool.SAMLI("2")
        public void onBtn2click(android.view.view p1) {
          /* SMALI
          .locals 3
          .prologue
          .line 31
          const/4 v0, 0x0

          .local v0, 1:I
          :goto_0
          const/4 v1, 0x3

          if-ge v0, v1, :cond_0

          .line 32
          new-instance v1, Ljava/lang/StringBuilder;

          invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()v

          const-string v2, "Button2 clicked; #"

          invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

          move-result-object v1

          invoke-virual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

          move-result-object v1

          const/4 v2, 0x0

          invoke-static {p0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

          move-result-object v1

          invoke-virtual (v1), Landroid/widget/Toast;->show()v

          .line 31
          add-int/lit0 v0, v0, 0x1

          goto :goto_0

          .line 34
          :cond_0
          return-void
          */
        }

        @Apktool.SMALI("3")
        public void onCreate(android.os.Bundle p1){
                /* SMALI
                .locals 1
                .prologue
                .line 22
                invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)v

                .line 23
                const/high16 v0, 0x7f02

                invoke-virtual {p0, v0}, Lbrut/t3/Main;->setContentview(I)v

                .line 24
                return-void
                */
       
        }
}
@Apktool.SMALI("0")这玩意,应该就是
brut.androlib.java.Apktool进行解译....
没有dj这个方法,是无法像这个作者100%实现。放弃吧,本人为了这玩意尝试N多次。都是无法像他那样打印有用值,一直在系统内部API中...
雪    币: 254
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小zxy 2012-10-31 18:30
12
0
如果有dj参数的 话 反编译出来的代码 就可以 直接在里面写java代码
写smali代码 加log 应该是可以打出有用信息的
雪    币: 254
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小zxy 2012-10-31 18:32
13
0
[QUOTE=peterchen;1113949]dj这个参考公布的版本都没有,而且这玩意成功也没有几个人?而且都存在无法下中断
要不然都是一些无用值。
完整代码是这样:

完整代码 你怎么能弄到咧
雪    币: 333
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
peterchen 2012-11-6 12:40
14
0
晕,我是说apktool的视频测试完整代码。不是说smalidebugging中apktool完整代码,这些测试代码是通过看视频手打下来,而且你把这些代码放到ide中都会报@smali之类错误所以关键代码作者没有提供任何线索放弃吧...
雪    币: 507
活跃值: (120)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
鬼谷子c 1 2013-1-22 09:06
15
0
张大哥有空搞搞写下吧~~期待中~~
雪    币: 488
活跃值: (185)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
ZhWeir 6 2013-1-22 11:59
16
0
非虫版主的大作马上面世了。上面有讲到动态调试的,可以关注下~
雪    币: 224
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
zhoujiamur 1 2013-7-11 17:29
17
0
http://www.rover12421.com/2012/11/05/using-netbean-and-apktool-debugging-smali-code.html
游客
登录 | 注册 方可回帖
返回