Сейчас на форуме: Rio, -Sanchez-, artyavmu, CDK123, sashalogout (+8 невидимых)

 eXeL@B —› Софт, инструменты —› IDA Plugins CodeDoctor (IDA) 0.90
Посл.ответ Сообщение

Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 09 февраля 2010 10:23 · Поправил: -=Hellsing=-
· Личное сообщение · #1

Author: Hnedka

Description:

Functions:

1) Deobfuscate

Select instructions in disasm window and execute this command. It will try to clear the code from junk instructions.

Example:

Original:
Code:
  1. 00874372 57 PUSH EDI
  2. 00874373 BF 352AAF6A MOV EDI,6AAF2A35
  3. 00874378 81E7 0D152A41 AND EDI,412A150D
  4. 0087437E 81F7 01002A40 XOR EDI,402A0001
  5. 00874384 01FB ADD EBX,EDI
  6. 00874386 5F POP EDI


Deobfuscated:
Code:
  1. 00874372 83C3 04 ADD EBX,4

________________________________________________________

2) Deobfuscate - Single Step

This works like previous command, but does one transformation at a time
_______________________________________________________

3) Move NOPs to bottom

Converts this:

Code:
  1. 00874396 50 PUSH EAX
  2. 00874397 90 NOP
  3. 00874398 90 NOP
  4. 00874399 52 PUSH EDX
  5. 0087439A BA 3F976B00 MOV EDX,somesoft.006B973F
  6. 0087439F 90 NOP
  7. 008743A0 90 NOP
  8. 008743A1 90 NOP


to this:

Code:
  1. 00874396 50 PUSH EAX
  2. 00874397 52 PUSH EDX
  3. 00874398 BA 3F976B00 MOV EDX,somesoft.006B973F
  4. 0087439D 90 NOP
  5. 0087439E 90 NOP
  6. 0087439F 90 NOP
  7. 008743A0 90 NOP
  8. 008743A1 90 NOP


Limitations: it breaks all jumps and calls pointing inwards
________________________________________________________

4) Undo / Redo

Undo or Redo last operation (from one of the above functions)
________________________________________________________

5) Retrieve Jumpy function

This will statically parse instructions and follow all jumps. This is useful for situations, when program jumps here and there and here and there... When it encounters some instruction, that can't be followed, it stop and copies all parsed instruction to an allocated place in memory.

Use settings to set some parameters:

Step over calls - if set, it will step over calls, otherwise it will follow them
Step over jccs - dtto, but for Jccs
Deobfuscate - it will deobfuscate instruction, when it encounters Jcc, RET, JMP reg/exp, CALL reg/exp; useful for multi-branch

Example:

Original:
Code:
  1. 00874389 /EB 05 JMP SHORT somesoft.00874390
  2. 0087438B |43 INC EBX
  3. 0087438C |41 INC ECX
  4. 0087438D |42 INC EDX
  5. 0087438E |EB 07 JMP SHORT somesoft.00874397
  6. 00874390 \B8 07000000 MOV EAX,7
  7. 00874395 ^ EB F4 JMP SHORT somesoft.0087438B
  8. 00874397 C3 RET


Result:
Code:
  1. 003B0000 B8 07000000 MOV EAX,7
  2. 003B0005 43 INC EBX
  3. 003B0006 41 INC ECX
  4. 003B0007 42 INC EDX
  5. 003B0008 C3 RET

________________________________________________________

6) Rebuild RSRC and Realign

This function has some limited use when unpacking. It opens the debugged file from disc. Then it retrieves all resources and rebuilds them to one place (currently it rebuilds them only to original place in exe). Then it realigns file and saves it under new name.

When is this useful? For example when unpacking aspack/asprotect or some other packers. These steal some resources from original place and put them to its own section, therefore increasing overall size and preventing you from cutting packer's section. It also prevents Resource hacker from displaying these resouces. This puts all resources to one place.

I'm sure there are better tools for this, but it may come handy sometimes.

--> CodeDoctor v0.90 <--




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 февраля 2010 11:13 · Поправил: Модератор
· Личное сообщение · #2

Баян. https://cracklab.ru/f/action=vthread&forum=3&topic=15312 отписал бы лучше сюда



Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 09 февраля 2010 11:42
· Личное сообщение · #3

Archer пишет:
Баян. https://cracklab.ru/f/action=vthread&forum=3&topic=15312 отписал бы лучше сюда


Согласен ==)

Дык... Поискам искал, прежде чем накатать эту тему, но он мне не что не выдал по запросу CodeDoctor....




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 февраля 2010 11:53
· Личное сообщение · #4

Ну косячит поиск, есть такое. Есть же там кнопарь, искать в гугле, его юзай.



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 09 февраля 2010 12:09
· Личное сообщение · #5

Archer пишет:
Ну косячит поиск, есть такое.

Вот не надо таких заявлений. Тыкните сначала в пример бага, а потом уже и говорите что косячит. Функционал у него маловат и написан с кривизной местами, это да. Но работает он всё же исправно.

https://www.exelab.ru/f/action=search&searchFor=CodeDoctor&searchWhere=0&searchHow=0&days=365


 eXeL@B —› Софт, инструменты —› IDA Plugins CodeDoctor (IDA) 0.90
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати