首页
社区
课程
招聘
[已解决] Go 二进制逆向 1000.00雪花
发表于: 2021-10-25 15:22 10402

[已解决] Go 二进制逆向 1000.00雪花

2021-10-25 15:22
10402

任务类别:逆向工程(GO 二进制逆向)

一个二进制app,一个app配置文件。

如何运行:
在Linux环境中运行。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2021-12-27 16:47 被xdc.ink编辑 ,原因: 3
收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 236
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么不给我审核?
2021-10-26 10:40
1
雪    币: 1644
活跃值: (824)
能力值: ( LV10,RANK:161 )
在线值:
发帖
回帖
粉丝
3

需求的2个算法如下:


需求算法1、app 生成Redis 存储时候的Key(UUID)的算法:HMAC-SHA256 + Argon2

Key(UUID)根据input由以下算法计算得来:


    input := []byte("SUNhbkhhelVuaWNvcm40LXdzLWF1cy1kYXkyPy05OTkz")

    mac := hmac.New(sha256.New, []byte("NotASecret"))
    mac.Write(input)
    encoded := base64.StdEncoding.EncodeToString(mac.Sum(nil))

    output, err := argon2.Key([]byte(encoded), []byte("NotAnotherSecret"), 3, 4, 4096, 32, argon2.Argon2i)
    if err != nil {
        fmt.Println(err)
        return
    }
    encarg := hex.EncodeToString(output)

    u1 := uuid.UUID{}
    u1.UnmarshalText([]byte(encarg)[:32])
    fmt.Printf("Key UUID = %s\n\n", u1)



需求算法2、app 返回值中 Status的算法:PBKDF2

返回值中 Status根据返回值中的Result由以下算法计算得来:

    result := []byte("VajVgtoR/hDgfac6qVeGMrzjMbVuVyJzFjA58iKtag==")

    status := pbkdf2.Key(result, []byte("ws-aus-day2"), 2, 32, sha256.New)
    fmt.Printf("Status = %s\n", hex.EncodeToString(status))



完整测试Go源程序

//usr/bin/env go run $0 "$@"; exit
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
    "crypto/hmac"
    "crypto/sha256"
    "github.com/pzduniak/argon2"
    "github.com/satori/go.uuid"
    "golang.org/x/crypto/pbkdf2"
)

func main() {
    input := []byte("SUNhbkhhelVuaWNvcm40LXdzLWF1cy1kYXkyPy05OTkz")

    mac := hmac.New(sha256.New, []byte("NotASecret"))
    mac.Write(input)
    encoded := base64.StdEncoding.EncodeToString(mac.Sum(nil))

    output, err := argon2.Key([]byte(encoded), []byte("NotAnotherSecret"), 3, 4, 4096, 32, argon2.Argon2i)
    if err != nil {
        fmt.Println(err)
        return
    }
    encarg := hex.EncodeToString(output)

    u1 := uuid.UUID{}
    u1.UnmarshalText([]byte(encarg)[:32])
    fmt.Printf("Key UUID = %s\n\n", u1)



    result := []byte("VajVgtoR/hDgfac6qVeGMrzjMbVuVyJzFjA58iKtag==")

    status := pbkdf2.Key(result, []byte("ws-aus-day2"), 2, 32, sha256.New)
    fmt.Printf("Status = %s\n", hex.EncodeToString(status))
}


2021-10-30 23:10
1
雪    币: 2623
活跃值: (6336)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
moyiah 需求的2个算法如下:需求算法1、app 生成Redis 存储时候的Key(UUID)的算法:HMAC-SHA256 + Argon2Key(UUID)根据input由以下算法计算得来:&nbs ...
厉害
2021-10-31 00:07
0
雪    币: 236
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
moyiah 需求的2个算法如下:需求算法1、app 生成Redis 存储时候的Key(UUID)的算法:HMAC-SHA256 + Argon2Key(UUID)根据input由以下算法计算得来:&nbs ...
是否可以给个联系方式,聊聊细节?
2021-11-3 13:54
0
雪    币: 236
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
本人 QQ:1075821200
2021-11-3 14:04
0
雪    币: 2623
活跃值: (6336)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
xdc.ink 是否可以给个联系方式,聊聊细节?

没啥细节,只要能通过IDA还原函数名也搞过go开发,那源码啥样大致都能清楚。





最后于 2021-11-4 06:26 被微启宇编辑 ,原因:
2021-11-4 06:19
0
雪    币: 236
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
爱我佳鑫 xdc.ink 是否可以给个联系方式,聊聊细节? 没啥细节,只要能通过IDA还原函数名也搞过go开发,那源码啥样大致都能清楚。
,能否加一下我呢?
2021-11-5 09:29
0
游客
登录 | 注册 方可回帖
返回
//