m1n9yu3 发表于 2020-9-3 20:18

新手写的easyvm

学习vm保护的时候,模仿大佬源码写的vm,非常非常简单的一个程序, 被编译优化的,都看不出是vm保护了

cui_boran 发表于 2020-10-22 14:38

直接把
008013B0 jnz 0080132F
给NOP掉就行了,或者把0080132F mov edx,0x803144
改成0080132F jmp 008613B6
都是爆破的方法:)

solly 发表于 2020-9-4 02:23

本帖最后由 solly 于 2020-9-4 02:28 编辑

1ou_2r3_63

VM code:
F1 A0 (30 FC 18 00) 0A   (copy flag_ok[]({0x31,0x62,0x78,0x52,0x3F,0x7F,0x3E,0x52,0x3B,0x3E}) from 0x0018FC30, len = 0x0A)
F1 A3 05               (vm_reg2 = 0x05)
F1 A1                  (vm_reg0 = vm_reg4 ===> flag_ok)
F2                     (循环 vm_reg0[] ^ vm_reg2, 10 bytes)
F1 A4                  (vm_reg1 = vm_reg0)
F1 A0 (30 FE 18 00) 0A   (copy flag_input[] from 0x0018FE30, len = 0x0A)
F1 A3 08               (vm_reg2 = 0x08)
F1 A1                  (vm_reg0 = vm_reg4 ===> flah_input)
F2                     (循环 vm_reg0[] ^ vm_reg2, 10 bytes)
F5 0A                  (compare, len=0x0A, vm_reg0 == result)
F4                      (exit)

程序xor运算时,没有对第1个字符进行xor,不晓得是故意的还是BUG。

Dyingchen 发表于 2020-9-4 01:35

有无你学习vm时候的资料啊 分享一下呗

tbloy 发表于 2020-9-4 03:37

万事开头难,支持一下。

wangshaobo930 发表于 2020-9-4 08:08

m1n9yu3 发表于 2020-9-4 08:21

Dyingchen 发表于 2020-9-4 01:35
有无你学习vm时候的资料啊 分享一下呗

https://www.dazhuanlan.com/2019/12/12/5df177cc78180/   我就是对着这里面的源码写的

seattle^-^ 发表于 2020-9-4 11:07

tbloy 发表于 2020-9-4 03:37
万事开头难,支持一下。

万事开头难,然后中间难,最后最后难。

移情√似水 发表于 2020-9-4 15:59

咋也不知道,咋也看不懂

弗由 发表于 2020-9-5 18:34

共同学习,一起进步。

Django_537 发表于 2020-9-8 23:02

直接走下去就破解了哈哈:lol
页: [1] 2
查看完整版本: 新手写的easyvm