首页 > 其他分享 >近期结合hgame心得体会

近期结合hgame心得体会

时间:2023-01-15 18:23:43浏览次数:34  
标签:心得体会 int hgame 结合 0x56 str wp v8 ida

结合官方wp和自己的做题情况,想写点东西 记录下。通过week1 的题目,以题代学,什么不会什么不懂就去学啥,也学到了不少东西

week1 re做了四题 官方wp里有些操作写的轻轻松松而自己却要花很多时间去学再去实践,可以 将里面的一些东西记下来

easyasm

从ida⾥直接复制出来的汇编,嫌看着丑可以⽤vscode打开,然后装个assembly插件就可以有代码⾼

亮(以后都可以这么干)

首先这里将str值入栈,计算了str的长度 ,而后

获取了str的地址

并且读取了str[i] 所以可以看出其核心是将str数组全部异或0x33

a=[0x5b,0x54,0x52,0x5e,0x56,0x48,0x44,0x56,0x5f,0x50,0x3,0x5e,0x56,0x6c,0x47,0x3

a=[0x5b,0x54,0x52,0x5e,0x56,0x48,0x44,0x56,0x5f,0x50,0x3,0x5e,0x56,0x6c,0x47,0x3,0x6c,0x41,0x56,0x6c,0x44,0x5c,0x41,0x2,0x57,0x12,0x4e]
 for i in a:
 print(chr(i^0x33,end="")


收获:

  1. 对python 中集合与列表的用法更了解
  2. 对chr ord hex的操作更了解
  3. 对汇编的操作和栈空间更加理解

easyenc

在ida中打开 能够分析出将读入的v10与0x32异或后-86与v5对比,其中有一些tips在官方wp中提到

如果看不出来scanf将flag读到了哪里,可以双击进入函数,再返回main(快捷键esc),再按一次F5,就能自动分析了,这种情况是因为ida的分析策略比较懒

然后可以通过更改数据类型简化分析

对其中的变量修改类型,对着要修改的变量按快捷键y,输入要改的变量类型;按n改变变量名。

然后是解密代码时候可以直接复制数组,在c语言里,可以不用管这些数据是如何转成char的

int main(){
   int v8[11];
   v8[0] = 167640836;
   v8[1] = 11596545;
   v8[2] = -1376779008;
   v8[3] = 85394951;
   v8[4] = 402462699;
   v8[5] = 32375274;
   v8[6] = -100290070;
   v8[7] = -1407778552;
   v8[8] = -34995732;
   v8[9] = 101123568;
   v8[10] = -7;
   char* p = v8;
   for (int i = 0; i < 41; i++){
     putchar((p[i] + 86) ^ 0x32);
   }
 }

收获:

  1. 熟悉ida操作
  2. 了解了高地址与低地址,大端序与小端序,数据存储
  3. c语言指针运用

encode

该题中能分析出对一个char拆成两个bit比较(后来看了官方wp得知为base16)。其中dword_403000里的密文是用int存储的,不懂的我直接一个一个的复制出来的。。。

在官方wp中通过快捷键y设置成int数组,然后再shift + E导出数据

收获:

  1. base16原理
  2. ida操作

a_cup_of_tea

这题自己能够读懂思路,但是没有做出来

是一题把delta改了的TEA算法 但说实话这题没弄明白,同样在xmmword的数据里没弄好

收获:

  1. ida中常用宏定义认识了不少(之后会总结)
  2. ida操作熟悉

标签:心得体会,int,hgame,结合,0x56,str,wp,v8,ida
From: https://www.cnblogs.com/fallrain/p/17053872.html

相关文章

  • 图文结合带你搞懂MySQL日志之relay log(中继日志)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:KAiTO文章来源:GreatSQL社区原创什么......
  • dockerfile 将自己的nodeapi项目结合指定版本node环境打包生成全新的mynodeapi镜像
    用过宝塔或手动部署node-api项目就知道有多少时候是因为生产环境上node的版本与我们提交的node版本过高或过低导致无法运行的这几天玩docker随便把我原先的项目尝试打包......
  • HGAME 2023 WP week1
    WEEK1webClassicChildhoodGame一眼顶真,直接翻js文件,在Events.js中找到mota(),猜测是获取flag,vara=['\x59\x55\x64\x6b\x61\x47\x4a\x58\x56\x6a\x64\x61\x62\x46\x......
  • 【Mongodb结合springboot 01】
    一、简介1、什么是MongoDBc++语言编写的,是一个基于分布式文件存储的开源数据库系统;为web应用提供可扩展的高性能数据存储解决方案;MongoDB将数据存储为一个文档,数据结构......
  • echarts柏拉图,柱状图和折线图结合使用,双纵坐标轴展示
    效果如图:          //柏拉图分析lineOption2:{tooltip:{trigger:'axis',axisPointer:{......
  • libevent 结合 pthread-win32 在windows 平台上的使用
    libevent结合pthread-win32在windows平台上的使用libevent在windows平台上的使用,大致过程是:1)WSAStartup2)evthread_use_windows_threads3)event_base_new4)WSACleanup其......
  • MSSQL结合RBCD提权
    MSSQL结合RBCD提权原理这里使用中继的方式给他中继到ldap中去添加msDS-AllowedToActOnBehalfOfOtherIdentity属性。默认域控的ms-DS-MachineAccountQuota属性设置允许所......
  • pm2与go的完美结合(转)
    最近用go语言重写了一个node的小项目,因为并发量大到两台node也只能勉强扛住的地步,顺便说一下,pm2的cluster模式在极高的并发量下其实不行,不知道为什么,后来用fork模式+node原......
  • prometheus 结合 Alertmanager 实现告警通知
      Alertmanager   prometheus-server触发一条告警的过程:   prometheus--->触发阈值--->超出持续时间--->alertmanager--->分组|抑制|静默--->媒体类型--->邮件|......
  • gin框架中结合cron实现定时任务执行
    gin框架中结合cron实现定时任务执行背景:一个hr管理系统中,需要每日定时处理员工离职操作,需要每天定时执行删除账号等操作,在这使用定时任务比较方便,比如每天晚21点执行实现......