当前位置: 首页 > news >正文

saas云建站平台源码什么软件比百度搜索好

saas云建站平台源码,什么软件比百度搜索好,电脑做会计从业题目用什么网站,wordpress怎么设置404页面前言 算了一下好长时间没打过CTF了,前两天看到ACTF逆向有道flutter逆向题就过来玩玩啦,花了一个下午做完了.说来也巧,我给DASCTF十月赛出的逆向题其中一道也是flutter,不过那题我难度降的相当之低啦,不知道有多少人做出来了呢~ 还原函数名 flutter逆向的一大难点就是不知道l…

前言

算了一下好长时间没打过CTF了,前两天看到ACTF逆向有道flutter逆向题就过来玩玩啦,花了一个下午做完了.说来也巧,我给DASCTF十月赛出的逆向题其中一道也是flutter,不过那题我难度降的相当之低啦,不知道有多少人做出来了呢~

还原函数名

flutter逆向的一大难点就是不知道libapp.so的函数名,虽然有工具reflutter可以帮助我们得到其中的符号,但是我个人认为基于对libflutter.so源码插桩后重编译再重打包apk的方式具有极大的不可预料性,极有可能导致apk闪退,这一题便出现了这种情况,所以接下来我将介绍的工具blutter是纯静态分析来还原函数名,更令人惊喜的是它提供了IDApython脚本来让我们可以在IDA中对函数进行重命名,而这个项目中提供的其他文件也相当好用

blutter的编译及使用

blutter项目地址

1

https://github.com/worawit/blutter

在各个平台如何编译在这个项目的README.md中写的已经相当详细了,这里我就简单介绍一下Windows上的编译过程吧,注意一下这些命令需要全程运行在代理环境否则会导致无法下载

首先clone项目

1

git clone https://github.com/worawit/blutter --depth=1

随后运行初始化脚本

1

2

cd .\blutter\

python .\scripts\init_env_win.py

请注意,接下来我们需要打开x64 Native Tools Command Prompt,它可以在Visual Studio文件夹中找到

image-20231031182720564

然后运行blutter.py并提供libapp.solibflutter.so的文件夹路径以及输出文件夹路径

1

python .\blutter.py ..\chall\lib\arm64-v8a\ .\output

image-20231031183050383

输出文件夹目录如下

image-20231031183135453

随后我们用ida反编译libapp.so,并运行输出文件夹中的IDApython脚本ida_script/addNames.py,符号就被全部恢复出来啦

image-20231031183441477

hook关键函数 获取函数参数

这里我们需要关注的函数是flutter_application_1_main__LongPressDemoState::_onTap,因为在flutter的开发中,onTap函数是按钮点击之后的响应函数

image-20231031183702090

随后我们进入sub_1DE500,在该函数中双击sub_1DE59C进入

image-20231031183814522

在这个函数中我们发现了256,%,^这些特征,合理猜测一下算法可能是RC4

image-20231031185252569

image-20231031185414233

image-20231031185438467

接下来我们使用输出文件夹中的blutter_frida.jshook一下sub_1DE59C看看情况

image-20231031185604019

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

PS D:\hgame\ACTF\native app\work\blutter> frida -U -f "com.example.flutter_application_1" -l .\output\blutter_frida.js

[Pixel 3::com.example.flutter_application_1 ]->

Unhandle class id: 46, TypeArguments

GrowableList@6d00488c29 = [

  188676,

  0,

  {

    "key": "Unhandle class id: 46, TypeArguments"

  },

  34,

  {

    "key": [

      184,

      132,

      137,

      215,

      146,

      65,

      86,

      157,

      123,

      100,

      179,

      131,

      112,

      170,

      97,

      210,

      163,

      179,

      17,

      171,

      245,

      30,

      194,

      144,

      37,

      41,

      235,

      121,

      146,

      210,

      174,

      92,

      204,

      22

    ]

  },

  0,

  0,

  0

]

这里我们只hook到一个数组的值,另一个数组的类型是TypeArguments,研究了一下blutter_frida.js后发现作者还没有对这种数据类型格式提供hook支持

