吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5857|回复: 14
收起左侧

[Android 原创] Hyperpwn:基于gdb的调试利器,让你的调试过程更轻松

  [复制链接]
hanbinglengyue 发表于 2020-1-21 22:44

Hyperpwn:基于gdb的调试利器,让你的调试过程更轻松

一、Hyperpwn何许人也?

Hyperpwn是师弟开发的一款gdb调试工具的增强插件,入选了Kcon2019的九大神兵之一。我也在看雪的课程上已经给不少人做了使用和演示,相信已经有一些人对于Hyperpwn有了一定的了解。一直打算写一篇关于如何使用Hyperpwn进行android的动态调试的文章,结果由于很忙而拖到了现在。本篇文章也是再次为师弟打call,下面是在Kcon2019大会上的一些介绍:

kcon.PNG

kk.PNG

Hyperpwn在早期对android的gdb调试支持不够完善,导致了出现一些问题。后来在和师弟经过一些完善后,现在已经完美支持了NDK提供的gdb和gdbserver的远程调试功能。

Hyperpwn官方链接 Gayhub

这里以一张gif图来作为对Hyperpwn的开篇介绍吧

debug.gif
Hyperpwn是一个基于Hyper实现的gdb调试插件,用于改善调试过程的结果显示。Hyperpwn在前辈们的基础上更进一步,将调试过程中的gef、pwndbg、peda等调试插件的结果显示进行自动化窗口布局,从而让整个调试过程更人性化。
同时,Hyperpwn引入了调试状态记录功能,对动态调试过程中的每一个状态进行了保存,从而解决逆向调试人员使用手工记录每一个调试状态的寄存器信息、内存信息等内容的繁琐过程。在调试过程中只需要使用ctrl+shift+pageup快捷键便可以查看上一个调试状态信息,使用ctrl+shift+pagedown就可以查看下一个调试状态信息,非常的方便,从而真正做到解放双手。
具体的介绍和安装过程可以去gayhub查看。

二、使用Hyperpwn进行动态调试并脱壳的简单实践

1、将NDK中提供的gdbserver推送入手机,对应在NDK的目录:prebuilt/android-arm/gdbserver以及prebuilt/android-arm64/gdbserver
 adb push gdbserver /data/local/tmp,并给予可执行权限:chmod 777 /data/local/tmp/gdbserver
(这里要注意gdbserver的32位和64位的区别)
2、开启端口转发:adb forward tcp:1234 tcp:1234

3、以调试模式开启app,使用gdb-server附加app进程,首先使用ps命令获取待调试的app的进程id,/data/local/tmp/gdbserver :1234 --attach pid

4、接下来就可以使用Hyperpwn愉快的开始对app的debug了。(这里要注意需要使用ndk中提供的gdb,而不是系统的gdb),首先打开Hyper,然后cd到NDK中的gdb目录当中,然后执行./gdb,接下来就可以连接gdbserver进行远程调试了。

下面是一张在绕过某加固的前期的所有反调试后,可以很明显看到堆栈当前存放的解密后的dex在内存中的位置,此时只需要使用memory dump即可将当前dex所在的内存区域dump下来,便完成了对该加固app的简单脱壳。

gdb22.png

下面是使用jadx打开dump下来的dex的截图。

jadx.PNG    

三、好了,就到这里了,感兴趣的可以去gayhub按照安装和使用教程搭建环境体验。

免费评分

参与人数 4吾爱币 +10 热心值 +3 收起 理由
qtfreet00 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Victory.ms + 2 + 1 绝对要支持这种工具的诞生,真的是造福世界
_默默_ + 1 + 1 谢谢@Thanks!
Hoa + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

FleTime 发表于 2020-1-22 10:30
chenjingyes 发表于 2020-1-22 09:14
去这里看看   https://bbs.pediy.com/thread-257344.htm   应该看雪的才是原创???

可能楼主是原作者,在看雪发布后复制到了吾爱,然后图就没了。。。
havenow 发表于 2021-3-14 15:39
Hyperpwn 果然是神兵器 跪舔大佬
我这边遇到一个比较奇怪的问题 ,命中断点后,hyperpwnd没有将信息分别输出到code thread trace等窗口,全部集中在左下角的窗口里面
不知道有什么配置
FleTime 发表于 2020-1-21 23:31
abcde1224 发表于 2020-1-21 23:34
能在linux下调试单片机不
冰露㊣神 发表于 2020-1-21 23:59
我用过,还可以吧,就是内存占得有点高,我想扩展成od,然后发觉没好的文档扩展开发,就没搞了
Hmily 发表于 2020-1-22 00:04
@hanbinglengyue 图片都盗链了,上传论坛本地吧。
头像被屏蔽
iYolo丶Yudi 发表于 2020-1-22 08:05
提示: 作者被禁止或删除 内容自动屏蔽
chenjingyes 发表于 2020-1-22 09:14
FleTime 发表于 2020-1-21 23:31
图片都挂了。。。

去这里看看   https://bbs.pediy.com/thread-257344.htm   应该看雪的才是原创???
tan567421 发表于 2020-1-22 09:35
好厉害啊,还有吗 ???
tan567421 发表于 2020-1-22 09:59
好厉害啊,还有吗 ???
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 07:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表