суббота, 3 ноября 2012 г.

Прошел игру natas

Прошел игру NATAS от OVERTHEWIRE =)
Первые уровни простые.
понравились уровни с подбором =)

natas9:sQ6DKR8ICwqDMTd48lQlJfbF1q9B3edT
natas10:s09byvi8880wqhbnonMFMW8byCojm8eA
natas11:SUIRtXqbB3tWzTOgTAX2t8UfMbYKrgp6
natas12:sh7DrWKtb8xw9PIMkh8OQsgno6iZnJQu
natas13:IGCXqS4x472aoHZYaidvmeoWj2GmuRYz
natas14:sSkCeug1bdrYejzAaBhgwI3qJXDKqlgh
natas15:m2azll7JH6HS8Ay3SOjG3AGGlDGTJSTV
natas16:3VfCzgaWjEAcmCQphiEPoXi9HtlmVr3L
natas17:9HBzt5ljtPAgmaYvNfZ8chZVq50oepsx

понедельник, 9 июля 2012 г.

Автоматизация в IDA

При разборе чужого кода в IDA периодически приходится выполнять ряд повторяющихся действий.
Для автоматизации процесса можно использовать встроенный интерпретатор idc:
File -> IDC command... (Shift + F2)

Для удобства можно добавить комбинацию клавиш на повтор последней команды:

AddHotkey("Shift-I", "___idc0");

После добавления комбинации можно описать тело автоматизации.

Например для обработки null-terminated строк идущих подряд:


MakeStr(ScreenEA(),BADADDR);//создать null-terminated строку в текущем положении курсора
Jump(FindUnexplored(ScreenEA(),1));//перейти к следующему не определенному полю.


вторник, 17 января 2012 г.

Прошел тест на воинское звание на сайте минобороны =)
с результатом можно ознакомиться ниже

Оптимальное копирование из Recordset в TStrings

При работе с ADO компонентами часто возникает необходимость копирования данных из Recordset в структуры, которые в дальнейшем используются в программе. Такими структурами могут быть объекты определенного класса, массивы записей, всякого рода списки и т.п.
О том как скопировать данные с наименьшими затратами я опишу далее.