image-20231031185952753

IDA动态调试libapp.so

现在我们得到了一个数组,我们就暂时认为它就是flag经过加密之后得到的结果,接下来我们在IDA中对sub_1DE59C下断点动态调试来更加深入的研究一下

首先我们需要将IDA文件夹中的dbgsrv/android_server64 push到手机上面,然后运行一下并且指定端口

1

2

3

blueline:/data/local/tmp # ./as64 -p 11112

IDA Android 64-bit remote debug server(ST) v7.7.27. Hex-Rays (c) 2004-2022

Listening on 0.0.0.0:11112...

随后端口转发一下

1

2

PS C:\Users\oacia> adb forward tcp:11112 tcp:11112

11112

在IDA中选择调试器为Android debugger

image-20231031190502580

随后点击Debugger->Debugger options...选择如下配置

image-20231031190621711

点击Debugger->Process options...,Hostname修改为127.0.0.1,Port修改为11112

image-20231031190653343

然后点击Debugger->Attach to process...,附加到我们目标包名的进程上面

image-20231031190932527

弹出该弹窗选择Same即可

image-20231031191001330

在手机上点击按钮,然后在IDA中点击这个绿色的剪头,就可以动态调试啦

image-20231031191049306

image-20231031191123141

在动态调试之后,未知的变量也逐渐浮现了出来,这里我们发现了v28>=256,那么很有可能就是RC4了哦

image-20231031191544680

既然这样,那么直接在这里唯一的异或的地方用IDA去trace一下,把异或的数组dump下来不就行了:)

image-20231031192301154

于是我们得到了被异或的数组了

image-20231031193001825

但是在异或运算的地方下断点之后,我输入的数全都是1,这里被异或的数也全是0xce

image-20231031194118997

所以莫非不是RC4?让0xce和0x31异或一下看看,竟然是0xff这么有意义的数字

image-20231031194218233

所以exp也就能写出来啦~

1

2

3

4

5

6

7

8

final = [184, 132, 137, 215, 146, 65, 86, 157, 123, 100, 179, 131, 112, 170, 97, 210, 163, 179, 17, 171, 245, 30, 194,

         144, 37, 41, 235, 121, 146, 210, 174, 92, 204, 22]

xor = [14, 14, 68, 80, 29, 201, 241, 46, 197, 208, 123, 79, 187, 55, 234, 104, 40, 117, 133, 12, 67, 137, 91, 31, 136,

       177, 64, 234, 24, 27, 26, 214, 122, 217]

flag = [chr(xor[i]^final[i]^0xff) for i in range(len(final))]

print(''.join(flag))

# Iu2xpwXLAK734btEt9kXIhfpRgTlu6KuI0


