新手写的easyvm
学习vm保护的时候,模仿大佬源码写的vm,非常非常简单的一个程序, 被编译优化的,都看不出是vm保护了直接把
008013B0 jnz 0080132F
给NOP掉就行了,或者把0080132F mov edx,0x803144
改成0080132F jmp 008613B6
都是爆破的方法:)
本帖最后由 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。 有无你学习vm时候的资料啊 分享一下呗 万事开头难,支持一下。 Dyingchen 发表于 2020-9-4 01:35
有无你学习vm时候的资料啊 分享一下呗
https://www.dazhuanlan.com/2019/12/12/5df177cc78180/ 我就是对着这里面的源码写的 tbloy 发表于 2020-9-4 03:37
万事开头难,支持一下。
万事开头难,然后中间难,最后最后难。 咋也不知道,咋也看不懂 共同学习,一起进步。 直接走下去就破解了哈哈:lol
页:
[1]
2