所有分类
  • 所有分类
  • 未分类

FRIDA算法加密RPC转发案例Demo

具体代码如下:

# -*- coding: UTF-8 -*-

from·fastapi import FastAPI
import uvicorn
import frida

jsCode = """

function hookTest(username, passward){
var result;
Java.perform(function(){

var time = new Date().getTime();
time = '1597582774344';

var string = Java.use('java.lang.String');
var signData = string.$new('equtype=ANDROID&loginImei=Android352689082129358&timeStamp=' +
time + '&userPwd=' + passward + '&username=' + username + '&key=sdlkjsdljf0j2fsjk');

var Utils = Java.use('com.dodonew.online.util.Utils');
var sign = Utils.md5(signData).toUpperCase();
console.log('sign: ', sign);

var encryptData = '{"equtype":"ANDROID","loginImei":"Android352689082129358","sign":"'+
sign +'","timeStamp":"'+ time +'","userPwd":"' + passward + '","username":"' + username + '"}';

var RequestUtil = Java.use('com.dodonew.online.http.RequestUtil');
var Encrypt = RequestUtil.encodeDesMap(encryptData, '65102933', '32028092');
console.log('Encrypt: ', Encrypt);
result = Encrypt;
});
return result;
}
rpc.exports = {
xiaobai: hookTest
};

""";

#调用frida脚本 链接多个设备
process = frida.get_device_manager().add_remote_device('192.168.1.11:27042').attach("com.dodonew.online")
script = process.create_script(jsCode)
print('[*] Running 小白')
script.load()

app = FastAPI()

@app.get("/get") #注意这里url上没有定义参数
async def getEchoApi(item_id, item_user, item_pass):
#fastapi会聪明的发现它不是URL参数,然后自动将他识别为param参数
#RPC远程调用
result = script.exports.xiaobai(item_user, item_pass)
return {"item_id": item_id, "item_retval": result}

if __name__ == '__main__':
uvicorn.run(app, port = 8080)

 

 
资源下载此资源仅限VIP下载,请先
网站客服Q;872672419
资源下载
下载价格VIP专享
仅限VIP下载
此资源购买后99天内可下载。网站客服Q;872672419

原文链接:http://baipiaozhong.xyz/272/,转载请注明出处。

0

评论0

站点公告

本站所有资源会员免费下载 下载或者购买纯属自愿 重要说明:本站不支持白嫖,购买后不支持退款! 对于特别基础的东西不提供技术支持,对于部分文章资源有权力拒绝技术支持 关闭公告即默认同意本站协议规定 最终解释归本站所有

免责声明

做视频的初衷是为了学习交流,是想让自己在分享过程中学习到更多的东西

本人发布的视频、环境、软件、脚本、文章、资料等,都只用于学习交流安全技术,请不要用于任何非法用途, 否则后果自付

显示验证码
没有账号? 注册  忘记密码?