当前位置: 首页> 财经> 股票 > reverse-android-实战喜马拉雅-ollvm

reverse-android-实战喜马拉雅-ollvm

时间:2025/7/11 22:38:57来源:https://blog.csdn.net/wuhualong1314/article/details/139785602 浏览次数:0次

 资料

1. apk: com.ximalaya.ting.android.apk. 2020年8月 可以使用

2. 

抓包分析

java层分析

so层分析

登录的算法so是在 liblogin_encrypt.so中。 32位的, 用 IDA打开,查看 静态的导出函数。

打开 一个

首先看到 IDA VIEW 是一个横向 比较多的分支, 可能就是被混淆过的。

我们先点击 TAB 进入 c语言的。

看到 FindClass(a,&unk_D010); 的参数是个 _偏移地址 的。 

点击进入偏移地址 查看函数或者数据, 也是密文。 基于以上3点, 判断混淆过了。

如果查看 这个加密 地址的数据, 可以 frida 去输出这个地址的 hexdump数据,可以看到解密的。

这样只能一个个解密看。

接下来通过 so dump 内存里面的 so, 完整的解密。

so dump 

function so_dump(so_name){console.log('so_name :',so_name+"\n");Java.perform(function(){var currentApplication = Java.use("android.app.ActivityThread").currentApplication();//so保存位置 /data/data/{package}/files/var dir = currentApplication.getApplicationContext().getFilesDir().getPath();send('dir: '+dir);var libso = Process.getModuleByName(so_name);send("[name]:"+ libso.name);send("[base]:"+ libso.base); //0x 地址send("[size]:"+ptr(libso.size)); // numbersend("so [path]:"+libso.path);// liblogin_encrypt.so_{baseaddr}_{sosize}let libname = libso.name+"_"+libso.base+"_"+ptr(libso.size)+".so";// 要输出so 保存的路径 var file_path = dir+"/"+libnamesend(' so dump file_path:'+file_path);var file = new File(file_path,"wb");if (file&& file!=null){Memory.protect(ptr(libso.base),libso.size,"rwx");var libso_buffer = ptr(libso.base).readByteArray(libso.size);file.write(libso_buffer);file.flush();file.close();send("[dump]: "+file_path);}function send(msg){console.log(msg+"\n");}})}//so_dump('liblogin_encrypt.so');
[Pixel 6::Ximalaya ]-> so_dump('liblogin_encrypt.so')
so_name : liblogin_encrypt.sodir: /data/user/0/com.ximalaya.ting.android/files[name]:liblogin_encrypt.so[base]:0x98ac1000[size]:0xe000so [path]:/data/app/~~Cmz1GTeSFB27zA99PXlbkg==/com.ximalaya.ting.android-XtpyLCFbUg5tpXqybmHW6Q==/lib/arm/liblogin_encrypt.soso dump file_path:/data/user/0/com.ximalaya.ting.android/files/liblogin_encrypt.so_0x98ac1000_0xe000.so[dump]: /data/user/0/com.ximalaya.ting.android/files/liblogin_encrypt.so_0x98ac1000_0xe000.so

复制到本地

cp /data/user/0/com.ximalaya.ting.android/files/liblogin_encrypt.so_0x98ac1000_0xe000.so /sdcard/adb pull /sdcard/liblogin_encrypt.so_0x98ac1000_0xe000.so ./

本地再打开 新的so。

关键字:reverse-android-实战喜马拉雅-ollvm

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: