代码改变世界

随笔分类 -  逆向

【老马识途】自己写二进制代码并执行

2014-03-18 00:58 by 撞破南墙, 1656 阅读, 收藏, 编辑
摘要: 1.1 自己构建二进制代码并跳转执行该段代码实现的功能是对某个变量赋值。思路:自己分配一片内存在其中写入机器码。Jmp过去执行,执行完再jmp回来。定位用“标签:”的方式1.1.1 赋值猜测C745表示movF8指向ebp-8的位置EC指向ebp-147B000000表示123再看一段代码突然想到我要赋值的是全局变量,而以上是局部变量的做法。34: gi=1;002E355EC70500702E0001000000movdwordptrds:[002E7000h],1Mov是C705Gi的地址00702E00立即数01000000所以格式为MovGi2C705&gi020000002位 阅读全文

老马识途-习题-1.1-1.3

2014-03-18 00:57 by 撞破南墙, 614 阅读, 收藏, 编辑
摘要: 1.1.1 分析多维数组的结构和寻址方式 因为之前就知道了答案,所以只用验证即可。 多维数组的结构C语言的表示的形式如下A[a1][a2] A[2][3] 00(11) 01(22) 02(33) 10(44) 11(55) 12(66) 其实际为线性布局, 00 01 02 10 11 12 A[X][Y] 寻址方式=A的基址+X*a2+Y 其中三维类比于立... 阅读全文