m1n9yu3 发表于 2020-8-12 16:35

新手写的 crackme

几个月前写的, 现在对着代码 都看不懂了,想看看论坛的大牛, 多久能逆出算法,没有加壳,本地的验证

solly 发表于 2020-8-13 10:48

本帖最后由 solly 于 2020-8-13 10:59 编辑

flag: 2484524302484524302

#include <iostream>

int main(int argc, char** argv) {
      char char1[] = ")(*&^%489$!057@#><:2163qwe";
      char char2[] = "/..v4p$$!>Y59-";
      
      unsigned long long flag = 0;
      for(int i=0; i<14; i++) {
                char ch = char2 xor 0x07;
                for(int j=0; j<26; j++) {
                        if(ch == char1) {
                              flag = flag * 26 + j;
                        }
                }
      }
      printf("flag: %llu", flag);
      
      return 0;
}


WoShiXXX 发表于 2020-8-12 18:57

兄弟,成功截图能发下不{:301_997:}???

WoShiXXX 发表于 2020-8-12 19:16

本帖最后由 WoShiXXX 于 2020-8-12 19:19 编辑

扔x64dbg里,右键,搜索所有模块,字符串引用,有个成功和失败,成功的地址为00007FF7A58912E0,找到师傅再接再厉,双击,改成jmp 00007FF7A58912E0

找到可疑字符串了,但是输入进去会失败{:301_973:}

低调的菜鸡 发表于 2020-8-12 19:52

本帖最后由 低调的菜鸡 于 2020-8-12 20:06 编辑

终于遇到非易语言的了(惊喜!!),MessageboxW断点,回溯2层找到关键跳转。爆破得一半?

WoShiXXX 发表于 2020-8-12 19:59

低调的菜鸡 发表于 2020-8-12 19:52
终于遇到非易语言的了(惊喜!!),爆破已成功,正在逆算法
你的方法比我好,我只会jmp2333

低调的菜鸡 发表于 2020-8-12 20:02

WoShiXXX 发表于 2020-8-12 19:59
你的方法比我好,我只会jmp2333

额,里面留了好多层,64位汇编不是很熟练,难受。

m1n9yu3 发表于 2020-8-13 08:29

抱歉,没有带上成功截图, 新人,啥都不懂,

用python 写了一个 解密脚本, 这个数字是随便写的,没有任何意义.
``` python
#coding=utf-8
x = ')(*&^%489$!057@#><:2163qwe'
enkey = '..v4p$$!>Y59-'

# 加密函数
def encrypto(nums):
    l = ""
    while nums:
      c = x
      n = ord(c) ^ 7
      l+= chr(n)
      nums = nums//26
    print(l[::-1])

# 解密函数
def decrypto(s):
    l = []
    for i in s:
      index = x.find(chr(ord(i)^7))
      l.append(index)
    sum = 1
    for i in l:
      sum = sum*26+i
    print(sum)
```
我是看着源码写的,嘿嘿
最后祝大家玩的开心

xieyueyang 发表于 2020-8-13 09:50

你这方法挺好

涛行 发表于 2020-8-13 11:01

成功

C:\Users\Hasee\Desktop\1.jpg
页: [1] 2
查看完整版本: 新手写的 crackme