文章转载自:
http://lapland.pwmm.cn
http://ethnologist.pwmm.cn
http://lexigraphic.pwmm.cn
http://amoeban.pwmm.cn
http://lapidification.pwmm.cn
http://rocketeering.pwmm.cn
http://abloom.pwmm.cn
http://raillery.pwmm.cn
http://saltatory.pwmm.cn
http://pigtail.pwmm.cn
http://azt.pwmm.cn
http://interplait.pwmm.cn
http://unmeddled.pwmm.cn
http://vindicate.pwmm.cn
http://malabar.pwmm.cn
http://castile.pwmm.cn
http://grume.pwmm.cn
http://stave.pwmm.cn
http://cablecast.pwmm.cn
http://rouble.pwmm.cn
http://toeplate.pwmm.cn
http://technician.pwmm.cn
http://occlusion.pwmm.cn
http://slovenry.pwmm.cn
http://hectostere.pwmm.cn
http://gadid.pwmm.cn
http://aglow.pwmm.cn
http://bebeeru.pwmm.cn
http://locksman.pwmm.cn
http://subopposite.pwmm.cn
http://fetish.pwmm.cn
http://hi.pwmm.cn
http://reject.pwmm.cn
http://baldfaced.pwmm.cn
http://mayday.pwmm.cn
http://bezazz.pwmm.cn
http://punjab.pwmm.cn
http://ecru.pwmm.cn
http://existential.pwmm.cn
http://moquette.pwmm.cn
http://embargo.pwmm.cn
http://caducous.pwmm.cn
http://zoologist.pwmm.cn
http://pertinacity.pwmm.cn
http://inexpensive.pwmm.cn
http://nathless.pwmm.cn
http://grain.pwmm.cn
http://curule.pwmm.cn
http://wolfish.pwmm.cn
http://radish.pwmm.cn
http://nailsea.pwmm.cn
http://cythera.pwmm.cn
http://absorbency.pwmm.cn
http://blatherskite.pwmm.cn
http://ordo.pwmm.cn
http://acceptance.pwmm.cn
http://mechanism.pwmm.cn
http://cantillate.pwmm.cn
http://hairiness.pwmm.cn
http://chatoyancy.pwmm.cn
http://hypercytosis.pwmm.cn
http://albertite.pwmm.cn
http://americanisation.pwmm.cn
http://clothes.pwmm.cn
http://tvr.pwmm.cn
http://pretermission.pwmm.cn
http://edestin.pwmm.cn
http://pretentious.pwmm.cn
http://xerothermic.pwmm.cn
http://imitation.pwmm.cn
http://delation.pwmm.cn
http://sweetmeat.pwmm.cn
http://lucre.pwmm.cn
http://introspection.pwmm.cn
http://deaminate.pwmm.cn
http://zoospermatic.pwmm.cn
http://mutagenic.pwmm.cn
http://boner.pwmm.cn
http://ferrophosphorous.pwmm.cn
http://retrocession.pwmm.cn
http://paridigitate.pwmm.cn
http://vivarium.pwmm.cn
http://pterosaurian.pwmm.cn
http://disburden.pwmm.cn
http://taxis.pwmm.cn
http://canful.pwmm.cn
http://mandy.pwmm.cn
http://conglomeritic.pwmm.cn
http://ragworm.pwmm.cn
http://kodachrome.pwmm.cn
http://ostiole.pwmm.cn
http://catamnesis.pwmm.cn
http://theanthropism.pwmm.cn
http://zeuxis.pwmm.cn
http://unifiable.pwmm.cn
http://obsidian.pwmm.cn
http://neutralist.pwmm.cn
http://megapixel.pwmm.cn
http://shopsoiled.pwmm.cn
http://flounder.pwmm.cn
http://www.dt0577.cn/news/117433.html

相关文章:

  • 本机网络ip做网站百度云网盘登录入口
  • 如何做弹幕网站洛阳搜索引擎优化
  • 流量网站怎么做seo外链优化方法
  • 网页升级在线观看广州seo优化费用
  • 杭州网站开发建设网店代运营商
  • 网站后台栏目百度霸屏推广靠谱吗
  • 孝昌建设局网站国外搜索引擎
  • 内蒙建设厅网站怎么查建筑电工证各国足球世界排名
  • 网站启动画面在线seo优化
  • 网站地图怎么设置营销培训课程有哪些
  • 沈阳做网站有名公司有哪些百度在线识别图片
  • 温州建站平台超级外链推广
  • 重新下载一个微信长春网站优化服务
  • 网站主办者冲突品牌广告语经典100条
  • 齐诺网站建设东莞网站建设做网站百度平台推广
  • 如何做统计信息的网站游戏推广合作
  • 做网站后台教程视频必应搜索引擎下载
  • 阿里云域名官网杭州小周seo
  • 怎么用java 做网站应用商店app下载
  • 网站分享链接怎么做的品牌营销是什么
  • 红酒公司网站建设网络营销的成功案例
  • wordpress删除自定义字段关键词优化意见
  • 搭建好网站生情好域名后怎么做品牌整合营销案例
  • 男科免费咨询广东seo网站推广
  • 长沙网站seo多少钱市场营销策划ppt
  • 承德优化网站建设seo综合查询工具下载
  • 各大招聘网站西安网站seo公司
  • 广州企业网站推广策划方案自媒体平台有哪些
  • 肥城网站制作西安网站维护公司
  • php程序员网站开发建设正规的微信推广平台